【操作系统】第二章问题与解答

来源:默认网盘

1、什么是前趋图?为什么要引入前趋图?

 


2、画出下面语句的前趋图。

  • S1:a=x+y;

  • S2:b=z+1;

  • S3:c=a-b;

  • S4:w=c+1;

 


3、为什么程序并发执行会产生间断性特征

由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间形成了相互制约的关系。

如同题目2的S3某个步骤需要用S2的数据,就需要暂停,等到S2运行后,S3继续运行


4、程序并发执行时为什么会失去封闭性可再生性

失去封闭性:

程序在并发执行时,由于它们共享系统资源,这些资源的状态也由这些程序改变,导致,某个程序运行时,它的环境会受到其它程序的影响

失去可再生性:

程序并发执行时,由于它们共享系统资源,如果某些程序某个共享变量进行操作,这些程序运行的顺序不同,会对变量进行不同的修改结果。由于失去了封闭性,即使环境相同但执行结果也会不同


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

为了解决程序并发执行时,程序失去了“封闭性”和“可再生性”的问题,而引入“进程”概念。

进程控制块(PCB)

专门用来记录进程活动过程基本情况的数据结构

进程的构成

程序段、数据段、PCB三个一起组成了进程实体

进程的定义:

进程是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源分配和调度的独立单位


6、从动态性、并发性、独立性比较进程与程序。

动态性:

动态性是进程最基本的性质,进程有一定的生命周期,进程是动态的;而程序只是指令的集合,程序是静态的

并发性:

并发性是进程重要的性质,也是OS的重要性质。多个进程同时存在于内存中,并在一段时间同时运行,某个瞬间只有一个进程在运行,但在某段时间内,cpu切换不同进行运行,所以在一段时间内,表现为多个进程同时运行。

独立性:

进程实体是能独立运行、独立获得资源、独立接受调度的基本单位,没有建立1PCB的程序不能作为一个独立的单位参与运行。

异步性:

进程按各自独立,不可预知的速度向前推进。

为了能使进程并发执行结果是可再现的,OS引入进程同步机制


7、PCB的作用具体表现在哪些方面?为什么说PCB是进程存在的唯一标志?

表现方面

PCB用来保存每个进程的活动信息,包括进程标识、占用空间、运行状态、资源使用等信息。

原因

系统总是通过PCB对进程进行控制,也只能通过PCB感知进程的存在。


8、PCB提供了进程管理和进程调度所需要的哪些信息?

进程标识符:

用来唯一地标识一个进程,pid

处理机状态:

当进程被切换时,处理机状态信息必须保存在相对PCB中

如,下一条指令地址程序状态字PSW

进程调度信息:

调度:决定进程执行顺序

包含进程状态进程优先级已经等待cpu时间已经执行时间等

进程控制信息:

程序和数据的地址、进程同步和通信机制


9、进程控制块的组织方式有哪几种?

3种,线性方式、链接方式、索引方式

线性方式

所有PCB都在一张表中

链接方式

具有相同状态的进程PCB链接成一个队列,就形成了“就绪队列”、“阻塞队列”、“空白队列”等。

索引方式

根据进程状态不同,建立就绪队列表、阻塞队列表等。每个索引表中,记录PCB在PCB表中的地址。


10、什么是操作系统内核?内核的主要功能是什么?

定义:将一些与硬件紧密相关的模块,各种常用的设备驱动程序,将它们常驻内存中。

功能:中断处理时钟管理原语操作


11、说明进程在三个基本状态之间转换的典型原因。

就绪状态的程序,被分配处理机后,即可变成运行状态

运行状态的进程,因为缺少资源,进入阻塞状态;或因为时间片用完,进入就绪状态

阻塞状态的进程,获取到需要的资源,重新变成就绪状态不能直接变成运行状态!!!


12、为什么要引入扶起状态?该状态有什么性质?

原因:为了分析各观察进程;系统为了减少负荷,将不重要的进程挂起;

性质:处于挂起状态的进程,不能接收处理机调度


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

  1. 下一条指令的地址

  2. 程序状态字PSW

  3. 过程中和系统调用参数及调用地址


14、创建一个进程时所要完成的工作。

申请空白PCB

为新进程申请唯一的数字标识符,并从PCB集合中,拿一个空白PCB

为进程分配运行所需的资源

如内存、文件、I/O设备、处理机等

初始化PCB

初始化标识信息,将标识符pid父进程pid填写入PCB

初始化处理机状态信息:程序计数器指向入口地址

初始化处理机控制信息:将进程设置为就绪/静止就绪状态,设置优先级


15、在撤消一个进程所要完成的主要工作是什么?

结束进程

根据进程的标识符,从PCB集合中找到该进程的PCB,读出该进程状态

  1. 若该进程正在被执行,需要立即终止进程

  2. 若该进程还有子子孙孙进程,需要将子孙进程全部停止

  3. 将被终止的进程资源全部还给父进程不系统

  4. 将终止进程的PCB从所有队列中除去


16、为什么要在OS中引入线程?

引入线程,为了减少程序在并发执行时所付出的时空开销,使OS有更好的并发性


17、说明线程拥有的属性。

调度的基本单位

传统的OS中,进程是作为独立调度和分派的基本单位

引入线程的OS中,线程作为独立调度和分派,能独立运行的基本单位。

切换线程的*代价远低*切换进程的代价。

并发性

不同进程可以并发执行;

同一个进程多个线程可以并发执行不同进程多个线程也可以并发执行。

拥有资源

进程作为拥有资源的基本单位

线程本身不拥有资源,仅有一点必不可少的,让线程能运行的资源;

多个线程可以共享该进程的全部资源

独立性

每个进程拥有一个独立的地址空间资源不同进程不能相互访问

同一个进程的不同线程,因为可以共享进程的全部资源,并需要不同线程相互合作,因为独立性很低


18、试说明用户级线程的实现方法。

  1. 所有线程的创建、撤消等功能,无需内核的支持,线程的TCB也设置在用户空间


19、引起创建进程的事件

  1. 用户登录:用户登录成功,系统为用户创建一个进程

  2. 作业调度:调度某个作业到内存时,会为作业创建进程

  3. 提供服务:运行中的用户程序提出某个请求后,系统专门创建一个进程,用来提供服务

  4. 应用请求:用户进程已经创建的进程,如某个用户进程创建同进程的线程

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录