logo资料库

西电操作系统考试练习+答案.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
Part1: Select one answer (A through D) for each qu
Part2: Fill Blanks (Total 20, each 2)
Part3: Essay Questions (Total 20, each 4)
Part4: Integrate Questions (Total 40, each 10)
Part1: Select one answer (A through D) for each question (Total 20, each 2) 1. n processes shared one mutual segment, if allow m(m
来做,知道一下 DMAC 中的寄存器有哪些。 Part2: Fill Blanks (Total 20, each 2) 1. In an executable file, the instructions are usually put into the __________ segment. 翻译: 在一个可执行文件中,指令通常是被放到哪个段中。 解答: 只要知道进程的组成就可以了,一个进程的组成由 PCB+代码段+数 据段组成,这样答案就出来了,写 Code 就行。 对于进程我们应该知道些什么: 1) 什么是进程 2) 进程的特点(并发性,独立性,异构性,结构性,动态) 3) 进程组成 4) 进程的状态转换 5) 进程的生命周期 6) 进程间通信 7) 进程的同步与互斥 a) 临界区与临界资源 b) 什么是同步什么是互斥 c) 忙等待 d) 信号量 e) 管程 f) 生产者与消费者 g) 读者写者 h) 哲学家就餐 8) 进程的死锁 a) 什么是死锁 b) 如何解决死锁 c) 死锁的四个必要条件 d) 重点是什么是安全状态 e) 银行家算法(重点但是都会) 2. A mutex is a variable that can be in one of two states:______________ . 第 2页 共 5页
翻译: 这句话是不是语法有问题,这个 that 是一个什么东西。不管了。 “mutex”是可变的,它是这两个状态之一。 我把 mutex 翻译成临界区,临界区有两种状态,一个是有人在里面,一个 是每人在里面。这样说意思是对的我们换一种说法,在忙等待中,我们用 一把锁锁住临界区,如果谁得到了这把锁谁就可以访问临界区,那状态就 有两个,lock 和 unlock。 Part3: Essay Questions (Total 20, each 4) 1.What are the differences between Process and Thread? (4 points) 解答: 问进程与线程的区别。我自己的理解,不是标准答案。 1) 首先是资源分配上,进程始终是资源分配的最小单位,线程只等依附在进程之 上,而且一个进程至少要有一个线程。 2) 调度上,这个要看线程是内核级线程还是用户级线程,如果是用户级线程的话, 调度的最小单位是进程,如果要是内核级线程,调度的基本单位是线程(当然 内核也需要考虑进程)。 3) 再说调度,这次我们看效率,进程的切换由于 CPU 寄存器要存储在 PCB 里, TLB,cache 要全部 clear,在放上下一个进程的东西进去,刚开始还会存在大 量的缺页中断,这效率相当的低下。而线程的切换,只需要把 CPU 寄存器换 一下,其他的不变,新线程就可以跑了,效率上相比很明显。 4) 我们看一下两者之间的关系,进程与进程是竞争的关系,他们需要去被操作系 统调度争抢时间片。而线程与线程的关系是协作,他们共享资源,自是分工不 同而已。 5) 最后说一下安全的问题。进程与进程之间的安全性有操作系统搞定,但是线程 之间由于资源共享,这个安全性比较重要,特别对于用户级线程,调度是由用 户写的,如果调度处理问题(互斥资源的并发访问)那就出大事了。 2.Please explain Four conditions to provide mutual exclusion ? (4 points) 解答: 解释一下互斥的四个状态,互斥的状态是临界区的条件。 1) 不会有两个进程同时访问临界区 2) 如果一个进程发现有人在临界区中,他必须在临界区外等待 3) 这种情况下我们不应该对 CPU 的数量和速度做任何的假设。 第 3页 共 5页
4) 在临界区外的进程不能让想访问临界区的进程不让他访问。 5) 也不能让别人无限制的等待。 简单点说,空闲让进,忙则等待,不能无限等待,CPU 这四个问题。 3. Please explain the Address Translation Architecture in virtual memory. (4 points) 解答: 问我们在虚拟内存中的地址转换机制是什么,这个最好是把它画出来,这里我就没 法画了。 虚拟内存我们应该知道的问题比较多,但是重点就是请求分页机制。 ○1 给我一个逻辑的内存地址,先把它拆成两部分,页号+页内偏移 ○2 使用 TLB 查找,看看是否在 TLB 里有缓存,如果有缓存到○3 ,没有的话到○4 ○3 这时硬件会帮我们直接进行地址转化,得到逻辑地址对应的物理地址 ○4 由于 TLB 没有,肯定来一个缺页中断,下面直接到页表中查找,这种也分两种 情况,如果说页表上的说这一个要找的页框在内存中但是不在 TLB,下面把 TLB 一刷 新,计算得到逻辑地址对应的物理地址,也算是结束了。 ○5 最坏的情况是这一页内存中压根就没有,还在外存中,那就麻烦了,我就长话短 说,先把这一页拿出来放到内存中去,如果内存中还有空闲页还好,要是没有空闲页, 还要进行页面置换,要命啊。最后总之可以得到物理的地址。 最好使用图+文字描述,这样比较清晰。 Part4: Integrate Questions (Total 40, each 10) 1.(10 points)Consider the following page-request string in Demand Paging system: 1,2,3,4,5,3,4,1,6,7,8. How many page faults would occur the following replacement algorithms, assuming four frames? Remember that all frames are initially empty, so your first unique pages will all cost one fault each. for (1) LRU replacement(3 points) (2) FIFO replacement(3 points) (3) Optimal replacement(4 points) 翻译: 页面的请求顺序为 1,2,3,4,5,3,4,1,6,7,8,用下面的页面置换算法分别有多 少次缺页中断。最初说有的页都是空的,所以在开始的时候都有缺页中断。 一共有 4 个页。 第 4页 共 5页
1 1 2 1 2 (1)LRU 最近最少使用算法 4 1 2 3 4 ◆ ◆ ◆ 0 1 2 3 3 1 2 3 ◆ 一共出现了缺页中断 9 次。 (2)FIFO 1 ○1 0 1 2 3 2 1 ○2 ◆ ◆ 3 1 2 ○3 4 1 2 3 ○4 ◆ ◆ 一共出现了缺页中断 9 次。 (3)OPT 1 1 2 1 2 0 1 2 3 3 1 2 3 4 1 2 3 4 ◆ ◆ 一共出现了缺页中断 8 次。 ◆ ◆ 5 5 2 3 4 ◆ 5 ○5 2 3 4 ◆ 5 1 5 3 4 ◆ 3 5 2 3 4 3 ○5 2 3 4 4 5 2 3 4 4 ○5 2 3 4 1 5 1 3 4 ◆ 1 5 ○1 3 4 ◆ 6 6 1 3 4 ◆ 8 7 6 6 1 1 7 7 8 4 ◆ ◆ 8 6 7 5 ○8 5 1 1 1 6 6 ○6 4 7 ○7 ◆ ◆ ◆ 3 4 1 6 6 5 3 4 ◆ 8 7 8 7 5 5 3 3 4 4 ◆ ◆ 刘宇飞 第 5页 共 5页
分享到:
收藏