北工大操作系统作业合集

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第八次作业

基础作业

1. 假设一个磁盘驱动器有5000个柱面,从0到4999。驱动器正在为143的一个请求服务,且前面的一个请求在125。按照FIFO的顺序,即将到来的请求是86, 1470,913,1774,

948,1509,1022,1750,130。请按照FCFS SSTF SCAN LOOK C-SCAN C-LOOK 要满足队列中的服务要求磁头总的移动距离是多少。

143 86 1470 913 1774 948 1509 1022 1750 130

a. FCFS : 143, 86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130. 总寻道距离7081.

b. SSTF : 143, 130, 86, 913, 948, 1022, 1470, 1509, 1750, 1774.

总寻道距离1745.

c. SCAN : 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 130, 86.

总寻道距离9769.

d. LOOK:143, 913, 948, 1022, 1470, 1509, 1750, 1774, 130, 86.

总寻道距离3319.

e. C-SCAN : 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 0, 86, 130.

总寻道距离9813

f. C-LOOK : 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 86, 130.

总寻道距离3363.

2. 为什么文件分配的位图必须保存在大容量存储器中,而不是主存中?

答:因为如果保存在内存中,当系统崩溃时,这些空闲区间的信息将会被丢失,而如果保存

在大容量存储器中就可以解决这个问题。

3 •假设要为一个文件换一个名字。一种选择是使用操作系统提供的RENAME方法,另一种方法是:把文件复制为新文件,然后删除原来的文件以实现重命名。请问,这两种方法在实现上有什么不同?

答:RENAME方法是修改目录文件的文件名部分,而删除原来文件再重命名则需要再创立一

个新文件,目录文件中增加一项,分配新空间;删除目录文件中的文件项目,然后回收占用的空间。

4. 请解释使用索引节点有什么好处

答:减小目录文件的大小,提高查找文件的效率

5. 在UNIX中open系统调用绝对需要么?如果没有会产生什么结果。

答:如果没有open命令,那么每个read命令都需要确定要打开的文件名。系统必须找到文件的i 节点,虽然这个数据放入cache可以减少一些时间,但是当数据变化的时候,i节点的数据需要刷新到磁盘上。

6. UNIX系统中有关盘块的分配与释放是借助超级块中的栈来进行的。假如某个时刻系统状况如下图所示,若此时某个进程要删除文件A,并归还它所占用的盘块220,110, 645,549,176。请

s-nfree s-free[0]

97 199 786 278

说明过程,并给出删除完毕后有关数据及表目的更改情况。

786 278 80 230 110 645

7.

考虑一个索引节点所表示的 UNIX 文件的组织。假设有12个直接

块指针,在每个索引节

点中有一个单重、双重和三重间接指针。此外,假设系统块大小和磁盘扇区大小都是 8K ,

如果磁盘块指针是 32位,其中8位表示物理磁盘,24位表示物理块,那么 a •该系统支持的最大文件大小是多少? b •该系统支持的最大文件分区是多少?

c.假设主存中除了文件索引节点外没有其他信息,访问在位置 12423956中的字节需要多少

磁盘访问? 答:

a.

通过用块大小除以指针大小得到盘块指针的数目:

每块8K/4 = 2K

这样I节点可以支持的最大文件容量是:

12+2k+2k*2k+2k*2k*2k=(12+2K+4M+8G)*8K(块大小)=96KB + 16MB + 32GB + 64TB

直接寻址一级间接寻址二级间接寻址三级间接寻址

b. 在一个分区中识别一个块需要24位。所以:

*8K =16M*8K=128GB

c. 使用从⑻得到的信息,发现直接块只能表示96KB,而一次间接块表示16MB.题目中要求的请求位置在13M左右,使用一次间接块•就可以了。所以要用两次磁盘访问,一次访问一次间接块,另一次访问包含数据的盘块

第七次作业

1什么是设备无关性?

应用程序只按套路调用操作系统提供的功能即可,不关心实际的设备是什么,这就是与设备

无关性

2.以下各项工作由I/O软件的哪一层完成?

a. 为一个磁盘读操作计算磁道、扇区、磁头;设备驱动程序

b. 向设备寄存器写命令;中断处理程序

c. 检查用户是否允许使用设备;设备独立性软件

d. 将二进制整数转换成ASCII码以便打印硬件

3 •为什么在要打印的文件通常都假脱机输出到磁盘上?

答:达到缓冲的目的,实现提高I/O设备性能的目的。为了打印一个文件,一个进程首先要

生成需要打印的整个文件并把它放在假脱机目录里。由守护进程打印该目录下的文件,该进程是允许使用打印机设备文件的唯一进程。通过保护设备文件来防止用户直接使用,可以解决某些进程不必要地长期空占打印机的问题。

第六次作业

1假设页表在内存保存的分页系统,

a. 如果一次访问内存用200ns,那么访问一个页内的一次数据访问用多少时间?

b. 如果加入TLB,有75%的命中率,那么内存有效访问时间是多少?

a)访问一个页内数据需要访问两次内存,第一次访问内存中的页表,第二次根据页表中

的信息形成的物理地址访问内存访问数据,所以要用200*2=400ns

b)加入TLB,获得物理地址的过程为:先在TLB中查找,如果TLB中命中,则直接获得

物理地址,如果TLB中不存在,则去访问页表,所以需要的访问时间为0.25*200=50ns 总共需要的时间为50 ns+200ns=250ns

2.在一个虚拟存储管理系统中采用页式方法对内存空间进行管理,它有24位的虚拟地址

空间,而实际的物理地址空间是16位,页框大小为2k。假设有两个进程A和B。其中A进

程的0、2页已经调入到内存的2、3号页框;B进程的1、3页已经调入到内存的7、8号页

框。请问:A进程的虚拟地址12FF可以转换成什么物理地址?B进程的虚拟地址17BA可以

转换成什么物理地址?如果不能转换,操作系统会执行什么操作?

页框大小为2k=2A11,有11位的位移。

A进程:12FF=0001 0010 1111 1111 ,00010=2,A进程中2页调进3号框,因此物理地址为:0001 1010 1111 1111

B进程:17BA=0001 0111 1011 1010,在进程2中没有2号页,需要的页面不在内存时,请求调入所需的页面判断对错

如果缺页率太高,通常说明一个进程分得的页框太多了。

相关文档
最新文档