
高级操作系统模拟试卷.pdf
10页华南农业大学期末考试试卷(B卷)2008 学年第 2 学期考试科目:高级操作系统分析考试类型:闭卷考试考试时间:120分钟学号姓名年级专业题号一二三总分得分评阅人注:答案直接写在试卷上计算类的题目都需要给出计算过程1、填空题(10分)1、在读写磁盘块的算法中,有两种特殊的写操作,若做异步写,内核立即开始这一写操作,但是不等候它的完成;若做延迟写,内核则尽可能长时间的推迟物理地往磁盘上写2、高速缓冲管理中使用了散列队列和空闲队列两种双向链接循环队列3、当内核必须终止它当前的执行顺序,立即从先前保存的上下文执行时,会发生为废弃返回而保存上下文4、系统调用 fork用于创建进程,用两种输出,对父进程是子进程的PID,对子进程是05、在对换内存管理方案中,若进程由于栈增长或调用brk导致需要的内存比当前已分配的内存多,内核需要进行一次进程的扩展对换6、偷页进程是一个核心进程,将不再是进程工作集的页偷偷的换出内存2、简答题(60分,其中第 1-6题8分,第 7-8题6分)1、算法 getblk中内核把一个缓冲区分配给磁盘块时,可能出现哪5种典型情况?答:(1)内核发现该块在散列队列中,并且它的缓冲区是空闲的;(2)内核在散列队列中找不到该块,它从空闲表中分配一个缓冲区;(3)内核在散列队列中找不到该块,并且在试图从空闲表中分配一个缓冲区时,在空闲表中找到一个已标上“延迟写”标记的缓冲区;名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 10 页 -(4)内核在散列队列中找不到该块,并且空闲缓冲区表已空;(5)内核在散列队列中找到该块,但它的缓冲区当前为忙。
2、内核为系统调用 fork完成哪 5步操作?答:(1)为新进程在进程表中分配一个空槽2)为子进程赋一个唯一的进程标识号(PID)3)做一个父进程上下文的逻辑副本4)增加与该进程相关联的文件表和索引节点表的引用数5)对父进程返回子进程的进程号;对子进程返回零3、读写管道可能出现哪4种情况?答:(1)写管道,管道中尚有空间存放欲写的数据;(2)读管道,管道中有足够的数据来满足读操作;(3)读管道,管道中没有足够的数据来满足读操作;(4)写管道,管道中没有足够的空间存放要写的数据4、严格地说,进程的上下文是由哪3部分组成?每一部分具体是由什么组成?答:进程的上下文是由它的用户级上下文、寄存器上下文以及系统级上下文组成用户级上下文是由进程的正文、数据、用户栈和共享存储区组成寄存器上下文由程序计数器、处理机状态寄存器、栈指针、通用寄存器进程的系统级上下文由静态部分和动态部分组成5、描述系统调用 kill 的作用和语法格式?列出一组进程与pid值之间的对应关系?答:进程使用系统调用kill 来发送软中断信号系统调用 kill 的语法格式为:kill(pid,signum)其中,pid标识了一个接收软中断信号的进程集合。
signum是要发送的软中断信号号进程与 pid值之间的对应关系:名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 10 页 -(1)如果 pid是正值,内核将信号发送给进程号为pid的进程;(2)如果 pid为0,内核将信号发送给所有与发送进程同组的进程;(3)如果 pid为-1,内核将信号发给所有真正用户标识号等于发送进程的有效用户标识号的进程;(4)如果 pid为负数但非-1,内核将信号发送给组号为pid绝对值的进程组中的所有进程6、内核什么时候检查它是否收到了一个软中断信号?仅当什么时候处理软中断信号?答:当一个进程即将从内核态返回到用户态时,或它要进入或离开一个适当的低调度优先级睡眠状态时,内核要检查它是否收到了一个软中断信号内核仅当一个进程从内核态返回用户态时才处理软中断信号7、内存索引节点与缓冲首部的显著区别是什么?答:内存引用计数,它对该文件的活跃的实例数进行计数当一个进程分配了一个索引节点时,比如当打开一个文件时,该索引节点就是活跃的仅当索引节点的引用计数为0时它才位于空闲表上,以表示内核能把这个内存索引节点重新分配给另一个磁盘索引节点因此,可把空闲索引节点表当作不活跃的索引节点的高速缓冲。
另一方面,缓冲区没有引用计数;当且仅当缓冲区为开锁状态时,它位于空闲表中8、图1中进程创建了叫做什么名字的管道?如果以一个哑参数作为第二个参数来调用该程序,管道执行什么操作?如果没有第二个参数,管道又执行什么操作?名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 10 页 -图1答:进程创建了一个叫做fifo 的有名管道如果以一个哑参数作为第二个参数来调用该程序,该程序将连续地将字符串“hello”写入管道如果没有第二个参数,它则读管道3、名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 10 页 -思考题(15分2 题 30分)9、图2中给出三个进程 A、B、C的调度优先权,这三个进程是同时创建的,初始优先数是 60,最高的用户级优先数是60,时钟每秒中断系统60次,这些进程没做任何系统调用,也没有其他进程就绪运行UNIX 系统的第 5版本使用下式计算 CPU使用时间的衰减值:由下式计算进程的优先数,priority 为优先数,base level priority 为基级优先数按照公平共享调度的原则,假定进程A在一个组,进程 B和C在另一个组,内核先调度进程A。
完成下面的优先权值计算,并且写出内核按什么次序进行调度?名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 10 页 -图2答:名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 10 页 -内核按 A、B、A、C、A、B等等的次序进行调度名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 10 页 -10、假定所有进程都是CPU密集型的,并且不进行任何系统调用,所有的进程大小相同,并且系统同时在内存最多只放两个进程,在开始时进程A和进程 B在内存中,其他的进程都被换出描述图3中5个进程经历的一系列对换操作名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 10 页 -图3答:(1)在开始的 2秒内,对换进程不能对换任何进程,因为没有进程在内存或在对换设备上驻留了2秒名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 10 页 -(2)一旦到了 2秒,对换进程换出进程A和进程 B,并换入进程 C和进程D对换进程还试图换入进程E,但却由于内存告罄而失败3)在3秒钟时,进程 E应被换入,因为它在对换设备上已呆了3秒钟,但是,由于呆在内存的进程都没有超过2秒钟,所以对换进程不能换出任何进程来为进程 E腾出空间。
4)到了 4秒钟,对换进程换出进程C和D并换入进程 E和A名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 10 页 -。












