操作系统习题答案

第二章

1. 试画出下面条语句的前趋图:

S1: a=5-x; S2: b=a*x; S3: c=4*x; S4: d=b+c; S5: e=d+3.

S1->S2->S4->S5

......../

......S3

3. 程序并发执行为什么会产生间断性?

因为程序在并发执行过程中存在相互制约性.

4. 程序并发执行为何会失去封闭性和可再现性?

因为程序并发执行时,多个程序共享系统中的各种资源,资源状态需要多个程序来改变,即

存在资源共享性使程序失去封闭性;而失去了封闭性导致程序失去可再现性.  

5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?

为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而引入

了进程概念.

影响: 使程序的并发执行得以实行.

6. 试从动态性,并发性和独立性上比较进程和程序?

a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体.

b. 并发性是进程的重要特征,同时也是 OS 的重要特征.引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的.

c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位.而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行.

7. 试说明 PCB 的作用?为什么说 PCB 是进程存在的唯一标志?

a. PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB 中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.

b. 在进程的整个生命周期中,系统总是通过其 PCB 对进程进行控制,系统是根据进程的 PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB 是进程存在的唯一标志.

8. 试说明进程在三个基本状态之间转换的典型原因.

a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.

b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态.

c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态.

9. 为什么要引入挂起状态?该状态具有哪些性质?

a. 引入挂起状态处于 5 中需要: 终端用户的需要,父进程的需要,操作系统的需要,对换的 需要和负荷调节的需要.

b. 处于挂起状态的进程不能接收处理机调度.

10 在进行进程切换时,所要保存的处理机状态信息主要有哪些?

a. 进程当前暂存信息;

b. 下一条指令地址信息;

c. 进程状态信息;

d. 过程和系统调用参数及调用地址信息.

11 试说明引起进程创建的主要事件.

a. 用户登陆;

b. 作业调度;  

c. 提供服务;

d. 应用请求.

12 试说明引起进程撤消的主要事件.

a. 正常结束;

b. 异常结束;

c. 外界干预;

13 在创建一个进程时,需完成的主要工作是什么?

a. 操作系统发现请求创建新进程事件后,调用进程创建原语 Creat();

b. 申请空白 PCB;

c. 为新进程分配资源;

d. 初始化进程控制块;

e. 将新进程插入就绪队列.

14 在撤消一个进程时,需完成的主要工作是什么?

a. OS 调用进程终止原语;

b. 根据被终止进程的标志符,从 PCB 集合中检索出该进程的 PCB,从中读出该进程的状态;

c. 若被终止进程正处于执行状态,应立即中止该进程的执行,并设置调度标志为真;

d. 若该进程还有子孙进程,还应将其所有子孙进程予以终止;

e. 将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统;

