1、#1n某请求分页管理系统中,页表保存在内存器中。若有一个可用的空页或被置换的页未被修改,则它处理一个缺页中断需要8ms;若被置换的页已被修改,则处理一缺页中断因增加写回外存的时间而需要20ms,一次内存的存取时间为1ns。假设70%被置换的页被修改过,为保证有效访问时间不超过12ns,可接受的最大缺页率是多少?nn解:设缺页率为f,内存访问时间为tn 缺页中断处理的平均时间t1=8(1-70%)+2070%=16.4msn 有效访问时间=t+f(t1+t)+(1-f)t12n 所以:f1/1640000#2n已知一个采用LRU置换算法的请求分页存储管理系统中,页面大小为4KB,内存访问速度为1
2、00ns/次,快表访问速度为20ns/次,缺页中断处理时间是25ms/次。今有一长度为30KB的进程P进入系统,分配给P的存储块有3块,进程的所有页面都是在该进程运行中动态装入。若访问快表的命中率为20%,对应于下述页面访问序列:n 7、0、1、2、0、3、0、4、2、3、0、3、2、1、2、0、1、7、0、1n 计算20个页面的平均有效访问时间是多少?n解:访问这20个页面时缺页次数为12次,缺页率为f=12/20=60%,a为快表命中率,t为内存访问时间,t1为中断处理时间,为快表访问时间n EAT=(+t)a+(+t)0.4+(+t+t1)0.6+t(1-a)pipe(fd)int fd
3、2;1.分配一个内存分配一个内存inode,(i_count=2);2.分配分配2个个file表项表项(f_flag分别为分别为Pipe R和和Pipe W,读,读/写指针写指针 f_offset为为0)3.分配分配2个个u_ofile表项表项,分别指向分别指向2个个file表项;表项;4.返回返回2个文件描述符个文件描述符fd0,fd1,分别为分别为u_ofile中的中的2个入口。个入口。UNIX:创建管道文件:创建管道文件 i_addr i_count(2)f_flag(R pipe)f_offset(0)f_inodepf_count(1)f_flag(W pipe)f_offset(0
4、)f_inodepf_count(1)内存内存inode表表内存内存file表表fd0fd1u_ofile表表进程执行进程执行pipe(fd)之后之后 i_addr i_count(2)f_flag(R pipe)f_offset(0)f_inodepf_count(2)f_flag(W pipe)f_offset(0)f_inodepf_count(2)内存内存inode表表内存内存file表表fd0fd1u_ofile表表fork创建子进程创建子进程1之后之后fd0fd1父进程父进程:子进程子进程1:i_addr i_count(2)f_flag(R pipe)f_offset(0)f_i
5、nodepf_count(3)f_flag(W pipe)f_offset(0)f_inodepf_count(3)内存内存inode表表内存内存file表表fd0fd1u_ofile表表fork创建子进程创建子进程2之后之后fd0fd1父进程父进程:子进程子进程1:子进程子进程2:fd0fd1 i_addr i_count(2)f_flag(R pipe)f_offset(0)f_inodepf_count(2)f_flag(W pipe)f_offset(0)f_inodepf_count(2)内存内存inode表表内存内存file表表fd0fd1u_ofile表表父进程父进程close(
6、fd0),close(fd1)fd0fd1父进程父进程:子进程子进程1:子进程子进程2:fd0fd1 i_addr i_count(2)f_flag(R pipe)f_offset(0)f_inodepf_count(2)f_flag(W pipe)f_offset(0)f_inodepf_count(1)内存内存inode表表内存内存file表表fd0fd1u_ofile表表子进程子进程1(读者读者):close(fd1)fd0fd1父进程父进程:子进程子进程1:子进程子进程2:fd0fd1 i_addr i_count(2)f_flag(R pipe)f_offset(0)f_inodep
7、f_count(1)f_flag(W pipe)f_offset(0)f_inodepf_count(1)内存内存inode表表内存内存file表表fd0fd1u_ofile表表子进程子进程2(写者写者):close(fd0)fd0fd1父进程父进程:子进程子进程1:子进程子进程2:fd0fd1 i_addr i_count(2)f_flag(R pipe)f_offsetf_inodepf_count(1)f_flag(W pipe)f_offsetf_inodepf_count(1)内存内存inode表表内存内存file表表u_ofile表表子进程子进程2(写写):write(fd1,bu
8、f1,count1)子进程子进程1(读读):read(fd0,buf0,count0)父进程父进程:子进程子进程1:子进程子进程2:fd0fd1fd0fd1fd0fd1write(fd1,)read(fd0,)盘块(有缓冲)i_addr i_count(1)f_flag(R pipe)f_offsetf_inodepf_count(1)f_flag(W pipe)f_offsetf_inodepf_count(0)内存内存inode表表内存内存file表表u_ofile表表子进程子进程2(写完写完):close(fd1)父进程父进程:子进程子进程1:子进程子进程2:fd0fd1fd0fd1fd
9、0fd1close(fd1)read(fd0,)盘块(有缓冲)i_addr i_count(0)f_flag(R pipe)f_offsetf_inodepf_count(0)f_flag(W pipe)f_offsetf_inodepf_count(0)内存内存inode表表内存内存file表表u_ofile表表子进程子进程1(读完读完):close(fd0)父进程父进程:子进程子进程1:子进程子进程2:fd0fd1fd0fd1fd0fd1close(fd1)close(fd0)Pipe文件同步与互斥文件同步与互斥npipe读写同步读写同步n写满:写者等待,读出后唤醒写满:写者等待,读出后唤
10、醒n读空:读者等待,写入后唤醒读空:读者等待,写入后唤醒n读写关闭读写关闭n所有读者关闭所有读者关闭(没有读者没有读者):向管道写入:向管道写入数据没有意义,写时返回错误信号数据没有意义,写时返回错误信号n所有写者关闭所有写者关闭(没有写者没有写者):读者立即返:读者立即返回回n读写互斥读写互斥ni_flag|ILOCK(保证进程互斥使用管道保证进程互斥使用管道)管道通讯的局限性管道通讯的局限性n只有相关进程只有相关进程(同一家族进程同一家族进程)能通讯能通讯n先创建管道先创建管道n再创建子进程再创建子进程,子进程继承父进程打开的子进程继承父进程打开的文件文件(包括管道文件包括管道文件)n管道
11、是没有名字的文件管道是没有名字的文件n所有进程都关闭后即被撤销所有进程都关闭后即被撤销n设系统磁盘只有一个移动磁头,磁道由外向内编号为:0、1、2、199;磁头移动一个磁道所需时间为1毫秒;每个磁道有 16 个扇区;磁盘转速R=6000r/min.系统对磁盘设备的I/O请求采用冻结扫描(Freezing Scan,FSCAN)调度算法,每个请求读/写磁道上的1个扇区。假设磁头在由外向内的移动过程中、从20ms时刻开始,正处理服务队列中最后一个102磁道的I/O请求,并且在45ms时刻处理完该I/O请求。设有磁的I/O请求序列如下表所示:磁道:70,130,50,112,125,120,80,3
12、0,60,40,90,20,110到达时间:23,29,31,37,41,43,47,51,53,57,59,61,71问 题:写出给定I/O请求序列的调度序列,并计算磁头的移动量;对给定I/O请求序列,计算:总寻道时间(启动时间忽略)、总旋转延迟时间、总传输时间和总访问处理时间。解:(1)调度序列为(不包括括号内的磁道)(102)112120125130(199)7050(0)203040608090110磁头移动量=(112-102)+(120-112)+(125-120)+(130-125)+(199-130)+(199-70)+(70-50)+(50-0)+(20-0)+(30-20)
13、+(40-30)+(60-40)+(80-60)+(90-80)+(110-90)=10+8+5+5+69+129+20+50+20+10+10+20+20+10+20=406(磁道)(2)总寻道时间=1406=406(ms)一次访盘的旋转时间=1/(2R)=1/(26000/min)=1/(2(100/s)=0.005(秒)=5(ms)请求序列共13次访盘,总旋转延迟时间=513=65(ms)1次访盘的传输时间=1/(R16)=1/(6000/min)16)=10/16=0.625(ms)13次访盘总传输时间=0.62513=8.125(ms)总访盘处理时间=406+65+8.125=479
14、.125(ms)某文件系统空间的最大容量为4TB(1TB=B),以磁盘块为基本分配单位,磁盘块大小为1KB,文件控制块FCB包含一个512B的索引表区,请回答下列问题。1)假设索引表区仅采用直接索引结构,索引表保存文件所占用的磁盘快号,索引表项中块号占多少字节?可支持的单个文件最大长度是多少字节?2)假设索引表区采用如下结构:第0-7字节采用格式表示文件创建时预分配的连续存储空间。起始块号占6B,块数占2B,剩余504字节采用直接索引结构,一个索引项占6B,则可支持的单个文件最大长度是多少字节?为了使单个文件的长度达到最大,请指出起始块号和块数分别所占字节数的合理值并说明理由。402解:1)文
15、件系统所能容纳的磁盘块总数为4TB/1KB=,因此物理块的地址需要32位,所以索引项中块号最少占32/8=4B。当索引表区采用直接索引结构时,FCB中能容纳512/4=128个索引项,所以系统科支持的单个文件最大长度是128*1KB=128KB。2)由题知单个文件最大长度一共包含两个部分:预分配的连续空间和直接索引区。连续区块数占2B,共可以表示 个磁盘块,即 B。直接索引区共504/6=84项索引。所以系统可支持的单个文件最大长度是 KB+84KB。为了使单个文件的长度达到最大,应使连续区的块数字段表示的空间大小尽可能接近系统最大容量。分别设起始块号和块数分别占4B,这样起始块号可以寻址的范围是 个磁盘块,共4TB,块数字段可以表示最多 个磁盘块共4TB。162262162322322