一、简答题 1.Why should we distinguish between kernel mode and user mode? When the CPU is running operating system code, which mode is the processor in? 为了确保操作正常,必须保护操作系统和所有其它程序及数据使之不受任何故障程序的影响。所有共享资源都需要保护。所以需要不同的操作模式提供硬件支持。内核模式。2. What problems do caches cause in the computer systems? 内容丢失,cache内容过时, 3. How is the control of CPU transferred in a system call, and what's the difference between system call and general procedure call? 系统调用,就是用户在程序中调用操作系统所提供的一些子功能。其主要区别是:i. 运行的状态不同。在程序中的过程一般或者都是用户程序,或者都是系统程序,即都是运行在同一个系统状态的(用户态或系统态)。ii. 进入的方式不同。一般的过程调用可以直接由调用过程转向被调用的过程。而执行系统调用时,由于调用过程与被调用过程是处于不同的状态,因而不允许由调用过程直接转向被调用过程,通常是通过访问管中断(即软中断)进入,先进入操作系统,经分析后,才能转向相应的命令处理程序。iii. 代码层次不同。一般过程调用中的被调用程序是用户级程序,而系统调用是操作系统中的代码程序,是系统级程序。 4.Please describe the five states of process and the possible conversion between them. 创建:进程正在被创建运行:指令正在被执行 等待:进程等待一定事件的出现就绪:进程等待被分配给某个处理器终止:进程已完成执行
5. How the MMU with a base register and a limit register translate a logical address into a physical address and protect the operating system from user processes? 内存管理单元将内存地址进行相对于基地址的重定义,从逻辑地址转变为物理地址 6.Please describe the difference among short-term, medium-term, and long-term scheduling. 短期调度:在内存作业中选择就绪执行的作业,并为他们分配CPU。中期调度:作为一种中等程度的调度程序,尤其被用于分时系统,一个交换方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。长期调度(作业调度程序):确定哪些作业调入内存以执行. 它们主要的不同之处是它们的执行的频率。短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。7.What actions are taken by the operating systems when a page fault occurs? 8.What are the benefits to users by manipulating external devices as files? 9.Why open operation must be done before a file is read or written in a user process? 执行一个系统调用,指明文件名称和要读入/写入文件块的内存位置,必须为该文件维护一个读/写位置的指针,每当进行一次操作,必须更新指针。 10.Please describe the thrashing, and explain the cause of thrashing 颠簸是由于内存空间竞争引起的。当需要将一个新页面调入内存时,因内存空间紧张,不得不将一个旧页面置换出去,而刚刚置换出去的旧页面可能又要被使用,因此需要重新将它调入。若一个进程频繁地进行页面调入调出,势必加大系统的开销,使系统运行效率降低。通常称这种现象为该进程发生了颠簸。 产生颠簸的原因主要有:系统内的进程数量太多,致使一个进程分得的存储块过少;系统采取的置换算法不够合理。
二、 1、List at least two advantages of User-Level Thread over Kernel-Level Thread.
2、What are the four necessary conditions of deadlock? Please briefly describe the meaning of each condition 死锁产生的四个必要条件 互斥条件:必须至少有一个资源以非共享的方式被进程持有;更确切的说,同时只有一个进程可以使用该资源。如果另一个进程请求这个资源,那么该进程必须等待这个资源被释放。 持有并等待条件:进程必须持有至少一个资源且等待获取另外的当前被其它进程持有的资源。
3、List and briefly describe three common schemes for defining the logical structure of a directory. 单层目录 single-level 所有文件都包含在同一目录中,便于支持和理解。但是没有分类导致检索很慢。双层目录two-level 为每个用户创建属于其的独立目录。不同用户可拥有同名文件,但效率依然很低。树形目录tree-structured 又叫层次目录,以根目录为起点拓展出目录树,每个文件都有唯一的路径名。方便维护和检索,但禁止共享文件和目录。 无环图目录acyclic-graph 是树形目录方案的自然拓展,它允许目录含有共享子目录和共享文件,即同一文件或子目录可出现在两个不同的目录中,但子目录不可包含父目录,即不可存在环。通用图目录general graph 在无环图目录结构的基础上允许有环存在,主要是希望避免多次遍历无环图的共享目录部分而允许环的存在,但需要垃圾收集,避免无限搜索循环。 4、What is the difference between simple paging and virtual memory paging? 答:Simple paging:all the pages of a process must be in main memory for process to run, unless overlays are used. Virtual memory paging:not all pages of a process need be in main memory frames for the process to run.; pages may be read in as needed.
5、What are the three major methods of allocating disk space? Describe their advantages and disadvantages respectively. 答:FCFS、SSTF、扫描(SCAN算法、循环扫描(CSCAN算法 FCFS:先来先服务,它根据进程请求访问磁盘的先后次序进行调度。 SCAN:扫描算法,磁头不停的往复运动,由边缘至中心然后返回,沿途执行已经到来的访问。CSCAN:循环扫描算法,在SCAN算法的基础上规定磁头单向移动。
10A: 2. Please describe the interrupt procedure. 现场信息保护,查找中断源,转中断处理程序,处理完成后恢复现场信息 3. What is the difference between paging and demand paging? How OS with demand paging deals with page fault, i.e when refers a page that isn’t in the memory? 静态页面管理将一个作业的全部地址空间同时装入主存,请求页式管理则根据需要将页面按需调入主存。当所需页面不在主存中时,将发生缺页中断。缺页中断处理程序将所需的页面调入主存。当主存无空闲块时,按一定的页面置换算法将某页淘汰而腾出空间。 4. Please describe the difference between cache and buffer. 高速缓存是设备的扩展,它与设备联系紧密,不能离开设备而存在。例如,磁盘缓存就是设在磁盘控制器中的缓冲区,它不能离开磁盘而存在。缓冲区则是设备之间进行沟通的中间地带,用于协调不同设备之间运行速度的差异,它通常独立于设备而存在。 5. What is the difference between sequential access and random access? 顺序存取法就是严格按物理记录排列的顺序依次存取,随机存取法允许随意存取文件中的任何一个物理记录,而不管上次存取了哪一个记录。
10B: (1 What is virtual memory? What is the maximum capacity of the virtual memory? 为了扩大用户能够使用的主存空间,而又不真正花钱购买实际的主存,引入了虚拟内存的概念。虚拟内存从根本上说是将容量有限的主存扩充到容量巨大的外存上,让外存成为主存的一部分。同时,虚拟内存还提供接近缓存的访问速度。虚拟内存的最大容量取决于计算机体系结构里的寻址位数,取指等于2^寻址位数。当寻址位数为32时,虚拟内存的最大容量为4GB。 (2 What is address space and storage space? 地址空间是逻辑地址的集合,即所谓的虚拟地址空间。存储空间是物理地址的集合,即计算机系统实际的内存空间。(3 What is file directory and directory file? 在文件系统中,文件目录记录文件的管理信息,又称为文件控制块,或者文件说明信息,文件系统把同一卷上的若干文件的文件目录组成一个独立的文件,这个文件全部由文件目录组成,称为目录文件。文件目录用于对单个文件的控制,它记录文件的名字、文件长度、文件存放在外存上的物理地址,以及文件属性和文件建立时间、日期等信息。目录文件是全部文件目录组成的文件,用于整个文件系统的管理。(4 What is the difference between job scheduling and process scheduling? 作业调度属于高级调度,而进程调度属于低级调度。作业调度是根据系统内资源的使用情况,从后备作业队列中选择一道作业进入系统,并创建相应的进程,分配必要的系统资源,使其处于“就绪”状态。进程调度是根据CPU的使用情况及时地把CPU分配给一个“就绪”的进程,使其从“就绪”状态变为“运行”状态。