f. 将被终止进程(它的 PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息.

15 试说明引起进程阻塞或被唤醒的主要事件是什么?

a. 请求系统服务;

b. 启动某种操作;

c. 新数据尚未到达;

d. 无新工作可做.

16 试从调度性,并发性,拥有资源及系统开销几个方面,对进程和线程进行比较.

a. 在引入线程的 OS 中,把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;

b. 在引入线程的 OS 中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,

亦可并发执行,因而使 OS 具有更好的并发性;

c. 进程始终是拥有资源的一个独立单位,线程自己不拥有系统资源,但它可以访问其隶属进程的资源;

d. 在创建,撤消和切换进程方面,进程的开销远远大于线程的开销.

 

第四章

  1. 在动态分区分配方式中,可利用哪些分区分配算法? 

动态分区分配算法: 

                             ①首次适应算法(FF/first fit)

                              ②循环首次适应算法(next fit)

                              ③最佳适应算法(best fit) 从最小的分区开始分配

                               ④最坏适应算法(worst fit) 从最大的分区    

     2.为什么要引入动态重定位?如何实现?

       程序放在不连续的实际物理空间中,要进行逻辑地址百到物理地址的转换,实现度动态重定位一般需要页式存储管理,页式存储管理用的不是寄存器,使用的是称为page talble的数据结构page table记录了所有逻辑地址到内物理地址的转换信息,进城切换的时候需要冲洗硬件上的page table

    3.在具有快表的段页式存储管理方式中,如何实现地址变换?

       首先,必须配置一段表寄存器,在其中存放段表始址和段长TL.进行地址变换时,先利用段号S,与段长TL进行比较,若S=TL,表示段号太大,访问越界,产生越界中断信号)于是利用段表始址和段号来求出该段对应的段表项在段表中的位置,从中求出该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再用块号b和页内地址构成物理地址.

    4.分页和分段有何区别?

       段是信息的逻辑单位,它是根据用户的需要划分的,因此段对用户是可见的 ;页是信息的物理单位,是为了管理主存的方便而划分的,对用户是透明的。

       段的大小不固定,有它所完成的功能决定;页大大小固定,由系统决定

       段向用户提供二维地址空间;页向用户提供的是一维地址空间 

       段是信息的逻辑单位,便于存储保护和信息的共享,页的保护和共享受到限制。

 

典型问题:

1. 请说明什么是中断,并给出CPU响应中断并进行中断处理的一般过程。

答:中断是指计算机在执行期间,系统内部或外部设备发生了某一急需处理的事件,使得CPU暂时停止当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处,继续执行被中断的过程。

CPU响应中断并进行中断处理的一般过程如下:

⑴保存现场。CPU收到中断信号后,通常由硬件自动将处理机状态字PSW和程序计数器PC中的内容保存到中断保留区(栈)中。

⑵转中断处理程序进行中断处理。由硬件分析中断的原因,从相应的中断向量中获得中断处理程序的入口地址,并装入CPU的程序计数器中,从而使处理机转向相应的中断处理程序。

⑶中断返回。中断处理完成后通过中断返回指令,将保存在中断栈中的被中断进程的现场信息取出,并装入到相应的寄存其中,从而使处理机返回到被中断程序的断点执行。

2. 什么是虚拟设备?实现虚拟设备的关键技术是什么?

答:虚拟设备是指通过某种虚拟技术,将一台物理设备变换成若干台逻辑设备,从而实现多个用户对该物理设备的同时共享。由于多台逻辑设备实际上并不存在,而只是给用户的一种感觉,因此被称作虚拟设备。

实现的关键技术:SPOOLing技术。

3. SPOOLing系统有哪几部分组成?以打印机为例说明如何利用SPOOLing技术实现多个进程对打印机的共享。

答:SPOOLing系统有磁盘上的输入井和输出井,内存中的输入缓冲区和输出缓冲区以及输入进程和输出进程三部分组成。

在用SPOOLing技术共享打印机时,对所有提出输出请求的用户进程,系统在接受它们的请求时,并不是真正地将打印机分配给它们,而是为每个进程作下面两件事情:

⑴由输出进程在输出井中为它们申请一个空闲的缓冲区,并将要打印的数据送入其中。

⑵输出进程再为用户进程申请一张空白的用户打印请求表,并将用户的打印请求填入表中,再将该表挂到打印队列上。

至此,用户进程觉得它的打印过程已经完成,而不必等待真正的慢速的打印过程的完成。当打印机空闲时,输出进程将请求队列队首取出一张打印请求表,根据表中的要求将要打印的数据从输出井传送到内存输出缓冲区中,再由打印机进行输出打印。打印完后,在处理打印队列中的下一个打印请求表,直至打印队列空。这样,虽然系统中只有一台打印机,但系统可以响应多个进程的打印请求,为每个提出打印请求的进程在输出经中分配一个存储区,使每个用户进程都觉得自己在独占一台打印机,从而实现了打印机的共享。

 

 

 

你可能感兴趣的:(操作系统)