第五章课后答案
顺序文件:就是在磁盘上的按顺序结构组织的文件,按逻辑文件记录本身的顺序在磁盘上按序存放在连续的块中。读取时也从第一个记录开始顺序进行,这样的文件组织就是顺序文件。在文件目录中要指出文件名,存放的起始块号和占用块数。
顺序文件的最大优点是存取速度快(可以连续访问)。而问题主要是存储空间利用率不高、输出文件时难以估计需要多少磁盘块、影响文件扩展。
2)链接文件:如果将逻辑文件中的各个逻辑记录任意存放到一些磁盘块中,再用指针把各个块按逻辑记录的顺序链接起来,在文件目录中只记录第一块的地址和最后一块的地址,读取时从第一块开始,根据每块中的指针访问到下一块直到最后一块,这种文件组织就是链接文件。
链接结构解决了顺序结构中的所有问题,所有空闲块都可以被利用,在顺序读取时效率较高但需要随机存取时效率低下(因为要从第一个记录开始读取查找)。此外,对于链接结构,也有一些问题要注意:由于块中要存放指针信息,因此一部分空间被占用;读出信息时要把指针信息分离出来;还要防止指针丢失或破坏造成的混乱,所以又要增加一些管理的信息。总之链式结构会使用于存放文件信息的空间减少。
3)索引文件:按索引方式组织的文件结构,文件的逻辑记录任意存放在磁盘中,通过一张“索引表”指示每个逻辑记录存放位置。访问时根据索引表中的项来查找磁盘中的记录,索引结构的文件既适合顺序存取记录,也可以方便地随机存取记录,并且容易实现记录的增删和插入,所以索引结构被广泛应用。
12、解释记录的成组和分解操作。采用这种技术有什么优点?
优点:提高主存空间利用率。
13、答案见下:
14、假定磁带的记录密度为每英寸800个字符,每一个逻辑记录长为160个字符,块与块之间的间隙为0.6英寸,现有1000个逻辑记录需要存储到磁带上,分别回答下列问题:
a.不采用成组操作时磁带空间的利用率
b.采用以5个逻辑记录为一组的成组操作时磁带空间的利用率。
c.为了使磁带空间的利用率大于50%,采用记录成组时其块因子至少为多少?
第 21 页 共 36 页
第五章课后答案
答:a.不采用成组操作时,磁带空间利用率为: (160×1000)/(160000+800×0.6×1000)=0.25=25% b.采用5个逻辑记录一组时,磁带空间利用率为: (160×1000)/(160000+800×0.6×1000/5)=62.5% c.设块因子为x,利用率为50%,则有得:
160000/(160000+480000/x)=0.5 解之得:x=3
即块因子至少为3才可以使磁带空间利用率大于50%。
15、16、答:
1) 100*8*8=6400块 2) 6400/32=200字
3) 块号=50*32+16=1616
柱面号=块号/柱面上的扇区数=1616/64=25 磁头号=1616d/8=2 扇区号=1616d%8=0
17、答:1569/510=3………39
在第3号记录,偏移量为39. 根据题意知第3号记录在80块。
18、答:
19、区分文件的保护和保密。
答:文件的保护是防止文件被破坏。文件的保密是防止不经文件拥有者授权而窃取文件。引起文件被破坏的原因有:硬件故障、软件失误和用户共享文件时的错误等。
20、 21、 22、
23、文件系统中为什么要设置“建立文件”、“打开文件”和“关闭文件”的操作?
答:文件系统把用户组织的逻辑文件按一定方式转换成物理文件存放到存储介质上,当用户需要文件时,文件系统又从存储介质上读出文件并把它转换成逻辑结构。如果没有“建立文件”的操作,就无法将逻辑文件转换成物理文件。而“打开文件”的作用是检索文件所在位置以及核对存取方式必须,“关闭文件”是核实是否为文件的建立者或打开者执行的操作,并对修改部分进行保存。这几个操作均是为了正确实现文件的按名存取。因此要设置这些操作。
24、如果用户要求读一个尚未打的文件时,文件系统怎样处理?
第 22 页 共 36 页
第五章课后答案
答:如果用户要求读一个尚未打的文件时,文件系统会提示用户先打开文件,有的系统为了方便用户,提供一种隐式使用文件的方法,允许用户不需先调用“打开文件”、“建立文件”和“关闭文件”文件的操作,而直接调用“读文件”或“写文件”的操作。当用户要“读文件”时,系统先做“打开文件”(文件已存在)或“建立文件”(文件不存在)的操作,再执行“读文件”操作。
25、文件系统能允许用户关闭一个不是自己打开或建立的文件吗?
答:“关闭文件”操作主要是核实只有文件的建立者或打开者才有权关闭文件。因此文件系统一般不允许别的用户来关闭一个不是自已打开的文件。
(可能有人说,不对,我打开一个文件,我妹妹就能把它关掉。这里的用户并不是指操作的人,而是指用户程序,比如我用word打开了一个文件,这时另一个程序如Excel程序如果来想关闭这个文件是不允许的。但是操作系统的文件系统可以来关闭各个用户打开的文件。)
26、 27、 28、 29、
30、unix进程打开文件表和系统打开文件表的作用是什么?
答:UNIX在整个系统运行期间维护一张系统打开文件表,每个用户进程有一张进程打开文件表,以实现对文件读写操作的动态管理。
一个文件可以被同一个进程或不同进程以相同或不同的路径同时打开,在请求打开时可以提出相同或不同的打开方式(只读、写、读写)。UNIX设置的系统打开文件表用于反映对被打开文件进程操作的动态信息。主要用于对文件的读写控制。
UNIX允许每个进程同时打开多个文件,但规定每个进程最多同时打开15个文件。UNIX为每个进程设置的进程打开文件表,其中的表项对应指向系统打开文件表中的一个表项。
31、 32、
33、UNIX怎样管理磁盘上的文件存储空间? (201004.35)
答: UNIX中的每一个文件系统的磁盘空间可以分成几个部分:包括引导块、超级块、索引节点区和文件存储区。
UNIX中可分配的磁盘空间有两类。索引结点区和存放文件的存储区。
对索引节点为区的管理:在索引节点餐中,每一块可用来存放一占;建立文件时,从中找到一个空闲块存放该文件的索引节点;删除文件时,置该文件的索引节点为空闲。
对文件存储区的管理:对文件存储区中的空闲块采用成组连接的方式管理每1000个空闲块为一组。 补充、假定某文件系统把文件存储到磁盘上采用链接结构,磁盘的分块大小为512字节,而逻辑记录的大小为250个字符。现有一个名为ABC的文件,共10个逻辑记录,回答下列问题: a.怎样才能有效地利用磁盘空间
b.画出文件ABC在磁盘上的链接结构(磁盘块号自定)
c.若用户要求读包含第 1425个字符的逻辑符号,请写出用户要求的主要工作步骤。
第 23 页 共 36 页
第五章课后答案
答:a.可以将两个记录成组写在一个磁盘块上,正好占用500个字符,余下的12个字符(每个字符一个字节,共12个字节)位置用来存放下一块的指针。这时的磁盘利用率为: 250*10/(512*5)=97.7%
b.如图所示:
c.文件系统完成用户要求的主要工作步骤是:
1)访问时首先计算出包含第1452个字符的逻辑记录是在第六个记录。从0开始的话记录号为5。
2)从文件目录中找到该文件第0号记录在磁盘上的物理块号3。 3)根据读到块中的指针指示依次读取下一块直到包括5号记录的块14。 4)把14号块中的内容读到主存缓冲区。
5)把主存缓冲区中的第2条记录读入用户作业区。这条记录就是用户所请求访问的记录。
第 24 页 共 36 页
第六章课后答案
第六章复习题P186
1、答:独占设备和可共享设备。 2、解释设备的绝对号和相对号。
答:设备绝对号:在设备管理中,计算机系统为每一台设备确定一个编号,以便区分和识别不同设备,这个编号称为设备的绝对号。而用户在程序中定义的设备号就是“设备相对号”。
3、用户程序中采用“设备类、相对号”的方式用来使用设备有什么优点?
答:用户程序中采用“设备类、相对号”的方式,使设备分配的适应性好,灵活性强: 1)系统只要从指定的设备类中找出一台“好的且未分配的”设备来进行分配即可。
2)如果分配给用户的设备在使用中出故障,则系统可以从同类设备中找出“好的且未分配”的另一台设备来替换。
4、解释“设备的独立性”。
答:用户程序中采用“设备类、相对号”方式使用设备时,用户编程就不必指定特定设备,在程序中由“设备类、相对号”定义逻辑设备。程序执行时由系统根据用户指定的逻辑设备转换成与其对应的具体物理设备。所以,用户编程时使用的设备与实际使用哪台设备无关,这就是“设备独立性”。
5、什么是设备的静态分配方式。
答:设备的静态分配是指当一个作业所需使用的独占设备能得到满足时,该作业才能被装入主存储器执行。此时该设备完全被分配给该作业占用,直到作业执行结束撤离时才收回这个设备。
6、启动磁盘执行一次输入输出操作花费的时间由哪几部分组成?
答:启动磁盘执行一次输入输出操作花费的时间由“寻找时间、延迟时间和传送时间”三部分时间组成。其中寻找时间是指磁头在移动臂带动下移动到指定术面所花的时间;延迟时间是指指定扇区旋转到磁头下所需的时间;传送时间是指由磁头进行读写完成信息传送的时间。
7、什么是磁盘的驱动调度?它包括哪两部分?总结对磁盘进行驱动调度的过程。
答:在多道程序设计系统中,同时有多个访问者请求磁盘操作,此时系统采用一定的调度策略来决定各等待访问者的执行次序,所以系统决定等待磁盘访问者的执行次序的工作就是磁盘的“驱动调度”。 磁盘调度分为移臂调度和旋转调度。根据访问者指定的柱面位置来决定执行次序的调度称“移臂调度”;当移动臂定位后,如有多个访问者等待访问该柱面时,根据延迟时间来决定执行次序的调度称为“旋转调度”。
8、假定某磁盘共有200个柱面,编号为0-199,如果在为访问143号柱面的请求者服务后,当前正在为访问125号柱面的请求服务,同时有若干请求者在等待服务,它们每次要访问的柱面号为
86,147,91,177,94,150,102,175,130 请回答下列问题:
a.分别用先来先服务算法,最短寻找时间优先算法、电梯调度算法和单各扫描算法来确定实际的服务次序。
b.按实际服务计算上述算法下移动臂需移动的距离。
答:a.先来先服务法:
(125-86)+(147-86)+(147-91)+(177-91)+(177-94)+(150-94)+(150-102)+(175-102)+(175-130)=547
最短寻找时间算法:
(130-125)+(147-130)+(150-147)+(175-150)+(177-175)+(177-102)+(102-94)+(94-91)+(91-86)=143
电梯调度算法:
(125-102)+(102-94)+(94-91)+(91-86)+(130-86)+(147-130)+(150-147)+(175-150)+(177-175)=130
b.实际服务算法是指单向扫描算法,在此算法下,移动距离是:
第 25 页 共 36 页