操作系统--问答题

1.请解释进程同步机制中的让权等待的概念?并说明为什么要采用让权等待?

让权等待:当进程不能获得资源的时候放弃处理机,避兔忙等。
为什么?提高CPU利用率和系统吞吐率。

2.请简述:系统调用与一般过程调用有什么差别?

(1).运行的状态不同。在程序中的过程一般或者都是用户程序 ,或者都是系统程序,即都是运行在同一个系统状态的(用户态或系统态)。
(2).进入的方式不同。一般的过程调用可以直接由调用过程转向被调用的过程。而执行系统调用时,由于调用过程与被调用过程是处于不同的状态,因而不允许由调用过程直接转向被调用过程,通常是通过访问管中断(即软中断)进入,先进入操作系统,经分析后,才能转向相应的命令处理程序。
(3).返回方式的不同。
(4).代码层次不同。一般过程调用中的被调用程序是用户级程序,而系统调用是操作系统中的代码程序,是系统级程序。

3.请描述在当前运行进程状态改变时,操作系统进行进程切换的步骤。

进程切换的步骤如下:
(1)保存当前进程上下文环境。
(2)对当前运行进程的PCB进行更新并将其移入适当的队列。
(3)挑选其他进程执行。
(4)对挑选进程PCB进行更新,包括将其状态改为运行。
(5)对存储器管理数据结构进行更新。
(6)恢复被选择进程上次移出时的处理器状态。

4.试写出P(S)操作的主要操作步骤

(1)S=S-1, (S为信号量)。
(2)若S<0,阻塞当前进程将其插入S的等待队列,调度另一进程运行。
(3)若S>=0,当前进程继续运行。

5.阐述对于互斥临界区的管理要求。

为实现进程互斥,可利用软件方法,也可在系统中设置专门的同步机制来协调度进程。
但所有的同步机制都应遵循下述4条准则: 
(1)空闲让进 :无进程处于临界区时,相应的临界资源处于空闲状态,因而可允许下个请求进入临界区的进程立即进入自己
的临界区,以有效地利用临界资源。
(2)忙则等待 : 己有进程进入自己的临界区时,相应的临界资源正被访向,所有其他试图进入临界区的进程必须等待,以保
证诸进程互斥地访问临界资源。
(3)有限等待: 对要求访问临界资源的进程,应保证该进程能在有效时间内进入自己的临界区,以免陷入“死等”
状态。
(4)让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等。

6.在操作系统中,引入缓冲的主要原因,可归结为以下几点

1.改善CPU与I/O设备间速度不匹配的矛盾。
例如一个程序,它时而进行长时间的计算而没有输出,时而又阵发性把输出送到打印机。由于打印机的速度跟不上CPU,而使得CPU长时间的等待。如果设置了缓冲区,程序输出的数据先送到缓冲区暂存,然后由打印机慢慢地输出。这时,CPU不必等待,可以继续执行程序。实现了CPU与I/O设备之间的并行工作。事实上,凡在数据的到达速率与其离去速率不同的地方,都可设置缓冲,以缓和它们之间速度不匹配的矛盾。众所周知,通常的程序都是时而计算,时而输出的。
2.可以减少对CPU的中断频率,放宽对中断响应时间的限制。
如果I/O操作每传送一个字节就要产生一次中断,那么设置了n个字节的缓冲区后,则可以等到缓冲区满才产生中断,这样中断次数就减少到1/n,而且中断响应的时间也可以相应的放宽。
3.提高 CPU和 I/O设备之间的并行性。
缓冲的引入可显著提高 CPU和设备的并行操作程度,提高系统的吞吐量和设备的利用率。
根据I/O控制方式,缓冲的实现方法有两种:
(1)采用专用硬件缓冲器。( 1分)
(2)在内存划出一一个具有n个单元的专用缓冲区,以便存放输入输出的数据。内存缓冲区又称为软件缓冲( 1分)。

7、解释页式存储管理中为什么要设置页表和快表。

页式存储管理首先把主存储器分成大小相等的分块,作为主存分配的物理单位,同时要求程序也分成与块大小一致的页面,这样就可以把作业信息按页面存放在块中。进行存储分配时,根据作业大小,确定其颠面数,在装入主存时给它分配相应数目的主存块。这些主存块可以不相邻,为了在作业执行过程中准确地查找逻辑地址与绝对地址的对应关系,系统为每个作业建立- -张页表 ,指出逻辑地址中的页号与主存块中块号的对应关系。
页表一般存放在主存储器中,当要按给定的逻辑地址进行读/写必须两次访问主存 ,延长了指令的执行周期,降低了执行速度,为了提高存取速度,系统设置一个小容置的高速缓冲存储器,利用高速缓冲存储器存放页表的一部分,这部分页表即“快表”, 利用快表可以一-次访问主存完成读写,大大缩短地址转换时间,从而提高查找速度和执行指令速度。

