操作系统考研试题.docx
1、操作系统概述概述部分不是考试的重点,出题综合应用题的可能性不大,考生需要简单的了解一下什么是操作系统以及操作系统在计算机系统中的作用,对操作系统的发展和分类,只需要简单的了解一下操作系统各个发展阶段和操作系统的分类,这一章是为了让考生了解操作系统在计算机系统中的作用、地位、发展和特点,本章在考试中所占的比例不会太大。2、进程管理这部分考查的是操作系统5大管理功能之一:处理机管理,包括进程管理和处理机调度两大块的内容,是考试的重点内容,同时也是难点,因此对这部分除了要掌握基本的概念和基本的原来外,还要求考生能运用这些基本原理去分析和解决问题,其中PV原语操作、同步问题及死锁问题都有可能出综合应用题。进程管理是操作系统的重要任务之一是使用户充分、有效地利用系统资源,这部分首先要求掌握进程的概念,其中进程和程序这两个概念的区别和联系一定要搞清楚;第二要记住进程的3中状态以及它们之间相互转换条件,一定要记住不可能从就绪状态直接转换到等待状态;第三需要理解进程控制和原语这两个概念,掌握进程的创建、撤销、阻塞、唤醒的条件,理解四种原语的执行过程;第四理解什么是并发进程间的直接制约以及由直接制约所引发的进程同步,分清什么是私用信号和公用信息,重点要掌握如何用PV原语操作实现同步问题,要会利用PV原语操作来解决经典的同步问题;第五是知道进程的通信方式及它们各自的特点;第六要理解进程和线程的异同以及多线程模型;最后一定要弄清楚什么是死锁产生的必要条件以及如何预防和避免死锁。处理机调度部分以是操作系统对CPU的管理,这部分要求考生理解作业和进程的关系,掌握作业调度和进程调度的策略和算法,重点要掌握几种典型的调度算法的基本思想、适用的范围和特点,要能指出各种调度算法的调度顺序并能计算它们的周转时间。3、内存管理内存管理也是操作系统的管理功能之一,这部分也是考试的一个重点,其中页面置换算法出大题的可能性很大,考生在复习这部分内容的时候要注重理解。内存管理分为两大部分一是内存管理基础,这部分内容要注重基本概念和基本原理的掌握,其中重点要掌握的是三种非连续内存管理方式:分有管理方式、分段管理方式、段页式管理方式,对这三种内存管理方式的基本思想和实现原理都一定要清楚,其次是要理解什么是交换和覆盖技术,以及两者的区别是什么。内存管理的第二部分是虚拟内存管理,这是重点中的重点,首先考生必须要弄清楚的就是什么是虚拟内存以及它的三个主要特征,在此基础上掌握目前常用的实现虚拟存储器的方式请求分页存储管理方式、对于请求分段式和请求段页式管理,对请求分页管理方式的页表结构、页面分配算法和页面置换算法都要弄清楚,特别是大纲中列出的几种页面置换算法,要能够画出各个算法内存中页面变化情况并能够计算缺页率,尤其要注意掌握抖动现象的实例,这个知识点出有可能会出综合应用题。其次要掌握什么是抖动现象以及减少抖动现象的方法:扩大工作集。 4、文件管理 文件系统是计算机组织、存取和保存信息的重要手段,大纲中将文件管理的内容分为了三个部分:第一个部分是文件系统的基础,在这一部分中重点要掌握的文件的逻辑结构和目录结构,、大纲中列出的三种文件逻辑结构的组织结构、特点以及如何进行读写操作考生都要弄明白,对文件的检索有可能和数据结构中的查找算法结合出综合应用题,考生需要引起注意。通用目录结构也是一个可以和数据结构结合点,目录结构要么是树形的,要么就是图形的,而树和图都是数据结构中考试的重点,其中目录查询技术要特别引起重视。文件系统实现这一部分相对而言重要性不是很大,部分重点要掌握的是文件系统的层次模型。磁盘管理方法包括:空闲表法、位示图法、成组链接法,考生只要掌握这几种方法分别是如何进行磁盘分配和回收的就可以了,其中成组链接法是一个相对比较难的一点。另外考生还要知道常用的磁盘调度算法以及每种算法优先考虑的问题是什么,知道磁盘访问时间由那几个部分组成,每部分时间应如何计算。5、输入输出(I/O)管理 I/O管理这一章重点应该放在对基本概念的掌握,主要是对基本概念和原理的理解和记忆,出应用题的可能性很小。第一部分I/O管理的概述部分重点是I/O控制方式,考生要弄清楚有哪几种I/O控制方式,它们各适用于什么场合,对DMA控制方式要弄清楚它的工作流程。第二个部分I/O核心子系统,首先要知道为什么要引入缓冲,然后就是要弄清楚各种缓冲方式下缓冲区的工作方式;这一部分的另外一个重点就是SPOOLing技术,要掌握SPOOLing是什么、SPOOLing系统的组成和特点。2. 重点、难点分析进程管理、内存管理和文件管理三部分是操作系统部分的三大重点板块。进程管理部分的处理机调度、进程调度、PV原语操作、同步问题、死锁问题都是考试中的重点,也是难点,其中利用PV原语操作解决经典的同步问题尤为重要,同时对许多的考生而言这也是一个难点,但是却是考试出现频率较高的内容;内存管理部分的重点是虚拟内存管理部分考生要特别重视页面置换算法和抖动现象,要回计算缺页次数和缺页率,特别要重视Belady现象的实例,页面置换这也是考试中出现频率很高的一个内容。文件管理部分的重点在文件的物理结构和目录结构上,这两个点都很容易和数据结构的内容相结合,所以有可能会出现跨科目的综合性题目,考生应当引起重视。对于操作系统的概述和I/O管理部分,考生要注重基本概念的掌握,这两个部分应该出大题的可能性不。难点:作业调度、进程调度、页面调度算法、PV操作考试出现频率较高的内容:PV操作、进程死锁/同步、内存分配、并发执行程序、进程间状态转换、PV实现进程间的同步与互斥、死锁及其避免、地址变换、页面置换先进先出算法(FIFO)。选择装入最早的页面置换。可以通过链表来表示各页的装入时间先后。FIFO的性能较差,因为较早调入的页往往是经常被访问的页,这些页在FIFO算法下被反复调入和调出,并且有Belady现象。所谓Belady现象是指:采用FIFO算法时,如果对个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。东南大学2000年考研试题二:综合能力部分(35分)1.在答卷上用连线把下面左右两列词连起来形成最恰当的五对.左列: 右列:(1) Linux (1) 面向对象(2) Unix (2) 网络操作系统(3) Windows NT (3) 微核(4) Mach 3.0 (4) 自由软件(5) OS/2 (5) C语言2.写出满足下列要求的程序片断:(1)必须包含系统调用命令和注释文字;(API函数可认为是系统调用)(2)用汇编语言或高级语言均可,但必须严格符合语言的语法;(3)程序片断的意义应较为完整.3.先举例说明页面置换算法LRU的含义,然后提出近似实现LRU的两种思路.4.假如你是某操作系统的设计者,承担慢速字符设备管理任务.该操作系统要求:用户使用慢速字符设备和使用普通文件完全一样方便简捷.请问你在设计中至少要解决哪些问题?苏州大学2001年考研试卷三,叙述中断机制在操作系统中的地位和作用。(10)四,试给出一种实现虚存的解决方案。(10)五,举出设备管理子系统中利用中断,轮询和DMA的例子。(12)哈尔滨工业大学2000年考研试卷一、简答题:(共30分)1、什么是操作系统?它有什么基本特征?(6分)2、试比较进程和程序的区别。(6分)3、在用户的操作系统之间存在哪几种类型的接口?它们的主要功能是什么?(6分)4、解释下列概念(12分) 进程、线程、同步机构、临界区、文件、设备驱动程序二、举例说明在分页系统下的地址转换过程(8分)三、什么是死锁?产生的原因是什么?如何解除死锁?(8分)四、什么是DMA方式?它与中断方式的主要区别是什么?(8分)五、在一个请求页式存储管理系统中,进程P共有5页,访问串为3,2,1,0,3,2,4,3,2,1,0,4时,试用LRU置换算法和LFU置换算法,计算当分配给该进程的页面数分别为3和4时,访问过程中发生的缺页次数和缺页率,比较所得的结果,浅析原因。(15分)六、在一个分时操作系统中,用户提交了一个作业,作业的内容包括:(1)请求内存(memory);(2)计算并将结果存于内存;(3)请求打印机(printer);(4)将memeory中的内容在printer上输出;(5)释放printer;(6)释放menory;(7)结束。 试从分进操作系统对资源管理的观点论述该作业从提交开始到结束为止,操作系统为其提供服务与控制全部过程。(15分)七、汽车司机与售票员之间必须协同工作,一方面只有售票员把车门关好了司机才能开车,因此,售票员关好车门应通知司机开车。另一方面,只有当汽车已经停下,售票员才能开门上下客,故司机停车后应通知售票员,汽车当前正在始发站停车上客,试设必要的信号灯及赋初值,写出他们的同步过程。(用管程或信号灯机制均可)(16分)中科院计算机技术研究所2003年硕士生入学试题一. 1、操作系统内核有强内核和微内核,unix是前者,windowsNT是后者,简介微内核比强内核的优点。(4) 2、若只有进程控制,其独立性表现在?引入线程后,独立性有何改变?(4) 3、请求调页存储系统确定页面大小的标准(4) 二、1.死锁的证明 在m个同类资源,n个进程共享它,每次进程只能获得或释放至多一个资源,问会不会发生死锁,若:设每个进程所需资源数为ri 1<=ri<=m (6) 2、windows NT页面大小为4KB,采用两级页表机构,为提高设了32K或64K的Cache,试叙述windows NT地址变换过程的页面调度策略。(10) 3、假设有一种新磁盘技术,两者即磁盘与内存访问时间在同一数量级上,作下面哪些修改以采用更快的磁盘访问速度。 (12) (1) 进程调度(4) (2)内存管理(4) (3)磁盘驱动程序(4)浙江大学1998年试题I. Choosing true (T) or false (F) for the following questions1. The threads in a process share CPU registers and execution stacks. 2. It is possible for a single instruction to page fault more than one time. 3. Time-sharing OS is the same as multiprogramming OS.4. RAID level 4 often performs better than RAID level 5.5. The unsafe state implies that the processes have deadlocked. 6. Page sizes are usually powers of 2.7. “Dirty” Pages mean the pages got abused while using them. 8. Virtual memory is usually smaller than physical memory.9. Inverted page table maps frames to pages. 10. time in disk is independent of the disk head position.11. A binary semaphore is accessible to at most two processes. 12. The microkernel-based OS usually runs faster than the monolithic OS. 13. Monitors can solve more problems than semaphores. 14. Process starvation is possible for pure Round-Robin scheduling.15. S is now used more often than paging.16. A pure Least-Recently-Used (LRU) page replacement policy can be efficiently implemented (in software) in a virtual memory subsystem.17. Disk scheduling algorithms try to minimize latency time. 18. The operating system switches processes by switching process IDs.19. Only one process can be in the monitor (to ensure mutual exclusion).20. In a fork() operation, the original process and the forked process are absolutely identical. II. Disk requests come in to the disk driver for tracks 10, 22, 20, 2, 40, 6, and 38 in that order. A seek takes 2 msec per track moved.1. How much seek time is needed for First-come, first served?2. How about for SSTF (Short Service Time First)?3. How about for SCAN?4. How about for LOOK?III. Consider the organization of a UNIX represented by the Inode. Assume that there are 12 direct block pointers, and a singly, doubly and triply indirect pointer in each Inode. Further, assume that the system block size and the disk sector size are both 8K. Then 1. What is the maximum supported by this system?2. Assuming no information other that the is already in main memory, how many disk accesses are required to access the byte in position 13,423,956?IV. Suppose that pages in a virtual address space are referenced in the following order: 3 2 4 2 1 3 1 5 2 3 4 2 There are three empty frames available. Assume that paging decisions are made on demand. 1. Show the contents of the frames after each memory reference for the LRU replacement policy. How many page faults occur?2. Repeat the above question for the clock policy. V. Given the following set of process:ProcessArrival TimeExecution TimeP105P201P331P464P51041. What is the average turnaround time for this set of processes under a FCFS policy?2. How about for a Round Robin policy with the time quantum length as 1?VI. Consider the following snapshot of a system:AllocationMaxAvailableABCDABCDABCDP0001100111520P110001750P213542356P306320652P400140656Answer the following questions using the bankers algorithm:1. Is the system in a safe state? If so, please show a safe sequence.2. If a request from process P1 arrives for (0,4,2,0) can the request be granted immediately?VII. For the following implementation of a banking application, say whether it either (i) works, (ii) doesnt work, or (iii) is dangerous that is, sometimes works and sometimes doesnt. If the implementation does not work or is dangerous, explain why (there maybe several errors) and show how to fix it so it does work. Note that ThreadFork does the obvious thing.BankServer() while (TRUE) ReceiveRequest(&op, &acctId1, &acctId2, &amount);if (op = transfer) ThreadFork(Transfer(acctId1, acctId2, amount);else if Transfer(acctId1, acctId2, amount) accountacctId1->Lock();acct1 = GetAccount(acctId1); /* May involve disk I/O */accountacctId2->Lock();acct2 = GetAccount(acctId2); /* May involve disk I/O */if (acct1->balance < amount) return ERROR;acct1->balance -= amount; acct2->balance += amount;StoreAccount(acct1); /* Involves disk I/O */StoreAccount(acct2); /* Involves disk I/O */accountacctId1->Unlock(); accountacctId2->Unlock();return OK;南昌大学2003考研题五,计算题(25分)1. 设有两个优先权相同的进程,P1,P2如下,令信号量S1,S2的初值均为0,已知Z=2,试问,P1,P2执行结束后,X=?,Y=?,Z=? (6分) 进程P1 进程P2 . . . . . . Y:=1; X:=1; Y:=Y+Z; X:=X+1; V(S1); P(S1); Z:=Y+1; X:=X+Y; P(S2); V(S2); Y:=Z+Y; Z:=X+Z; . . . . . .2. 设在单机系统内存中存放三道程序A,B和C,按A,B,C的优先次序运行,其内部计算机I/O操作的时间分配如下图所示. 程序A 计算30m->I/O 40ms->计算10ms 程序B 计算60m->I/O® 30ms->计算10ms 程序C 计算20m->I/O 40ms-®>计算20ms 试画出按多道运行时的时间关系图(设有两个通道,取名为通道1, 通道2,调度程序的执行时间忽略不计),并计算完成这三道程序共花多少时间及比单道程序运行节省多少时间.(9分)3. 桌子有一个盘子,每次只能放入一个水果,爸爸专向盘中放苹果,妈妈专向盘中放桔子,女儿专等吃盘中的苹果,儿子专等吃盘中的桔子.试用P, V操作写出他们能正确同步的并发程序.(10分).山东科技大学2004一、 简答题(每小题5分,共30分)1、什么是操作系统?列举4种操作系统的名称。2、进程的5种基本状态分别是什么?画出状态转换的进程状态图。3、如何理解产生死锁的4个必要条件?4、Spooling系统由几部分组成?Spooling系统有哪些好处?5、什么叫文件?试说明文件目录的作用,它一般应包括哪些信息。6、有哪些途径可以提高磁盘I/O的速度?二、(10分)在视频通信系统中,由进程pa采集一帧图像信息并存入环形缓冲区Buffer中,进程Pb从Buffer中陂一帧数据进行处理。假设Buffer的大小为N,试用P,V操作实现进程Pa和Pb。三、(10分)考虑下面的页访问串:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6,假定分别有1个,3个,5个,7个物理块。试问:若应用下面的页面替换算法,在上述四种情况下分别会出现多少次缺页中断?注意,所给定的物理块初始都为空,因此,首次访问一页时就会发生缺页中断。(1)RU替换法算法。 (2)FIFO替换算法。 (3)Optimal替换算法。中科院2 (10分)简述LRU,NRU和LFU三种页面置换算法的思想,并各给出一种可能的实现方案。3 (10分)何谓临界区?下面给出的实现两个进程互斥的算法是安全的吗?为什么?#define TRUE;#define FALSE;int flag2;flag0 = flag1 = FALSE;enter-crtsec(i)int i;while(flag1-i);flagi = TRUE;leave-crtsec(i)int i;flagi = FALSE;process i: /* i = 0 or i = 1 */.enter-crtsec(i); /* 进入临界区 */IN CRTICAL SECTIONleave-crtsec(i); /* 离开临界区 */.4 (10分)要使一个系统不发生死锁,一般可采用哪些方法?简述它们的实现原理。