影响:使程序的并发执行得以实行。
6.试从动态性,并发性和独立性上比较进程和程序?
答:(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。进程有一定的生命期,而程序只是一组有序的指令集合,是静态实体。
(2)并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。 (3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。对于未建立任何进程的程序,不能作为独立单位参加运行。
7.试说明PCB的作用,为什么说PCB是进程存在的惟一标志?
答:PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。
8.PCB提供了进程管理和进程调度所需要的哪些信息?
答:进程标识符、处理机状态、进程调度信息、进程控制信息。
9、进程控制块的组织方式有哪几种?
答:1)线性方式(线性表),2)链接方式(链接队列),3)索引方式(索引表)。
10、何谓操作系统内核,内核的主要功能是什么? 答:现代操作系统一般将os划分为若干个层次,再将os的不同功能分别设置在不同的层次中。往往将一些与硬件紧密相关的(如中断处理程序)、各种常用的设备驱动程序以及运行频率较高的模块(如时钟管理、进程调度和许多模块公用的一些基本操作)都安排在紧靠硬件的软件层次中,使之常驻内存,并对他们进行保护。通常把这一部分称之为操作系统的内核。
负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
11.试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成
12.为什么要引入挂起状态?该状态有哪些性质?
答:1、引入挂起状态处于五种不同的需要: 终端用户需要,父进程需要,操作系统需要,对换
需要和负荷调节需要。
2、处于挂起状态的进程不能接收处理机调度。
13.在进行进程切换时,所要保存的处理机状态信息有哪些? 答:进行进程切换时,所要保存的处理机状态信息有: (1)进程当前暂存信息
(2)下一指令地址信息 (3)进程状态信息
(4)过程和系统调用参数及调用地址信息。 14.试说明引起进程创建的主要事件。
答:引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求。
15.试说明引起进程被撤销的主要事件。
答:引起进程被撤销的主要事件有:1、正常结束;
2、异常结束:越界错误、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O 故障;
3、外界干预:操作员或操作系统干预、父进程请求、父进程终止。 16.在创建一个进程时所要完成的主要工作是什么?
进程之间存在着直接制约和间接制答:
(1)OS 发现请求创建新进程事件后,调用进程创建原语Creat(); 约两种制约关系,其中直接制约(同(2)申请空白PCB; 步)是由于进程间的相互合作而引(3)为新进程分配资源;
起的,而间接制约(互斥)则是由(4)初始化进程控制块;
于进程间共享临界资源而引起的。 (5)将新进程插入就绪队列.
17.在撤销一个进程时所要完成的主要工作是什么? 答:
(1)根据被终止进程标识符,从PCB 集中检索出进程PCB,读出该进程状态。 (2)若被终止进程处于执行状态,立即终止该进程的执行,置调度标志真,指示该进程被
终止后重新调度。
(3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。 (4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统。
(5)将被终止进程PCB 从所在队列或列表中移出,等待其它程序搜集信息。
18.试说明引起进程阻塞或被唤醒的主要事件是什么?
答:a. 请求系统服务;b. 启动某种操作;c. 新数据尚未到达;d. 无新工作可做.
19.为什么要在OS 中引入线程? 答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具
有更好的并发性,提高CPU的利用率。进程是分配资源的基本单位,而线程则是系统调度的 基本单位。
20.试说明线程具有哪些属性?
答:(1)轻型实体(2)独立调度和分派的基本单位(3)可并发执行(4)共享进程资源。
21. 试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较。 答:
(1)调度性。线程在OS 中作为调度和分派的基本单位,进程只作为资源拥有的基本单位。
(2)并发性。进程可以并发执行,一个进程的多个线程也可并发执行。
(3)拥有资源。进程始终是拥有资源的基本单位,线程只拥有运行时必不可少的资源,本
身基本不拥有系统资源,但可以访问隶属进程的资源。 (4)系统开销。操作系统在创建、撤消和切换进程时付出的开销显著大于线程。 22.线程控制块TCB中包含了哪些内容?
答:一般TCB中的内容较少,因为有关资源分配等多数信息已经记录于所属进程的PCB中.
TCB中的主要信息包括线程标识、线程状态、调度参数、现场、链接指针; 其中现场信息主要包括通用寄存器、指令计数器PC以及用户栈指针.对于操作系统支持的线程,TCB中还应包含系统栈指针。 23.何谓用户级线程和内核支持线程? 答:
(1)用户级线程:仅存在于用户空间中的线程,无须内核支持。这种线程的创建、撤销、
线程间的同步与通信等功能,都无需利用系统调用实现。用户级线程的切换通常发生在一个
应用进程的诸多线程之间,同样无需内核支持。
(2)内核支持线程:在内核支持下运行的线程。无论是用户进程中的线程,还是系统线程
中的线程,其创建、撤销和切换等都是依靠内核,在内核空间中实现的。在内核空间里还
为每个内核支持线程设置了线程控制块,内核根据该控制块感知某线程的存在并实施控制。
24.试说明用户级线程的实现方法。 答:用户级线程是在用户空间中的实现的,所有的用户级线程都具有相同的结构,运行在一个中间系统上。
运行时系统:用于管理和控制线程的函数的集合。 内核控制线程或轻型进程LWP:可通过系统调用获得内核提供服务,利用LWP进程作为中间系统。
25.试说明内核支持线程的实现方法。
答:系统在创建新进程时,分配一个任务数据区PTDA,其中包括若干个线程控制块TCB
空间。创建一个线程分配一个TCB,有关信息写入TCB,为之分配必要的资源。当PTDA
中的TCB 用完,而进程又有新线程时,只要所创建的线程数目未超过系统允许值,系统可
在为之分配新的TCB;在撤销一个线程时,也应回收线程的所有资源和TCB。 26. 多线程模型有哪几种类型?多对一模型有何优缺点?
答:多对一模型、一对一模型和多对多模型。 多对一模型的主要缺点在于,如果一个线程在访问内核时发生阻塞,则整个进程都会被阻塞;此外,在任一时刻,只有一个线程能够访问内核,多个线程不能同时在多个处理机上运行。
第三章处理机调度与死锁
1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度? 答:高级调度的主要任务是根据某种算法,把外存上处于后备队列中的那些作业调入内存。
低级调度是保存处理机的现场信息,按某种算法先取进程,再把处理器分配给进程。
引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。使那些暂时不能运行的进程不再占用内存资源,将它们调至外存等待,把进程状态改为就绪驻外存状态或挂起状态。
2.处理机调度算法的共同目标是什么? 批处理系统的调度目标又是什么? 答:共同目标:资源利用率,公平性,平衡性,策略强制执行。
批处理系统的调度目标:平均周转时间短,系统吞吐量高,处理机利用率高。 3.何谓作业、作业步和作业流?
答:作业包含通常的程序和数据,还配有作业说明书。系统根据该说明书对程序的运行进行控制。批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4.在什么情况下需要使用作业控制块JCB?其中包含了哪些内容?
答:每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识;2)用户名称;3)用户账户;4)作业类型(CPU繁忙型、I/O 芳名型、批量型、终端型);5)作业状态;6)调度信息(优先级、作业已运行);7)资源要求;8)进入系统时间;9) 开始处理时间;10) 作业完成时间;;11) 作业退出时间12) 资源使用情况等
5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?
答:作业调度每次接纳进入内存的作业数,取决于多道程序度。应将哪些作业从外存调入内存,取决于采用的调度算法。最简单的是先来服务调度算法,较常用的是短作业优先调度算法和基于作业优先级的调度算法。 6.为什么要引入高响应比优先调度算法?它有何优点?
答:在批处理系统中,FCFS算法所考虑的只是作业的等待时间,而忽视了作业的运行时间。而SJF算法正好与之相反,只考虑作业的运行时间,而忽视了作业的等待时间。高响应比优先调度算法则是既考虑了作业的等待时间,又考虑作业运行时间的调度算法,因此既照顾了短作业,又不致使长作业的等待时间过长,从而改善了处理机调度的性能。
7.试说明低级调度的主要功能。
保存处理机的现场信息、按某种算法选取进程、把处理机分配给进程
8.在抢占调度方式中,抢占的原则是什么?
答:抢占的原则有:时间片原则、优先权原则、短作业优先权原则等。
9.在选择调度方式和调度算法时,应遵循的准则是什么? 答:
(1)面向用户的准则:周转时间短、响应时间快、截止时间的保证、优先权准则。
(2)面向系统的准则:系统吞吐量高、处理机利用率好、各类资源的平衡利用。
10.在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?
答:批处理系统的调度算法:短作业优先、优先权、高响应比优先、多级反馈队列调度算法。
分时系统的调度算法:时间片轮转法。 实时系统的调度算法:最早截止时间优先即EDF、最低松弛度优先即LLF算法。 11.何谓静态和动态优先级?确定静态优先级的依据是什么?
答:静态优先级是指在创建进程时确定且在进程的整个运行期间保持不变的优先级。
动态优先级是指在创建进程时赋予的优先权,可以随进程推进或随其等待时间增加而改变的优先级,可以获得更好的调度性能。
确定进程优先级的依据:进程类型、进程对资源的需求和用户要求。
12.试比较FCFS和SPF两种进程调度算法。