02练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
02练习题
练习题(二)
Ⅰ问答题
1. 什么是进程?为什么要引入进程概念?进程都有哪些特征?
答:
(1)进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和调度的独立单位。
(2)在多道程序环境下,程序的并发执行代替了程序的顺序执行,资源共享和竞争又导致并发程序之间的相互制约性,使得系统中运行的程序是处于走走停停的状态之中,当一个程序获得处理机后向前推进,当它需要某种资源而未得到时只好停下来,以后得到所申请资源时再继续前进。
基于“程序”这个静态概念已不能完整、有效地描述并发程序在内存中的运行状态。
因此,为了实现程序在多道程序环境下的并发执行,必须引入一个能确切描述并反映并发过程的新概念—进程,以便从变化的角度动态地研究程序的执行。
(3)进程的特征:动态性、并发性、独立性、异步性、结构性。
2. 叙述进程和程序的关系?
答:进程与程序的联系是:
(1)进程包括一个程序;
(2)进程存在的目的就是执行这个程序。
进程与程序的区别是:
(1)进程是动态的概念,程序是静态的概念。
程序是指令代码的有
序集合;进程是程序的一次执行过程,它能动态的被创建、调度执行,执行后消亡。
(2)进程是暂时的,程序是永久的。
进程是一个程序执行状态变化的过程,程序是可长久保存。
(3)进程是由程序、数据和进程控制块组成。
程序是由若干行代码组成。
(4)通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
(5)进程能够独立运行,可以为其独立分配资源,独立接受调度的单位,而程序不能在多道程序设计环境下运行。
3. 叙述进程的并发性和制约性。
答:并发性是进程的重要特征。
即多道程序中多个进程同时向前推进的过程,每个进程总是与其它进程并发地执行的。
进程的制约性是指一个进程的运行受到另一进程的制约(直接制约和间接制约)。
如进程在运行过程中,有的进程可能正在等待另一进程的计算结果而无法运行,或者进程所需的资源被别的进程占有而无法运行。
4. 进程最少应设置几个状态?为什么?
答:一个进程在它的生命期中至少应有如下三种基本状态:就绪、运行和阻塞。
这三种状态可以简单的描述每个进程的执行过程,进程任一时刻当且仅当处于上述三种基本状态之一。
5. 进程控制块的作用是什么?它是如何描述进程动态性质的?
答:进程控制块是系统占用区中的一个连续区域,存放着操作系统用于描述进程情况和进程运行所需的全部信息,它是OS感知进程的存在,以及管理和控制进程执行的唯一依据。
每个进程在操作系统内用(PCB)来表示,在PCB中记录了与特定进程相关的信息,即描述进程当前情况,以及控制进程运行的全部信息。
它主要包含进程描述信息、控制信息和资源管理信息三类。
进程控制块中有一些信息是专门用来描述进程动态性质的,如进程状态信息,存放该进程的现行状态,是进程调度分配CPU的重要依据。
又如处理机现场信息,当执行进程变成其他状态让出处理机时,将处理机的现场信息如程序状态字、通用与专门寄存器、程序计数器等内容必须保留,以便当进程调度程序调度到相应进程时,从现场信息中取出恢复到CPU相关的寄存器中,让进程继续正常执行。
又如,进程在整个生命期中,经常处于不同的队列,那末PCB中进程队列链接字的内容,随进程控制块从一个队列移到另一个队列而动态变化。
6. 用户进程能否修改或访问自己的进程控制块内容?为什么?
答:不能,因为进程控制块是操作系统中最重要的数据结构,只能由操作系统进行修改和访问。
7. 什么是原语操作?一般进程控制原语都有哪些?
答:原语是由若干条机器指令构成的,在管态下执行和完成系统特定功能的程序段。
原语和机器指令类似,它在执行过程中不允许被中断,是一个不可分割的基本单位,原语的执行是顺序的而不可能是并发的。
进程控制原语有:进程创建原语、进程撤销原语、进程阻塞原语、进程唤醒原语、进程挂起原语和进程激活原语。
8. 试说明引起创建一个进程、撤销一个进程的主要事件?
答:引起进程创建的主要事件有:
①用户登录。
用户登录时验证是否为合法的用户。
若合法,则为他创建一进程。
②作业调度。
当作业调度程序调度到某作业,应为它创建一进程。
③提供服务。
运行中的用户程序提出某种请求。
如父进程创建子进程。
引起进程撤消的主要事件有:
①正常结束。
当进程正常完成执行,应终止该进程,并将它删除。
②异常结束。
当进程执行中遇到越界错误、保护错、特权指令错、非法指令错、算术运算错、I/O故障等应终止该进程,并将它删除。
③外界干预。
操作员或操作系统干预。
9. 请画出流程图说明创建一个新进程的步骤。
答:
10. 操作系统内核都包括哪些内容?创建失败,返回
查PCB链表
有空PCB?
取空PCB(i)
将有关参数填入PCB(i)相应表项PCB(i)入就绪队列
PCB(i)入进程家族或进程链无
有入口
返回
答:内核包括两个方面:一是支撑功能,包括中断处理、时钟管理和原语操作等;二是资源管理功能,包括进程管理、存储器管理和设备管理等。
内核运行在系统态下,是系统的控制和协调中心,由它来组织、启动及协调系统中各种用户活动和系统活动有条不紊地进行。
11. 模式切换和进程切换有什么区别?
答:进程切换是由进程状态的变化引起的,而进程状态的变化又与出现的中断事件有关。
用户态到核心态或者核心态到用户态的转变是CPU模式的改变。
模式切换是用户态到核心态或核心态到用户态的转变。
12. 操作系统中引入进程概念后,为什么又引入线程概念?
答:操作系统中引入进程的目的是为了使多个程序并发执行,改善资源的利用率以提高系统的吞吐量。
但是,进程给并发程序设计效率带来下列问题:进程切换开销大;进程通信代价大;进程之间的并发性粒度较粗,并发度不够高;不适合并行计算和分布并行计算的要求;不适合客户/服务器计算的要求等。
于是引入线程。
引入线程后,把进程的两个属性(“独立分配资源”与“被调度分派执行”)分离开来考虑,将进程是作为独立分配资源的基本单位,线程是进程的一个实体,是系统独立调度和分派处理机的基本单位,以使之轻装运行,而对于拥有资源的单位又不必频繁地进行切换。
这样可以大大减少程序并发执行时所付出的时间和空间开销,使操作系统具有
更好的并发性。
13. 试从资源分配单位和调度的基本单位两方面对进程和线程进行比较。
答:
资源分配单位:进程是作为独立分配资源的基本单位,一般地说,线程自己不拥有系统资源(只有少量的必不可少的资源),但它可以访问其隶属进程的资源。
调度的基本单位:线程作为系统独立调度和分派处理机的基本单位。
在同一个进程中,线程的切换不会引起进程的切换,只有当从一
个进程中的线程切换到另一个进程中的线程时,才会引起进程的切换
14. 请指出用户级线程和内核级线程的不同点?
答:用户级线程只存在于用户层,它的管理都在一个进程的用户地址空间中进行,用户级线程的切换也仍在用户态下运行,不需要转换到核心态,这就节省了系统从核心态到用户态或从用户态到核心态转换的时间和空间的开销。
同一进程中多个线程不能真正并行。
内核级线程线程管理的所有工作都是由内核来完成的,同一进程内多个线程可以并行执行,即如果进程中的一个线程被阻塞,内核可以调度同一个进程中的另一个就绪线程执行。
在多处理机环境中,内核可以同时把同一个进程的多个线程分配到多个处理机上。
在同一个进程中把控制权从一个线程切换给另一个线程需要内核的状态转换(即用
户态到核心态的转换),所以内核级线程的创建和管理通常要慢于用户级线程的创建和管理。
Ⅱ单项选择题
C D D C C D B C D C
C D D A
Ⅲ. 思考题
1. 考虑到图
2.6中的状态转换图。
假设操作系统正在分派进程,有进程处于就绪状态和就绪挂起状态,并且至少有一个处于就绪挂起状态的进程比处于就绪状态的所有进程的优先级都高。
有两种极端的策略:(1)总是分派一个处于就绪状态的进程,以减少交换;
(2)总是把机会给具有最高优先级的进程,即使会导致在不需要交换时进行交换。
请给出一种能均衡考虑优先级和性能的中间策略。
答:对于一个就绪挂起态的进程,降低一定数量的优先级,从而保证只有当一个就绪挂起态的进程比就绪态的进程的最高优先级还高出几个优先级时,它才会被选做下一个执行。
2. 举两个例子说明多线程比单线程方案提高性能,同时再举两个
例子说明多线程不比单线程方案提高性能。