8.顺序文件的特点。

顺序文件是记录按其在文件中的逻辑顺序依次存入存储介质而建立的。即顺序文件中的物理记录和逻辑记录的顺序是一致的。顺序文件又包括两种:连续文件和串联文件。连续文件中次序相继的两个记录在存储介质上的位置是相邻的。串联文件(linked file)中物理记录的次序是通过指针(pointer)的链接表示的。
存取第i个文件,必须先搜索在它之前的i-1个记录。
由于顺序文件的优点是连续存取的速度快,因此主要用于只进行顺序存取、批量修改的情况。
若顺序文件较大,要检索其中一条记录,需要花费较长时间。因此增删改查某条记录很费时间。

9.什么是spooling技术?

多个进程若同时申请某个独占设备,在spooling技术中,计算机会同时答应它们的请求,将它们的请求放入缓冲区排队,依次进行处理。利用这种技术可把独占设备转变成共享的虚拟设备,从而提高独占设备的利用率。

操作系统一般为用户提供了哪三种界面?各有什么特点?

答:操作系统一般为用户提供的三种界面是:图形用户接口、命令行接口和程序接口。图形用户接口:用户利用鼠标、窗口、菜单、图标等图形界面工具,可以直观、方便、有效地使用系统服务和各种应用程序及实用工具。
命令行接口:在提示符之后用户从键盘上输入命令,命令解释程序接收并解释这些命令,然后把它们传递给操作系统内部的程序,执行相应的功能。
程序接口:也称系统调用接口。系统调用是操作系统内核与用户程序、应用程序之间的接口。在UNIX/Linux系统中,系统调用以C函数的形式出现。

进程的基本状态有哪几种?

答:进程的基本态有3种。分别是运行态。就绪态。阻塞态。

PCB的作用是什么?它是怎样描述进程的动态性质的?

答:进程控制块PCB是进程组成中最关键的部分。每个进程有唯一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发等特征是利用PCB表现出来的;
PCB是进程存在的唯一标志。
PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态信息来描述进程的动态性质。

PCB表的组织方式主要有哪几种?分别简要说明。 

答: PCB 表的组织方式主要有:线性方式、链接方式和索引方式。
线性方式是把所有进程的PCB都放在一个表中。
链接方式按照进程的不同状态把它们分别放在不同的队列中。
索引方式是利用索引表记载相应状态进程的PCB地址。

进程进入临界区的调度原则是什么?

答:一个进程进入临界区的调度原则是:
①如果有若干进程要 求进入空闲的临界区,一次仅允许一个进程进入。
②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。

简述信号量的定义和作用。P、V操作原语是如何定义的?

答:信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它是与相应资源的使用情况有关的;另一个是指向PCB的指针。当多个进程都等待同一信号量时,它们就排成一一个队列,由信号量的指针项指出该队列的头。信号量通常可以简单反映出相应资源的使用情况,它与P、V操作原语一起使用可实现进程的同步和互斥。
PV操作原语的定义:
P(S):顺序执行下述两个动作:
①信号量的值减1,即S=S-1;
②如果s≥0,进程执行;
如果s<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S.上执行V操作,把它释放出来为止)。
V(S)
顺序执行下述两个动作:
①s值加1,即S=S+1;
②如果S>0,则该进程继续运行(当前没有进程阻塞,无需唤醒其他进程);
如果s≤0,(说明有进程阻塞)则释放信号量队列上的第一个PCB (即信号量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。

计算机系统中产生死锁的根本原因是什么?

答:计算机系统中产生死锁的根本原因是:资源有限且操作不当。此外,进程推进顺序不合适也可以引发的死锁。

发生死锁的四个必要条件是什么?

答:发生死锁的四个必要条件是:互斥条件,不可抢占条件,占有且申请条件,循环等待条件。

一般解诀死锁的方法有哪三种?

答:一般解决死锁的方法有:死锁的预防、死锁的避免、死锁的检测与恢复。

是否所有的共享资源都是临界资源?为什么?

答:不是所有的共享资源都是临界资源。因为临界资源是一次仅允许一个进程使用的资源,而系统中有很多资源可以让多个进程同时使用,例如硬盘、正文段等。

原文地址:https://www.cnblogs.com/xxxxxiaochuan/p/12625671.html