1.什么是前趋图?为什么要引入前趋图?
前驱图指的是一个有向无循环图,用于描述一个进程的先后顺序。
2.试画出下面四条语句的前趋图:
S1:a=x+y;
S2:b=z+1;
S3:c=a-b;
S4:w=c+1;
3.为什么程序并发执行会产生间断性特征?
程序在并发执行时,由于它们共享系统资源,为完成同一项任务需要相互合作,致使这
些并发执行的进程之间,形成了相互制约关系,从而使得进程在执行期间出现间断性。
4.程序并发执行时为什么会失去封闭性和可再现性?
当系统中存在着多个可以并发执行的程序时,系统中的各种资源将为它们所共享,而这些资源的状态也由这些程序来改变,致使其中任意程序在运行时,其环境都必然会受到其他程序的影响。程序并发执行时,失去了封闭性自然失去了不可再现性。
5.在操作系统中为什么要引入进程的概念?它会产生什么样的影响?
为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制。
6.试从动态性、并发性和独立性上比较进程和程序。
(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源
而暂停执行,由撤销而消亡。进程有一定的生命期,而程序只是一组有序的指令集合,是静
态实体。
(2)并发性是进程的重要特征,同时也是OS 的重要特征。引入进程的目的正是为了使
其程序能和其它进程的程序并发执行,而程序是不能并发执行的。
(3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独
立调度的基本单位。对于未建立任何进程的程序,不能作为独立单位参加运行。
7.试说明PCB的作用具体表现在哪几个方面?为什么说PCB是进程存在的唯一标志?
PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在
多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程
并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。
8.PCB提供了进程管理和进程调度所需要的哪些信息?
进程管理:通用寄存器、指令计数器、程序状态字、用户栈指针
进程调度:进程状态、进程优先级、事件、其他信息
9.进程控制块的组织方式有哪几种?
线性方式,即将系统中所有的PCB都组织在一张线性表中,将该表的首址存放在内存的一个专用区域中。
链接方式,即把具有相同状态进程的PCB分别通过PCB中的链接字链接成一个队列。
索引方式,即系统根据所有进程状态不同,建立几张索引表,并把个索引表在内存的首地址记录在内存的一些专用单元中。
10.何谓操作系统内核?内核的主要功能是什么?
通常将一些与硬件紧密相关的模块、各种常用设备的驱动程序以及运行频率较高的模块都安排在紧靠硬件的软件层次中,将它们常驻内存,即通常被称为OS内核,
主要功能:中断处理、时钟管理、原语操作、进程管理、存储器管理、设备管理
11.试说明进程在三个基本状态之间转换的典型原因。
(1)就绪状态→执行状态:进程分配到CPU资源
(2)执行状态→就绪状态:时间片用完
(3)执行状态→阻塞状态:I/O请求
(4)阻塞状态→就绪状态:I/O完成
12.为什么要引入挂起状态?该状态有哪些性质?
引入挂起状态处于五种不同的需要: 终端用户需要,父进程需要,操作系统需要,对换需要和负荷调节需要。处于挂起状态的进程不能接收处理机调度。
13.在进行进程切换时,所要保存的处理机状态信息有哪些?
(1)进程当前暂存信息
(2)下一指令地址信息
(3)进程状态信息
(4)过程和系统调用参数及调用地址信息。
14.试说明引起进程创建的主要事件。
用户登录、作业调度、提供服务、应用请求。
15.试说明引起进程被撤消的主要事件。
正常结束、异常结束(越界错误、保护错、非法指令、
特权指令错、运行超时、等待超时、算术运算错、I/O 故障)、外界干预(操作员或操作系
统干预、父进程请求、父进程终止)。
16.在创建一个进程时所要完成的主要工作是什么?
(1)OS 发现请求创建新进程事件后,调用进程创建原语Creat();
(2)申请空白PCB;
(3)为新进程分配资源;
(4)初始化进程控制块;
(5)将新进程插入就绪队列
17.在撤消一个进程时所要完成的主要工作是什么?
(1)根据被终止进程标识符,从PCB 集中检索出进程PCB,读出该进程状态。
(2)若被终止进程处于执行状态,立即终止该进程的执行,置调度标志真,指示该进程被
终止后重新调度。
(3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。
(4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统
(5)将被终止进程PCB 从所在队列或列表中移出,等待其它程序搜集信息。
18.试说明引起进程阻塞或被唤醒的主要事件是什么?
(1). 向系统请求共享资源失败;
(2). 等待某种操作的完成;
(3). 新数据尚未到达;
(4). 无新工作可做.
19.为什么要在OS中引入线程?
为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。
20.试说明线程具有哪些属性?
1、进程是一个可拥有资源的独立单位,一个进程要能独立运行,它必须拥有一定的资源,包括用于存放程序正文、数据的磁盘和内存地址空间,以及它在运行时所需要的I/O设备、已打开的文件、信号量等
2、进程同时又是一个可独立调度和分派的基本单位,一个进程要能够独立运行,它还必须是一个可独立调度和分派的基本单位
21.试从调度性、并发性、拥有资源及系统开销方面对进程和线程进行比较。
调度性: 当线程切换时,仅需保存和设置少量寄存器内容,切换代价远低于进程。在同一进程中,线程的切换不会引起进程的切换,但从一个进程中的线程切换到另一个进程中的线程时,必然就会引起进程的切换。
并发性:不仅进程之间可以并发执行,而且在一个进程中的多个线程之新选间亦可并发执行,甚至还允许在一个进程中的所有线程都能并发执行。
拥有资源:进程可以拥有资源,并作为系统中拥有资源的一个基本单位。然而,线程本身并不拥系有系统资源,而是仅有一点必不可少的、能保证独立运行的资源。线程除了拥有自己的少量资源外,还允许多个线程共享该进程所拥有的资源
系统开销:在创建或撤消进程时,系统都要为之分配和回收进程控制块、分配或回收其它资源,如内存空间和I/O设备等。OS为此所付出的开销,明显大于线程创建或撤消时所付出的开
22.线程控制块TCB中包含了哪些内容?
1、线程标识符
2、一组寄存器
3、线程运行状态
4、优先级
5、线程专有存储区
6、信号屏蔽
7、堆栈指针
23.何谓用户级线程和内核支持线程?
(1) 用户级线程:仅存在于用户空间中的线程,无须内核支持。这种线程的创建、撤销、线程间的同步与通信等功能,都无需利用系统调用实现。用户级线程的切换通常发生在一个应用进程的诸多线程之间,同样无需内核支持。
(2)内核支持线程:在内核支持下运行的线程。无论是用户进程中的线程,还是系统线程中的线程,其创建、撤销和切换等都是依靠内核,在内核空间中实现的。在内核空间里还为每个内核支持线程设置了线程控制块,内核根据该控制块感知某线程的存在并实施控制。
24.试说明用户级线程的实现方法。
用户级线程是在用户空间中实现的,运行在“运行时系统”与“内核控制线程”的中间系统上。运行时系统用于管理和控制线程的函数的集合。内核控制线程或轻型进程LWP可通过系统调用获得内核提供服务,利用LWP进程作为中间系统。
25.试说明内核支持线程的实现方法。
系统在创建新进程时,分配一个任务数据区PTDA, 其中包括若干个线程控制块TCB空间。创建-一个线程分配-一个TCB,有关信息写入TCB,为之分配必要的资源。当PTDA中的TCB用完,而进程又有新线程时,只要所创建的线程数目未超过系统允许值,系统可在为之分配新的TCB;在撤销一个线程时,也应回收线程的所有资源和TCB。
26.多线程模型有哪几种类型?多对一模型有何优缺点?
多对一模型、一对一模型和多对多模型。
多对一模型的主要缺点在于,如果一个线程在访问内核时发生阻塞,则整个进程都会被阻塞;此外,在任一时刻,只有一一个线程能够访问内核,多个线程不能同时在多个处理机上运行。
27.同步机构应遵循哪些基本准则?为什么?
同步机构应遵循的基本准则是:空闲让进、忙则等待、有限等待、让权等待
原因:为实现进程互斥进入自己的临界区。