




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章1. 操作系统的主要作用是(D )A 管理设备 B 提供操作命令 C 管理文件 D 为用户提供使用计算机的接口,管理计算机的资源2. 对外部输入的信息能在规定时限内处理完毕并作出迅速反应的操作系统称为(C )A 分时操作系统B 批处理操作系统C 实时操作系统D 多处理机操作系统3. 操作系统的基本特征是 并发性 、 共享性 、 虚拟性 、 异步性 。4. 什么是操作系统?操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序集合。第二章1 . 苹果桔子问题 桌上有一只盘子,每次只能存放一个水果。一家四口人各行其职,爸爸专向盘子中放苹果(apple)
2、,妈妈专向盘子中放桔子(orange),儿子专等吃盘子中的桔子,女儿专等吃盘子里的苹果。请用PV操作来实现四人之间的同步算法。答:记录型信号量解决苹果桔子问题,plate:semaphore; /* 盘子是否为空*/orange:semaphore; /* 盘子里有桔子 */apple:semaphore; /* 盘子里有苹果 */plate := 1; orange:= 0; /* 盘子里没有桔子 */apple:= 0; /* 盘子里没有苹果*/parbegin process father begin L1:P(plate);放苹果;V(apple);goto L1; end; proc
3、ess mother begin L2:P(plate);放桔子;V(orange);goto L2;end;process son begin L3:P(orange);取桔子;V(plate);吃桔子;goto L3; end;process daughter begin L4:P(apple);取苹果;V(plate);吃苹果;goto L4; end;parend2. 和尚取水问题寺庙里有老小和尚若干和一水缸,小和尚打水,老和尚饮水。水缸容积为10桶水,水取自同一水井,每次只容一个桶打水,桶的总数为3个,每次往水缸倒水和从水缸取水仅为一桶。答:Var mutex1, mutex2, e
4、mpty, full, count: semaphore;mutex1:=1; 代表可以用水井mutex2:=1;代表可以用水缸empty:=10; 水缸的容量full:=0; 水缸中的水量count:=3;水桶的个数process 小和尚: beginrepeatwait(empty);wait(count);wait(mutex1);从井中打水;signal(mutex1);wait(mutex2);送水入水缸;signal(mutex2);signal(count);signal(full);until false; endprocess 老和尚: begi
5、nrepeatwait(full);wait(count);wait(mutex2);从缸中取水;signal(mutex2);signal(empty);signal(count);until false; end3. 有一座东西方向的独木桥,用P,V操作实现:(1)每次只允许一个人过桥;(2)当独木桥上有行人时,同方向的行人可以连续过桥,相反方向的人必须等待。(3)当某一方向无人过桥时,另一方向的行人可以过桥。答:(1)设信号量 MUTEX=1 P (MUTEX) 过桥 V (MUTEX)
6、0;(2)设信号量: MUTEX=1 (东西方互斥) MD=1 (东向西使用计数变量互斥) MX=1 (西向东使用计数变量互斥)设整型变量: CD=0 (东向西的已上桥人数) CX=0 (西向东的已上
7、桥人数) 从东向西: P (MD) IF (CD=0) P (MUTEX) CD=CD+1 V (MD) 过桥 P (MD) CD=CD-1 IF (CD=0) V (MUTEX) V (MD) 从西向东: P (MX) IF (CX=0) P (MUTEX)
8、; CX=CX+1 V (MX) 过桥 P (MX) CX=CX-1 IF (CX=0) V (MUTEX) V (MX) (3) :从东向西的,和(2)相同;从西向东的和(1)相同。 4. 上图描述的生产者消费者问题中,如果其缓冲区部分为n个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。试重新描述生产过程和消费过程。答:设第i块缓冲区
9、的公用信号量为bufi,初值为1; 生产者进程的私用信号量为produce,初值为n; 消费者进程的私用信号量为consume,初值为0。 生产过程和消费过程描述如下: 生产过程: Begin P(produce) 选择一个空缓冲区i P(bufi) 送数据入缓冲区i V(consume) V(bufi) End 消费过程: Begin P(consume)
10、60; 选择一个满缓冲区i P(bufi) 取缓冲区i中的数据 V(produce) V(bufi) End 5. 若信号量的初值为2,当前值为-3,则表示有( )等待进程。 A 1个 B 2个 C 3个 D 5个6. 在操作系统中,(B )是竞争和分配计算机系统资源的基本单位。 A 程序 B 进程 C 作业 D 用户7. 下面哪一个不会引起进程创建(C ) A 用户登录 B 作业调度 C 设备分配 D 应用请求8. 进程和程序的本质区别是(B ) A 内存和外存
11、B 动态和静态特征 C共享和独占使用计算机资源 D顺序和非顺序执行机器指令 9. 在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。所谓临界区是(B ) A 一个缓冲区 B 一个数据区 C 一种同步机构 D 一段程序10. 在一辆公共汽车上,司机和售票员各行其职,司机负责开车和到站停车,售票员负责售票和开、关门,当售票员关好车门后,驾驶员才能继续开车行驶。用P、V操作实现司机与售票员之间的同步。答: 问题分析: 是一个进程同步互斥问题,两个主要点是 &
12、#160;1) 司机开车的时候,售票员不能开门,(这里体现的是进程的互斥问题)车停之后,由司机通知售票员开门(这里体现的是进程的同步问题); 2)车门开着的时候,司机不能开车,等售票员把车门关上之后,由售票员通知司机开车。同步信号量: driver:司机私有信号量,初为1;conductor:售票员私有信号量,初值为0; 初值的含义是售票员具有优先车门控制权。 semaphore
13、; sem_driver=0, sem_conductor=1; void driver() while (true) &
14、#160; p(sem_driver); start_bus();
15、; normal_driving();
16、; station_stop();
17、160; v(sem_conductor) void conductor() while
18、160; (true) p(sem_conduct
19、or); open_door();
20、160; shut_door(); &
21、#160; sell_ticket();
22、; v(sem_driver) void main() parbegin
23、0;(driver, conductor); 第三章1. 在一个有N个进程的单处理机系统中,有可能出现N个进程都被阻塞的情况。 ( )2. 系统处于不安全状态必然导致系统死锁。 ( × )3. 当一进程运行时,系统可基于某种原则,强行将其撇下,把处理机分配给其他进程,这种调度方式是(B )A非剥夺方式 B剥夺方式 C中断方式 D查询方式4. 在为多道程序所提供的可共享的系统资源不足时可能出现死锁。但是,不适当的(C )也可能产生死锁。A进程优先权 B资源的线
24、性分配 C进程推进顺序 D分配队列优先权5. 发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏(A )条件是不太实际的。A互斥 B不可抢占 C部分分配 D循环等待6. 在分时操作系统中,进程调度经常采用(C )算法。A先来先服务 B最高优先权 C时间片轮转 D随机7. (B )优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。A先来先服务 B静态 C动态 D短作业8. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是(B )选临界值,即发生死锁时刻,m个进程,每个进程需要n台机器,(n-1,n-1,n-1n-1)先给m个进
25、程依次分配 n-1台机器,之后这m台机器都去抢夺最后一台机器,进入死锁状态,则总得机器资源数目为:(n-1)*m+1 上面m=3, n=4代入得 10 A9 B10 C11 D129. 在下列解决死锁的方法中,属于死锁预防策略的是:(B )A银行家算法 B资源有序分配法 C死锁检测法 D资源分配图化简法10. 资源的按序分配策略可以破坏(D )条件。这样的话,所有进程资源的请求必须严格按照资源序号递增的次序提出,在所形成的资源分配图中不可能再出现环路,因而破坏了循环等待条件。A互斥使用资源 B占有且等待资源 C非抢占资源 D循环等待资源11. 进程的调度方式有两种,一种是
26、 剥夺方式 ,另一种是 非剥夺方式 在 先来先服务 调度算法中,按照进程进入就绪队列的先后次序来分配处理机。12. 死锁产生的必要条件有四个,即 互斥条件、请求和保持条件、不可剥夺条件、环路等待条件 。13. 银行家算法中,当一个进程提出的资源请求将导致系统从 安全状态 进入 不安全状态时,系统就拒绝它的资源请求。 14. 对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于 避免死锁 ,破坏环路等待条件是属于 预防死锁 ,而剥夺资源是 解除死锁 的基本方法。15. 为什么说多级反馈队列能较好的满足各类用户的需要?答:(1) 所有类型的作业都会在很短的时间
27、内启动,用户会获得响应; (2) 终端型用户作业、短批处理作业用户,能在较短的时间内完成; (3) 系统吞吐率高; (4) 长批处理作业,能够最终得到处理。16. 为什么说采用有序资源分配法不会产生死锁?答:为了便于说明,不妨设系统中有m类资源,n个进程,分别用R1,R2,Rm(1,2,m可看作资源编号)和P1,P2, Pn表示。根据有序资源分配法可知,进程申请资源时必须按照资源编号的升序进行,即任何进程在占有了Ri类资源后,再申请的资源Rj的编号j一定大于i。因此在任一时刻,系统中至少存在一个进程Pk,它占有了较高编号的资
28、源Rh,且它继续请求的资源必然是空闲的,因而Pk可以一直向前推进直至完成,当Pk运行完成后即会释放它占有的所有资源;在Pk完成之后,剩下的进程集合中同样会存在一个进程,它占有了较高编号的资源,且它继续请求的资源必然是空闲的,因而它可以一直向前推进直至完成;以此类推,所有进程均可运行完成,故不会发生死锁。 17. 某分时系统中的进程可能出现如下图所示的状态变化,回答下列问题:(1)根据图示,该系统采用的是什么进程调度策略?(2)指出图示中的每一个状态变化的原因。18. 在银行家算法中,若出现下述资源分配情况,试问:ProcessAllocationNeedAvailableP00032
29、00121622P110001750P213542356P303320652P400140656(1) 该状态是否安全?(2) 若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给他?答:(1) 该状态是安全的,这时可以找到一个安全序列:P0、P3、P4、P1、P2 设置两个向量工作向量work,它表示系统可提供给进程继续运行所需的各类资源数目,在执行算法开始时,work:= Available,finish,它表示系统是否有足够的资源分配给进程,使其运行完成。 所以对上述分配资源情况进行分析如下: ProcessAllo
30、cationNeed work work+Allocation finish P00032001216221654true P30332065216541986true P4001406561986199(10)true P110001750199(10)299(10)true P213542356299(10)3(12)(14)(14)true (2) 若进程P2提出上述请求,系统不能将资源分配给它,因为分配之后系统将
31、进入不安全状态。 P2请求资源:P2发出请求向量Request2(1,2,2,2),系统按银行家算法进行检查: Request2(1,2,2,2)Need2(2,3,5,6); Request2(1,2,2,2)Available(1,6,2,2); 系统暂时先假定可为P2分配资源,并修改P2的有关数据,如下表:Process AllocationNeedAvailableP0003200120400P110001750P225761134P303320652P400140656再进行安全性检查:可用资源Available(0,4,0,0)已不能满足任何
32、进程的需要。系统进入不安全状态,此时系统不分配资源。19. 个进程共享某种资源R,该资源共有个可分配单位,每个进程一次一个的申请或释放资源单位。假设每个进程对该资源的最大需求量均小于,且各进程最大需求量之和小于,试证明在这个系统中不可能发生死锁。答:设max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知: max(1)max(n)=(need(1)need(n)(alloc(1)+alloc(n)<mn 如果在这个系统中发生了死锁,那么一方面m个资源应该全部分配出去,即
33、 alloc(1)alloc(n)= m 另一方面所有进程将陷入无限等待状态。 由上述两式可得: need(1)need(n)<n 上式表示死锁发生后,n个进程还需要的资源量之和小于n,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。20. 有一个内存中只能装入两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法。有如下
34、表所示的作业序列,表中所列的优先数是指进程调度的优先数,且优先数越小优先级越高。(1)列出所有作业进入内存的时刻以及结束的时刻。(2)计算作业的平均周转时间。答:分析 v 10:00,A进入内存,并开始执行; v 10:20,B进入内存,抢占A,B开始执行; v 10:50,B完成,调D进内存,A再次执行; v 11:10,A完成,调C进内存,C开始执行; 12:00,C完成,D开始执行; 12:20,D完成。 两道批处理作业,作业调度采用最短作业优先,进
35、程调度采用基于优先级的抢占式调度同时允许两个程序存在于主存中 进入内存运行时间段周转时间A10:0010:00-10:2010:50-11:1070B10:2010:20-10:5030C11:1011:10-12:0090D10:5012:00-12:2090 平均周转时间: (70+30+90+90)/4=70 带权平均周转时间: (70/40+30/30+90/50+90/20)/4=2.26 第四章1. 采用(B )不会产生内部碎片A、 分页式 B、分段式 C、固定分区式 D、段页式2. 在可变式分区分配方案中,某
36、一作业完成后,系统收回其主存空间,并于相邻空闲区合并,为此需修改空闲区表,造成空闲区表数减1的情况是(D )A 无上邻空闲区,也无下邻空闲区;B 有上邻空闲区,但无下邻空闲区;C 有下邻空闲区,但无上邻空闲区;D 有上邻空闲区,也有下邻空闲区;3. 段页式存储管理中,地址映像表是(C )A 每个作业或进程的一张段表,两张页表B 每个作业或进程的每个段一张段表,一张页表C 每个作业或进程一张段表,每个段一张页表D 每个作业或进程的一张页表,每个段一张段表4. 在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0,1,2页依次存放在物理块5,10
37、,11中,问相应的物理地址为多少?答:第一种解法:第2种解法4096B=212B16位寻址一共216B分页存储.共分的页:216/212=24=16 共分16页.第0页的地址范围 0 - FFFH第1页的地址范围 1000H - 1FFFH第2页得地址范围 2000H - 2FFFH.第11页 B000H - BFFFH第15页 F000H - FFFFH2F6AH=10 1111 0110 1010 在2页的范围对应物理块11所以物理地址为:2F6AH - 2000H + B000H = F6AH + B000H= BF6AH5. 设有一页式存储管理系统,向用户提供的逻辑地址空间最大为16页
38、,每页2048字节,内存总共有8个存储块,试问逻辑地址至少应为多少位?内存空间有多大?答:每页2048字节,所以页内位移部分地址需要占据11个二进制位; 逻辑地址空间最大为16页,所以页号部分地址需要占据4个二进制位。 故逻辑地址至少应为15位。 由于内存共有8个存储块,在页式存储管理系统中,存储块大小与页面的大小相等,因此内存空间为16K(2048×8/1024=16K)6. 已知某分页系统,主存容量为64KB,页面大小为1KB。对于一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。(1)将十进制的逻辑地址1023、2500、3
39、500、4500转换成物理地址;(2)以十进制的逻辑地址1023为例画出地址变换过程图。答:(1)对于上述逻辑地址,可先计算出它们的页号和页内地址(逻辑地址除以页面大小得到的商为页号,余数为页内地址),然后通过页表转换成对应的物理地址: 逻辑地址1023。1023/1K,得到页号为0,页内地址为1023,查页表找到对应的物理块号为2。故物理地址为2*1K+1023=3071。 逻辑地址2500。2500/1K,得到页号为2,页内地址为452,查页表找到对应的物理块号为6。故物理地址为6*1K+452=6596。 逻辑地址3500。3500/1K,得到页号为3,页内
40、地址为428,查页表找到对应的物理块号为7。故物理地址为7*1K+428=7596。 逻辑地址4500。4500/1K,得到页号为4,页内地址为404,因页号大于页表长度,故产生越界中断。 (2)逻辑地址1023的地址变换过程如下图所示,其中的页表项中没考虑每页的访问 权限。7. 对于下表所示的段表,请将逻辑地址(0,137),(1,4000),(5,230)转换成物理地址。 答:(1)段号0小于段表长5,故段号合法;由段表的第0项可获得段的内存始址为 50K,段长为10K;由于段内地址137,小于段长10K,故段内地址也是合法的,因此可得
41、160;出对应的物理地址为50K+137=5l337。 (2)段号l小于段表长,故段号合法;由段表的第l项可获得段的内存始址为60K,段长为3K:经检查,段内地址4000超过段长3K,因此产生越界中断(3)段号5等于段表长,故段号不合法,产生越界中断。第五章1. 在一个采用页式虚拟存储管理的系统中,某进程依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167,若作业的第0页已经装入内存,现分配给该作业的主存共300字,页的大小为100字,则: (1)按FIFO算法将产生 5 次缺页中断,依次淘汰页号为 0,1,2 (2)按LRU算法将产
42、生 6 次缺页中断,依次淘汰页号为 2,0,1,3 2. 有一矩阵“int a100100”以行为先进行存储。有一个虚拟存储系统,物理内存共有3页,其中1页用来存放程序,其余2页用于存放数据。假设程序已在内存中占1页,其余2页空闲。 程序A:for (i=0; i<=99; i+) for (j=0; j<=99; j+) aij=0; 程序B:for (j=0; j<=99; j+) for (i=0; i<=99; i+) aij=0; 若每页可存放200个整数,程序A和程序B的执行过程各会发生多少次缺页?若每页只能存放100个整数呢?答:程序A由于是外层是行索引,
43、内层是列索引,因此在执行2次外层循环(也就是200次内层循环)后才会产生一次缺页,那么100次外层循环也就是50次缺页。而程序B和A恰恰相反,外层是列索引,内层是行索引,这意味着每执行两次内层循环就得进行一次缺页置换,那么总共要执行100*100次内层循环,因此需要5000次缺页置换。3. (8分)请求分页管理系统中,假设某进程的页表内容如下表所示。 页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为108ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设
44、TLB初始为空;地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2362H、1565H、25A5H,请问: (1) 依次访问上述三个虚地址,各需多少时间?(2) 基于上述访问序列,虚地址1565H的 物理地址是多少?请说明理由。答:(1)根据页式管理的工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为4KB,即212,则得到页内位移占虚地址的低12位,页号占剩余高位。可得三个
45、虚地址的页号P如下(十六进制的一位数字转换成4位二进制,因此,十六进制的低三位正好为页内位移,最高位为页号): 2362H:P=2,访问快表10ns,因初始为空,访问页表100ns得到页框号,合成物理地址后访问主存100ns,共计10ns+100ns+100ns=210ns。 1565H:P=1,访问快表10ns,落空,访问页表100ns落空,进行缺页中断处理108ns,访问快表10ns,合成物理地址后访问主存100ns,共计10ns+100ns+108ns+10ns+100ns=100 000 220ns。 25A5H:P=2,访问快表,因第
46、一次访问已将该页号放入快表,因此花费10ns便可合成物理地址,访问主存100ns,共计10ns+100ns=110ns。 (2)当访问虚地址1565H时,产生缺页中断,合法驻留集为2,必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰0号页面,因此1565H的对应页框号为101H。由此可得1565H的物理地址为101565H。4.设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。某进程最多需要6页数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框。当该进程执行到时刻260时,要访问逻辑地址为17CAH的数据。请回答下列问题:(1)该逻
47、辑地址对应的页号是多少?(2)若采用先进先出置换算法,该逻辑地址对应的物理地址?要求给出计算过程。(3)采用时钟置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设搜索下一页的指针按顺时针方向移动,且指向当前2号页框,示意图如下)答:5. 在一个请求分页系统中,假如一个作业的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,目前它还没有任何页装入内存,当分配给该作业的物理块数目分别为3和4时,请分别计算采用OPT、LRU和 FIFO页面淘汰算法时,访问过程中所发生的缺页次数和缺页率,并比较所得结果。第六章1. 通道是一种特殊的( C ),具有( A )能力。主机的CPU与通
48、道可以并行工作,并通过( C )实现彼此之间的通信和同步。A I/O设备 B设备控制器 C处理机 D I/O控制器A执行I/O指令集 B执行CPU指令集 C传输I/O命令 D运行I/O进程A I/O指令 B I/O中断 C I/O指令和I/O中断 D操作员2. 磁盘属于( C ),其信息的存取是以( D )为单位的;磁盘的I/O控制主要采取( C )方式A字符设备 B独占设备 C块设备 D虚拟设备A位 B字节 C帧 D固定长数据块A程序I/O方式 B程序中断 C DMA D SPOOLing3. 假定把磁盘上一个数据块中的信息输入到一单缓冲区的时间T为100us,将缓冲区中的数据传送到用户区的
49、时间M为50us,而CPU对这一块数据进行计算的时间C为50us,这样,系统对每一块数据的处理时间为(C ),如果将单缓冲改为双缓冲,则系统对每一块数据的处理时间为( B ) A 50us B 100us C 150us D 200us E 250us4. 下列关于驱动程序的论述正确的是(D ) A驱动程序与I/O设备的特性紧密相关,因此应为每一个I/O设备配备一个专门的驱动程序 B驱动程序与I/O控制方式紧密相关,因此对DMA方式应该以字节为单位去启动设备进行中断处理 C由于驱动程序与I/O设备紧密相关,故必须用汇编语言书写 D对于一台多用户机,配置了相同的8个终端,此时可只配置一个由多个终
50、端共享的驱动程序5. 下列磁盘调度算法中,平均寻道时间较短,但容易产生饥饿现象的是( ),电梯调度算法是指( ),能避免磁臂粘着现象的算法是( )SSTFFCFSSCANCSCANFSCAN6. I/O软件通常被组织成 用户层、与设备无关软件层、设备驱动程序、中断处理程序 四个层次。7. SPOOLing系统是由磁盘中的 输入井_和_ 输出井 ,内存中的_ 输入缓冲区 和_ 输出缓冲区 以及_ 输入进程 和_输出进程 构成的。8. 磁盘的访问时间由_ 寻道时间 、 旋转延迟时间_和 数据传输时间 三部分组成,其中所占比重比较大的是 寻道时间_,故磁盘调度的目标为 使磁盘的平均寻道时间最短 _。
51、9. 为什么引入设备独立性?如何实现设备独立性?答:引入设备独立性,可使应用程序独立于具体的物理设备,是设备分配具有灵活性。另外容易实现I/O重定向。 为了实现设备独立性,必须在设备驱动程序之上设置一层设备独立性软件,用来执行所有I/O设备的公用操作,并向用户层软件提供统一接口。关键是系统中必须设置一张逻辑设备表LUT用来进行逻辑设备到物理设备的映射,其中每个表目中包含了逻辑设备名、物理设备名和设备驱动程序入口地址三项;当应用程序用逻辑设备名请求分配I/O设备时,系统必须为它分配相应的物理设备,并在LUT中建立一个表目,以后进程利用该逻辑设备名请求I/O操作时,便可从LUT中得到物理
52、设备名和驱动程序入口地址。 10. 假设计算机系统采用CSCAN(循环扫描)磁盘调试策略。设某单面磁盘旋转速度为每分钟6000转,每个磁道有100个扇区,相临磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如下图所示),磁道号请求队列为50,90,30,120,对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这个扇区点共需要多少时间?要求给出计算过程。 答:每分钟6000转,转一圈的时间为0.01s,通过一个扇区的时间为0.0001s。 根据CSCAN算法,被访问的磁道号顺序为100 ,120 ,
53、60;30, 50 , 90,因此,寻道用去的总时间为:(20 + 90 + 20 + 40)* 1ms = 170ms 总共要随机读取四个扇区,用去的时间为:(0.01*0.5 + 0.0001)*4 = 0.0204s = 20.4ms 所以,读完这个扇区点共需要 170ms + 20.4ms = 190.4ms。 11. 当前磁盘读
54、写位于柱面号20,此时有多个磁盘请求,以下列柱面号顺序送至磁盘驱动器:10、22、20、2、40、6、38。寻道(Track)时,移动一个柱面需6ms,按下列算法计算所需寻道时间(柱面移动顺序及所需时间,总寻道时间;忽略到达指定柱面后所需寻道时间)。(上海交通大学1999年试题) 先来先服务。 下一个最邻近柱面。 电梯算法(当前状态为向上)。【解答】1).先来先服务 在这种顺序下面,寻道的次序为20,10,22,20,2,40,6,38 总的寻道时间为:(10+12+2+18+38+34+32)×6876ms 2).下一个最邻近 在这种顺序下面
55、,寻道的次序为20,22,38,40,10,6,2 总的寻道时间为:(12+4+2+30+4+4)×6336ms 3).电梯算法(当前状态向上) 在这种顺序下面,寻道的次序为20,22,38,40,10,6,2 总的寻道时间为:(12+4+2+30+4+4)×6648ms 12. 假定磁盘转速为20ms/圈,磁盘格式化时每个磁道被划分成10个扇区,今有10个逻辑记录(每个记录的大小刚好与扇区大小相同)存放在同一磁道上,处理程序每次从磁盘读出一个记录后要花4ms进行处理,现在要求顺序处理这10个记录,若
56、磁头现在正处于首个逻辑记录的始点位置。问:按逆时针方向安排10个逻辑记录(磁盘顺时针方向转),处理程序处理完这10个记录所花费的时间是多少?答:分析:数据处理的时间=磁盘访问时间+数据实际处理的时间,而磁盘访问时间=寻道时间+旋转延迟+数据传输时间。本题通过对旋转延迟时间的优化来提高访问磁盘数据的速度。 由题意知,20ms/圈,可知:读取一条记录需要2ms ,读出记录后还需要4ms时间进行处理,故当磁头处于记录的始点时,处理它共需6ms。当R1处理完时,磁头已经转到了R4的位置,此时要将其调整到R2的位置,需要经过R4,R5,R6,R7,R8,R9,R10,R1,这样要耗1
57、6ms的时间,再加上读取R2需要2ms以及处理数据的4ms,R2的总处理时间应为22ms。所以2+4+(16+2+4)*9=204ms。 第七章1. 在某个文件系统中,每个盘块为512字节,文件控制块占64个字节,其中文件名占8个字节。如果索引结点编号占2个字节,对一个存放在磁盘上的256个目录项的目录,试比较引入索引结点前后,为找到其中一个文件的FCB,平均启动磁盘的次数。答:在引入索引结点前,每个目录项中存放的是对应文件的FCB,故128个目录项的目录总共需要占用128X64256=32个盘块。因此,在该目录中检索到一个文件,平均启动磁盘的次数为(1+32)/2=16.5次。 引
58、入索引结点后,每个目录项中只需存放文件名和索引结点的编号,因此256个目录项的目录总共需要占用256X(8+2)512=5个盘块。因此,找到匹配的目录项平均需要启动(1+5)2,即3次磁盘;而得到索引结点编号后,还需启动磁盘将对应文件的索引结点读入内存,故平均需要启动磁盘4次。可见,引入索引结点后,可大大减少启动磁盘的次数,从而有效地提高检索文件的速度。第八章1. 请分别解释在连续分配方式、隐式链接分配方式、显式链接分配方式和索引分配方式中如何将文件的字节偏移量3500转换为物理块号和块内位移量(设盘块大小为1KB,盘块号需占4个字节)答:(1) 连续分配方式:字节偏移量3500转换
59、成逻辑块号和块内位移量为3500/1024=3428 可从相应文件的FCB中得到分配给该文件的起始物理盘块号,假设为a0,字节偏移量3500相应的物理块号为a0+3,块内位移量为428。 (2) 隐式链接分配方式:由于每个盘块中需要留出4个字节来存放分配给文件的下一个盘块的块号,因此字节偏移量3500的逻辑块号为3500/1020=3440 从相应文件的FCB中可获得分配给该文件的首个(即第0个)盘块的块号,如b0,然后可通过读第b0块获得分配给文件的第1个盘块的块号,如b1;在从b1块中得到第2块的块号,如b2;从b2块中得到第3块的块号,如b3。因此
60、可得到字节偏移量3500对应的物理块号b3,而块内偏移量为440。 (3) 显式链接分配方式:字节偏移量3500转换成逻辑块号和块内位移量为3500/1024=3428 可从相应文件的FCB中得到分配给该文件的首个物理盘块的块号,如c0,然后从FAT表的第c0项中得到分配给文件的第一个盘块的块号,如c1;再在FAT表的第c1项中得到分配给文件的第2个盘块的块号c2;在FAT表的第c2项中得到分配给文件的第3个盘块的块号c3。如此,即可获得字节偏移量3500对应的物理块号c3,而块内偏移量为428。 (4) 索引分配方式:字节偏移量3500转换成
61、逻辑块号和块内位移量为3500/1024=3428 从文件的FCB中得到索引表的地址(盘块号),从索引表的第3项(距离索引表首字节12字节的位置)可获得字节偏移量3500对应的物理块号,而块内偏移量为428。2. 在Unix system V中,如果一个盘块的大小为1KB,每个块号占4个字节,那么,一个进程要访问偏移量为263168字节处的数据时,需要经过几次间接?答: UNIX/Linux文件系统中,一个盘块的大小为1KB,每个盘块号占4个字节,即每块可放256个地址。直接寻址为10块,一次间接寻址为256块,二次间接寻址为2562块,三次间接寻址为2563块。
62、;首先将逻辑文件的字节偏移量转换为文件的逻辑块号和块内偏移。方法是:将逻辑文件的字节偏移量/盘块大小,商为文件的逻辑块号,余数是块内偏移;再将文件的逻辑块号转换为物理块号,使用多重索引结构,在索引节点中根据逻辑块号通过直接索引或间接索引找到对应物理块号。 偏移为263168字节的逻辑块号是:263168/1024=257。块内偏移量=263168-257×1024=0。由于10<257<256+10,故263168字节在一次间接寻址内。 3.假定盘块的大小为1KB,每个盘块占4个字节,文件索引节点中的磁盘地址明细表如下图所示,字节偏移量为9000,14000和3
63、50000的物理地址为?答:首先将逻辑文件的字节偏移量转换为逻辑块号和块内偏移量,就是将字节偏移量/盘块大小,商为逻辑块号,余数是块内偏移量。在FCB中,第0-9个地址为直接地址,第10个为一次间接地址,第11个地址为二次间接地址,第12个地址为三次间接地址。再将文件的逻辑块号转换为物理块号。使用多重索引结构,在索引节点中根据逻辑块号 通过直接索引或间接索引找到对应的物理块号。(1)9000/1024=8 余808,则逻辑块号为8,直接索引第8个地址得到物理块号,块内偏移地址为808。(2)14000/1024=13余688,则逻辑块号为10<13<10+256,通过一次间接索引在第10个地址可得到物理块号,块内偏移地址为688。(3)350000/1024=341 余816,则逻辑块号为10+256<341,通过二次间接索引在第11个地址可得到一次间址,再由此得到二次间址,再找到物理块号,其块内偏移地址816。4. 假定一个索引节点为128字节,指针为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论