三、简答题
1. 客户机/服务器模型常用于网络和分布式系统,是否可以用于单机系统?
答:客户机/服务器模型是一个通用的模型。广义上讲提供服务的叫服务器,请求服务的叫客户机。在客户机/服务器操作系统中,文件服务、进程服务等功能是以服务器进程的方式运行于用户态,用户进程通过向服务器进程发出请求,获得服务器的服务。
因此,客户机/服务器模型既可以用于网络和分布式系统,也可以用于单机系统,只不过网络和分布式系统更需要这种形式。
2. 一般用户最常用的操作系统接口是什么接口?
3. 过程调用和系统调用的共同点是什么,它们与中断调用的差别是什么?
答:过程调用和系统调用的执行完全是同步的,也就是在相同的数据集上重复执行,它们的调用点是相同的,都需要保存现场信息,转去执行另外的程序,执行后返回。中断调用是异步的,在相同的数据集上重复执行,中断的发生点可以是不同的。
4. 多道程序系统如何实现CPU计算与I/O操作的并行? 答:在多道程序系统中,当需要I/O操作时,不需要CPU直接控制I/O操作的完成。可利用通道、DMA及中断机构来直接控制I/O操作的完成,这时CPU也不是专门空闲等待I/O操作的完成,而是转去执行另一道程序。
5. 分时系统和实时系统的主要区别?
6. 举例说明,多道程序的引入提高了系统资源的利用率,同时也使操作系统复杂化。
答:多道程序系统中存在着并发和并行操作。例如,在内存中同时装入几个用户程序,I/O操作与CPU计算机并行。由并发和并行而产生一系列问题:如何从一个活动切换到领一个;怎样保护一个活动使其另外一些活动的影响;如何实现相互依赖的活动间的同步等。
7. 为什么中断机构对于多道操作系统是必不可少的?
答:很多进程的切换是由中断引起的,如时钟中断,尤其是分时系统。用户程序进行系统调用时通过软中断来实现,如TRAP。通道和外设的操作也要向操作系统发送中断
8. 网络操作系统和分布式操作系统的区别? 9. 多用户分时系统如何克服多道批处理系统的缺点?
答:尽管多道批处理系统已经大大地提高了计算机系统的资源利用率,但是它的致命缺点是缺少交互性。怎样才能使系统既具有交互性又不使资源的利用率降低?资源利用率和交互性是一对矛盾。如果一台计算机能够连接多个操作台(终端),允许多个用户同时在操作台上操作,每个操作台上的拥护执行一个程序,形成多个程序的并发执行。通过并发程序的分时执行,确保每个用户操作的计算机终端就好象单独一台计算机一样。这样就避免了只有一个操作台时,大量的计算机时间被一个用户浪费,同时又克服了多道批处理系统非交互性的缺点。
10. 程序的并发执行为什么会有间断性?
答:并发执行是指系统内有多道程序在宏观上\"同时\"执行,但系统内往往只有一台处理机(CPU),因此只能分时地为多个程序服务。就一道程序而言,往往不是一次能够运行完成,而是以\"走走停停\"的方式完成其运行,这就是并发系统内程序执行的间断性。
11. 进程能自己将自己唤醒吗?进程能自己将自己撤销吗? 答:唤醒进程和撤消进程都是要通过CPU上运行程序来实现的。一个进程入睡了,它就不可能被调度到CPU上运行;一个进程在撤消前必须先进入终止状态,而处于终止状态的进程不可能被调度到CPU上运行。因此,进程被唤醒、被撤消都不能由自己来完成,只能由别的进程实现。
12. 父进程创建子进程之后,父子进程间的关系是什么? 13. 什么是线程?进程和线程的关系是什么? 14. 简述引进线程的好处。 答:引进线程的好处为:
(1)以线程作为系统调度的基本单位,减少了系统的时空开销。以进程为系统调度的基本单位的系统中,进程的切换是很频繁的。在切换中由于要保留当时的运行环境,还要设置新选中的进程的运行环境,这既花费了处理机的时间,又增加了主存的空间,从而也限制了系统进程的数量和进程的切换速度。
(2)引进线程提高了系统的并行能力。线程作为进程内的一个可执行实体,减少了并行粒度。线程作为调度的基本单位而不是资源分配的基本单位,调度更为容易,而且采用线程提高系统的并行能力比采用进程更为有效。
(3)同一进程的线程共享进程的用户地址空间,所以同一进程的线程间的通信更容易实现。
15. 当系统内所有的进程都进入睡眠之后,系统还有可能复活吗? 16. 当一个进程的父进程被撤销时,该进程是撤销好还是不撤销好? 答:在实际系统中,两种处理办法都是可行的,且各有优缺点。若撤消,则该进程的任务可能还没有完成,这显然是不利的,特别是当该进程的运行结果对其他进程的运行很重要(如该进程是其他进程的前趋进程,没有它的运行结果其他进程无法运行)时;若不撤消,则该进程又可能成为不可控的\"孤儿\",从而产生不可预测的结果。比较好的做法是,当一个进程的父进程被撤消时,可以将该进程\"过继\"给系统内一个级别较高的进程(如Unix中的1#进程),让它有一个\"新的父亲\",这样既可以继续完成其任务又不会成为不可控的。
17. 为什么说互斥也是一种同步?
答:互斥指的是某种资源一次只允许一个进程使用,即你在使用的时候我不能使用;我在使用的时候你不能使用。这就是一种协调,一种\"步伐\"上的一致,因而也就是一种同步。但是,为了求解实际问题,将\"同步\"与\"互斥\"加以区别是有好处的,因为这两种问题的求解方法是不同的。
18. 对临界区管理的要求是什么? 答:对临界区管理的要求是:
(1)当有若干个进程要求进入它们的临界区时,应在有限的时间
内使一个进程进入临界区,进程之间不应相互等待而使谁都不能进入临界区。
(2)每次只允许一个进程进入临界区内。 (3)进程在临界区内逗留应在有限的时间范围内。
19. 进程之间存在哪几种相互制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?
(1)若干同学去图书馆借书。 (2)两队举行篮球比赛。 (3)流水线生产的各道工序。 (4)商品生产和消费。
答:进程间存在着两种相互制约的关系:直接制约关系(即同步问题)和间接制约关系(即互斥问题)。同步问题是存在逻辑关系的进程之间相互等待产生的制约关系,互斥问题是相互无逻辑关系的进程间竞争使用相同的资源所发生的制约关系。
(1)属于互斥关系,因为书的个数是有限的,一本书只能借给一个同学。
(2)属于互斥关系,篮球只有一个,两队都要争夺。 (3)属于同步关系,各道工序的开始都依赖前道工序的完成。 (4)属于同步关系,商品没生产出来,消费无法进行,商品未消费完,生产也无需进行。
20. 高级调度和低级调度的主要任务是什么?为什么引入中级调度? 答:(1)高级调度又称为作业调度。它是批处理系统中使用的一种调度。其主要任务是按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中。
(2)低级调度又称进程调度。它是距离硬件最近的一级调度。其主要任务是按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。
(3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而
是调其到外存上等候。此时的进程状态为挂起状态。当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。
21. 在作业调度中需作出哪些决定? 22. 在剥夺调度中,有哪些剥夺原则?
答:(1)时间片原则。在轮转算法中,CPU轮流为诸多进程服务,每个进程运行完自己的时间片后,系统就将CPU 剥夺过来,交给下一个进程使用。
(2)优先级原则。为紧迫的作业赋予较高的优先级,这种作业到达系统或由阻塞状态被唤醒后,若其优先级高于当前运行的进程的优先级,可以剥夺当前运行进程的CPU。
(3)短作业(进程)优先原则。若一个作业(进程)到达系统,其运行长度比当前运行的进程长度明显的短,则剥夺当前运行的进程CPU。
23. 引起进程调度的主要因素有:
24. 何为死锁?产生死锁的原因和必要条件是什么?
答:(1)死锁是指多个进程因竞争资源而造成的一种僵持状态。若无外力作用,这些进程都将永远处于阻塞状态,不能再运行下去。
(2)产生死锁的原因有:资源不足、进程推进次序不当。 (3)产生死锁的必要条件有:互斥条件、请求和保持条件、环路等待条件。
25. 比较三种解决死锁的方法? 答:比较三种解决死锁的方法:
(1)预防死锁方法,主要是破坏产生死锁的必要条件。该方法是最容易实现的,但系统资源利用率较低。
(2)避免死锁方法,比较实用的有银行家算法(Banker Algorithm)。该算法需要较多的数据结构,实现起来比较困难,但资源利用率最高。
(3)检测死锁方法是基于死锁定理设计的。定期运行该算法对系统的状态进行检测,发现死锁便予以解除。其中,需要比较一下各咱
死锁解除方案的代价,找到代价最小的方案。该方法最难实现,资源利用率较高。
26. 分页存储管理与分段管理的主要区别是什么?提出分页管理和分段管理的目的是什么?
答:分页与分段存储管理的主要区别如表所列 分页分段
一维连续逻辑地址空间二维逻辑地址空间 页是信息的物理单位段是信息的逻辑单位 页是面向系统的段是面向用户的
页内的信息逻辑上是不可能完整的段内的信息在逻辑上是完整的 页的大小固定,由系统划分段长可变 对用户透明用户可见
便于存储保护适于动态链接和共享
以页长为单位分配空间不需要紧凑技术以段长为单位分配空间 以页为单位进行交换以段为单位进行交换 存在内零头存在外零头,需采用紧凑技术
提出分页管理的目的是为了提高内存空间的利用率;提出分段管理的目的除了可以提高内存空间的利用率(相对分区管理而言)外,主要是为了更好的实现程序的共享和动态链接,方便用户编程。
27. 虚存管理与实存管理的根本区别是什么?
答:根本区别就在于,虚拟管理允许部分装入和部分对换,而实存管理不允许这样做。所谓\"部分装入\",指的是一道应用程序不是全部装入内存以后才开始执行而是只装入其中一部分,甚至一点都不装入就开始运行,然后在运行的构成中根据需要逐步的装入其余部分;\"部分对换\",指的是当内存已满而又有新的将\"部分\"需要装入时,要把已在内存的某一\"部分\"换出去,以腾出空间存放新来者。部分装入和部分对换的结果是可以用较小的内存运行较大的程序。实存管理则不同,它所要求的是整体装入。
28. 就虚存回答以下问题: (1)虚存的应用背景是什么?
(2)虚存的可行性是什么? (3)实现虚存的主要技术是什么? (4)虚存可以有多大?
答:(1)虚存的应用背景是用小内存运行大程序。这里的\"大程序\"是指比整个内存用户空间还要大的程序,它可以是一道程序,也可以是多道程序之和。
(2)虚存的可行基础是程序运行的局部性原理。
(3)实现虚存的主要技术是部分装入、部分对换、局部覆盖、动态重定位。
(4)从原理上讲,虚存空间就是CPU逻辑地址所给出的空间。例如,逻辑地址是25位,则虚存空间就是225=32MB;但实际的虚拟存储器的容量还要受辅存和内存空间之和的限制,实际的虚存容量不能超过这两个物理空间之和。29. I/O控制方式有几种?分别适用何种场合?
答:I/O控制方式共有四种:
(1)程序I/O方式,又称作\"忙-等\"方式。该方式执行一个循环程序,反复查询外设状态,如果外设\"忙碌\"则循环查询直到查得外设状态为\"闲置\"时止。该方式适用于机内没有中断机构得场合。
(2)中断控制I/O方式。该方式在进行I/O时,CPU向设备控制器发出I/O命令后便转其他任务得处理,外设操作由设备控制器控制,CPU于外设并行工作。当外设完成I/O后向CPU发中断信号,CPU只需花费很少的时间进行I/O的善后处理,此前无须进行干预。该方式适用于低速设备I/O,并可配合DMA和通道方式实现I/O。
(3)DMA(直接内存访问)方式。该方式适用于高速外设I/O,一次可以在外设与内存之间传输一个或多个数据快,传输完毕后才需CPU干预。
(4)通道方式。该方式中系统预先要将I/O的过程实现为一段通道程序,置于内存的特定位置,而后启动通道。由通道负责执行通道程序对外设进行I/O控制,CPU转其他程序运行。I/O完成后通道向CPU发中断信号,CPU花很少时间作善后处理。
30. 试说明DMA的工作流程。
31. 何谓安全分配方式和不安全分配方式? 答:安全分配方式和不安全分配方式的说明如下:
(1)安全分配是一种\"摒弃请求和保持条件\"的资源分配方式。在这种方式中,一个进程请求资源一旦获得(例如I/O请求时获得所需的设备),该进程就由运行状态变为阻塞状态,使它不可能再请求新资源。相反,当该进程再开始运行时(例如I/O完成后被唤醒),它已不再占有该资源。因此,这种分配摒弃了造成死锁的一个条件,分配是安全的。这种分配方式的缺点是进程推进速度慢,因为进程与I/O是串行的。
(2)不安全的分配方式是指进程在提出字请求时(例如I/O请求)并不将它阻塞,而是允许它继续使用CPU,并提
出第二次资源请求。这样,若第二次请求的资源已被其他今年成占用使该进程被阻塞时,则该进程具备了\"请求和保持\"条件,可能产生死锁,因而说,这种分配是不安全的分配。
32. 试比较说明进程和程序的区别有哪些?
答:进程和程序是紧密相关而又完全不同的两个概念:
1、每个进程实体中包含了程序段和数据段这两个部分,因此说进程是与程序是紧密相关的。但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进程控制块PCB。
2、进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建而产生、由调度而执行、由撤消而消亡,即它具有一定的生命周期。而程序则只是一组指令的有序集合,并和永久地存放在某种介质上,其本身不具有运动的含义,因此是静态的。
3、多个进程实体可同时存放在内存中并发地执行,其实着正是引入进程的目的。而程序(在没有为它创建进程时)的并发执行具有不可再现性,因此程序不能正确地并发执行。
4、进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位。而因程序不具有PCB,所以它是不可能在多道程序环境下独立运行的。
5、程与程序不一一对应。同一个程序的多次运行,将形成多个不同的进程;同一个程序的一次执行也可以产生多个进程;而一个进程也可以执行多个程序。
33. 什么是文件的逻辑结构和文件的物理结构?
答:文件的逻辑机构是从用户的观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。
文件的物理结构,又称为文件的存储结构,是指文件在外存上的存储组织形式。这不仅与存储性能有关,而且与所采用的外存分配方式有关。
34. 影响缺页中断率有哪几个主要因素? 答:影响缺页中断率的因素有四个:
①分配给作业的主存块数多则缺页率低,反之缺页中断率就高。 ②页面大,缺页中断率低;页面小缺页中断率高。
③程序编制方法。以数组运算为例,如果每一行元素存放在一页中,则按行处理各元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。
④页面调度算法对缺页中断率影响很大,但不可能找到一种最佳算法。
35. 具体阐述常用的几种文件物理结构及其优缺点。 答:常见的文件物理结构有以下几种: 1、顺序结构
又称连续结构。这是一种最简单的物理结构,它把逻辑上连续的文件信息依次存放在连续编号的物理块中。只要知道文件在存储设备上的起始地址(首块号)和文件长度(总块数),就能很快地进行存取。
这种结构的优点是访问速度快,缺点是文件长度增加困难。 2、链接结构
这种结构将逻辑上连续的文件分散存放在若干不连续的物理块中,每个物理块设有一个指针,指向其后续的物理块。只要指明文件第一
个块号,就可以按链指针检索整个文件。
这种结构的优点是文件长度容易动态变化,其缺点是不适合随机访问。
3、索引结构
采用这种结构,逻辑上连续的文件存放在若干不连续的物理块中,系统为每个文件建立一张索引表,索引表记录了文件信息所在的逻辑块号和与之对应的物理块号。索引表也以文件的形式存放在磁盘上。给出索引表的地址,就可以查找与文件逻辑块号对应的物理块号。如果索引表过大,可以采用多级索引结构。
这种结构的优点是访问速度快,文件长度可以动态变化。缺点是存储开销大,因为每个文件有一个索引表,而索引表亦由物理块存储,故需要额外的外存空间。另外,当文件被打开时,索引表需要读入内存,否则访问速度会降低一半,故又需要占用额外的内存空间。
4、Hash结构
又称杂凑结构或散列结构。这种结构只适用于定长记录文件和按记录随机查找的访问方式。
Hash结构的思想是通过计算来确定一个记录在存储设备上的存储位置,依次先后存入的两个记录在物理设备上不一定相邻。按Hash结构组织文件的两个关键问题是:
定义一个杂凑函数;解决冲突; 5、索引顺序结构
索引表每一项在磁盘上按顺序连续存放在物理块中。 36. 简述通道及通道控制结构。
37. 什么是固定分区?什么是可变分区?各有什么优缺点? 答:固定分区:系统将内存划分为若干固定的分区,当作业申请内存时,系统为其选择一个适当的分区,并装入内存运行。由于分区大小是事先固定的,因而可容纳作业的大小受到限制,而且当用户作业的地址空间小于分区的存储空间时,浪费了一些存储空间。
可变分区:是指在作业装入内存时建立分区,使分区的大小正好与作业要求的存储空间相等。引入可变分区方法,使内存分配有较大
的灵活性,也提高了内存利用率。但是可变分区会引起碎片的产生。
38. 在虚存中,页面在内存与外存中频繁地调试,系统效率急剧下降,称为颠簸。试说明产生颠簸的原因。通过什么方式可以防止颠簸的发生?
答:颠簸是由缺页率高而引起的。
系统规定缺页率的上界和下界。当运行进程缺页率高于上界时,表明所分给它的物理页面数过少,应当增加;反之,当运行进行缺页率低于下界时,表明所分给它的物理页面数过多,可以减少。这样,根据缺页率反馈可动态调整物理页面的分配,以防止颠簸的发生。
39. 计算机系统怎样实现存储保护?
答:一般硬件设置了基址寄存器和限长寄存器。
中央处理器在目态下执行系统中,对每个访问主存的地址都进行核对,若能满足:基址寄存器值≤访问地址≤基址寄存器值+限长寄存值,则允许访问,否则不允许访问。并且不允许用户程序随意修改这两个寄存器的值。这就实现了存储保护。
40. 给出系统总体上的中断处理过程。
答:CPU每执行完一条指令就去扫描中断寄存器,检查是否有中断发生,若没有中断就继续执行下条指令;若有中断发生就转去执行相应的中断处理程序。中断处理过程可粗略的分为以下四个过程:
①保护当前正在运行程序的现场;
②分析是何种中断,以便转去执行相应的中断处理程序; ③执行相应的中断处理程序; ④恢复被中断程序的现场。 四、综合应用题
因篇幅问题不能全部显示,请点此查看更多更全内容