操作系统课后答案第二章

                            **第二章 进程的描述与控制**

第二章 进程的描述与控制
1、什么是前驱图?为什么要引入前驱图?
答:前驱图:前驱图是一个有向,不循环图。用于描述进程之间执行的先后关系。图中每个点可以表示一个程序段、进程,乃至一条语句;结点间的有向边则用来表示两个结点之间存在的偏序或前趋关系。
原因:引入前趋图可以形象地表示进程之间的前后关系和顺序,可以更好的描述进程的顺序和并发执行。
2、
在这里插入图片描述

3、为什么程序并发执行会产生间断性特征?
答:程序在并发执行时,由于他们共享系统资源,以及为完成某一项任务相互合作,致使这些并发执行的程序之间,形成了相互制约的关系,从而产生间断性特征。
相互制约导致并发程序有“执行-暂停-执行”这种间断性的活动规律。
4、程序并发执行为什么会失去封闭性和可再现性?
答:程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。这样,在某个程序执行时,必然会受到其他程序的影响,而这也导致其失去可再现性。即程序经过多次执行后,虽然他们执行时的环境和初始条件相同,得到的结果却不相同。
5、操作系统为什么要引入进程的概念?会产生什么影响?
答:原因:
在多道程序环境下,程序的执行属于并发执行,此时他们将失去封闭性,并具有间断性和结果不可再现性的特征,这也决定了通常的程序是不能参加并发执行的,因为程序的执行结果是不可再现的,这样,程序的运行也就失去了意义。这样,为了对并发的程序加以控制和描述,引入了“进程”的概念。
影响:
进程是进程实体的运行过程,进程是系统进行资源分配和处理机调度的独立单位,进程的引入使得程序的并发执行得以实现。
6、试从动态性,并发性,独立性上比较进程和程序
答:进程是:动态性、能并发执行、高度独立性。程序是:静态、不能并发执行、没有独立性。
动态性:进程是进程实体的一个执行过程,动态性是进程最基本的特征。动态性表现在“由创建而产生,由调度而执行,由撤销而消亡”。可见,进程实体具有一定的生命周期。程序知识一组有序指令的集合,存放于某种介质上,其本身并不具有动态的含义,因而是静态的。
并发性:并发性是指多个进程实体同时存在于内存中,在一段时间内同时运行,并发性是进程最重要的特征,同时也成为OS最重要的特征,引入进程的目的就在于为了使进程实体和其他进程实体能并发执行。而程序并发执行会失去封闭性,而且具有间断性和结果不可再现性的特征,这使得程序不能参加并发执行,因为程序的执行结果是不可再现的,这样,程序的运行也就失去了意义。
独立性:进程实体是一个能独立运行、独立分配资源和处理机调度的基本单位。具有高度的独立性。但凡未建立PCB的程序都不能作为一个独立的单位参与运行。
7、试说明PCB的作用具体表现在那几个方面,为什么说PCB是进程存在的唯一标志?
答:作用:(1)进程控制块是进程实体中的一部分,是操作系统中最重要的记录型数据结构。(2)PCB记录了操作系统所需要的进程控制和进程调度的全部信息。(3)进程控制块(PCB)使得在一个多道程序环境下不能独立运行的程序(含数据)成为一个独立运行的基本单位,并且能和其他进程并发执行。
PCB是进程存在的唯一标志:(1)在进程的整个生命周期,操作系统是通过PCB控制进程。(2)系统是通过PCB而感知到进程的存在的。
8、PCB提供了进程管理和调度的哪些信息?
答:1)进程标识符:(1)外部标识符(2)内部标识符(3)进程标识符唯一地标识一个进程,一个进程通常有外部标识符和内部标识符两种,分别用来方便用户对进程的访问和系统对进程的访问。
2)进程控制信息,进程控制所必须的信息:(1)资源清单(2)程序地址(3)进程同步通信机制(4)链接指针
3)进程调度信息:(1)进程状态(2)优先级(3)进程调度所需其他信息(4)事件
4)处理机状态:处理机状态信息也称处理机的上下文,用来处理处理机各种寄存器的状态。
9、进程控制块的组织方式?
答:线性、索引、链式
10、什么是操作系统内核?内核的主要功能
答: 定义:操作系统内核是指大多数操作系统的核心部分,由操作系统用于存储器管理、文件、外设、和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。
功能:1)支撑功能1. 中断处理2. 时钟管理3. 原语操作
2)资源管理功能1. 进程管理2. 设备管理3. 存储器管理
11、试说明进程在三个基本状态之间转换的典型原因?
答:(1)就绪状态→执行状态:进程分配到CPU资源
(2)执行状态→就绪状态:时间片用完
(3)执行状态→阻塞状态:I/O请求
(4)阻塞状态→就绪状态:I/O完成
12.为什么要引入挂起状态?该状态有哪些性质?
答:(1)用户需要(2)父进程需要(3)调节负荷需要(4)操作系统需要
性质:被挂起的进程是处于静止状态,并不能直接被处理及调度。
13、在进程切换时,要保存CPU那些信息?
答:处理机的状态主要由处理机的各种寄存器中的内容组成,处理机在运行时许多信息都存放在寄存器中,当处理机被中断时,这些信息都必须保存在PCB中,进程重新执行时,能从断点继续执行。
(1)通用寄存器,用户进程可以访问,用于暂存信息(2)指令寄存器,存放要访问的下一条指令的地址(3)进程状态字PSW,含有状态信息,状态码…(4)用户栈指针
14、进程创建的主要事件?
答:用户登录、作业调度、提供服务、应用请求
15、引起进程被撤销的主要事件?
答:正常结束、异常结束、外界干预
16、创建一个进程所要完成的工作是什么?
答:申请空白PCB、为新进程分配资源、初始化进程控制块、将新进程插入就绪队列
17、撤销一个进程所要完成的工作是什么?
答:如果系统中发生了要求终止进程的某事件,OS便调用进程终止原语:(1)根据被终止的进程标识符,从PCB检索出进程状态(2)如果处于执行状态,立即终止该进程的执行,并且置调度标志为真,指示该进程被终止后可以被重新调度(3)若进程还有子进程,应该将所有的子孙进程全部终止,防止他们成为不可控进程(4)将被终止进程所拥有的全部资源,或者归还给父进程或者归还给系统
(5)将被终止进程PCB从所在队列或者链表移除,等待其他程序搜集信息
18、试说明引起进程阻塞或者被唤醒的主要事件是什么?
答: 阻塞:(1)请求服务:正在执行的进程请求操作系统提供服务时,由于某种原因,操作系统并不能立即满足该进程的要求时,进程就会变为阻塞状态来等待。(2)启动某种操作:进程启动某种操作以后,若进程必须在该操作完成后才能继续执行,则必须先使该进程阻塞,等待该操作的完成。(3)新数据尚未到达:对于相互合作的进程,如果其中的一个进程需要先获得另一(合作)进程提供的数据才能对数据进行处理,只要新数据尚未到达,进程只能阻塞(等待)。(4)无新工作可以做:系统往往会设置一些具有某种特定功能的系统进程,每当这种进程完成任务后,便把自己阻塞起来等待新任务的到达。
唤醒:相应的请求得到了满足,便会被唤醒。
19、为什么要在OS中引入线程?
答:(1)使多个程序能并发执行,提高资源利用率和系统吞吐量
(2)减少程序在并发执行时的时空开销,使OS具有更好的并发性
20、试说明线程有哪些属性?
答:(1)轻型实体(2)独立调度和分派的基本单位(3)可并发执行(4)共享进程资源:同一进程中的线程可以共享进程所拥有的资源,表现在所有线程都拥有相同的地址空间。
21、试从调度性、并发性、拥有资源、时空开销比较进程和线程
答:进程:资源拥有的基本单位、进程的切换会引起线程的切换、进行间并发执行、系统中拥有资源的基本单位、大
线程:OS调度和分派的基本单位、同一进程线程的切换不会引起进程的切换、同一进程的线程也可以并发执行,具有更好的并发性、线程自己不拥有资源,只拥有一点必不可少的资源,可以共享其隶属进程的资源,即进程的数据段、代码段和所拥有的系统资源。
22、线程控制块TCB中包含了哪些内容?
答:(1)线程标识符(2)一组寄存器,包括程序计数器、状态计数器、通用寄存器(3)线程运行状态(4)优先级(5)线程专有存储区(5)信号屏蔽(6)堆栈指针
23、何谓用户级线程和内核支持线程?
答: 用户级线程:线程的创建、撤销、线程之间的同步通信功能,都无需利用系统调用来实现。对于用户级线程的切换,通常发生在一个应用程序的诸多线程之间,不需要内核的支持,由于切换的规则比线程切换简单,线程的切换速度特别快。这种线程与内核无关
内核支持线程:在内核的支持下运行,无论是用户进程中的 线程,还是系统中的线程,他们的创建、撤销、切换都是依靠内核,在内核空间实现。内核空间为每一个内核线程设置一个线程控制块,内核根据线程控制块来感知某线程的存在,并对其加以控制。
24、试说明用户线程的实现方法?
答:用户线程是在用户空间实现的,他们都运行在一个中间系统的运行时系统上面,有两种方式实现中间系统,即运行时系统和内核控制线程。(1)运行时系统:运行时系统实质上是用于管理和控制线程的函数(过程)的集合,其中包括用于创建和撤销线程的函数,线程同步和通信的函数,以及实现线程调度的函数。正因为有这些函数才能使用户级线程和内核无关,运行时系统的所有函数都驻留在用户空间。
(2)内核控制线程:内核控制线程可以通过系统调用来获得内核的服务,当一个用户级线程运行时,只要连接到一个内核控制线程(LWP),它便具有了内核支持线程的全部属性。
25、试说明内核支持线程的实现方法?
答:系统在创建新进程时,分配一个任务数据区PTDA,其中包括若干个线程控制块TCB空间。创建一个线程分配一个TCB,有关信息写入TCB,为之分配必要的资源。当PTDA中的TCB用完,而进程又有新线程时,只要所创建的线程数目未超过系统允许值,系统可在为之分配新的TCB;在撤销一个线程时,也应回收线程的所有资源和TCB。
26、多线程模型有哪几种类型?多对一模型有何优缺点?
答:多对一模型、一对一模型和多对多模型。
缺点:如果一个线程在访问内核时发生阻塞,则整个进程都会被阻塞;此外,在任一时刻,只有一个线程能够访问内核,多个线程不能同时在多个处理机上运行。

  • 13
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值