文档详情

第章练习题解答.ppt

发布:2017-06-18约1.31千字共6页下载文档
文本预览下载声明
练习题 1.为什么在操作系统中要引进进程的概念? 在多道程序系统中,系统中的硬软件资源不再为单个用户程序所垄断,而由若干道程序共同使用。一个程序也不能自始至终地运行到底,中间会穿插很多其他的活动,这些活动间存在着相互依赖和相互制约的关系。由于程序并发执行所产生的一系列新的动态的特征,已不能由程序这种静态的概念来描述,为此,引入了“进程”(process)这个概念。 我们在进程创建这一节知道,一个程序可以对应多个独立的活动——进程。 2. 进程所请求的输入数据到达后,将使进程状态 从 D 。 A) 运行态变为就绪态 B) 运行态变为等待态 C) 就绪态变为运行态 D) 等待态变为就绪态 答: (1) 1: 就绪-执行, 当前运行进程阻塞,调度程序选一个优先权最高的进程占有处理机; 2: 执行-就绪, 当前运行进程时间片用完; 3:执行-阻塞,当前运行进程等待键盘输入,进入了睡眠状态。 4:阻塞-就绪,I/O操作完成,被中断处理程序唤醒。 (2) 就绪进程没有占有处理机,也即没有经过运行,其状态就不会改变。 阻塞状态进程唤醒后先要进入就绪队列,才会被调度程序选中,进入了执行状态。 * * 2. 进程所请求的输入数据到达后,将使进程状态从 。 A) 运行态变为就绪态 B) 运行态变为等待态 C) 就绪态变为运行态 D) 等待态变为就绪态 1.为什么在操作系统中要引进进程的概念? 进程要读入数据,应当同步等待。进程状态为等待状态(睡眠状态)。进程所请求的输入数据到达后,将唤醒该进程,使进程状态从等待状态变为就绪状态 ,使其有被调度程序挑选的资格。 也不可能直接从等待状态变为运行态。 习题12某系统的状态转换图如图所示, (1)分别说明引起状态转换1、2、3、4的原因,并各举一个事件。 (2)为什么在转换图中没有就绪到阻塞和阻塞到运行的转换方向? (3)一个进程的状态变换能够引起另一个进程的状态变换,说明下列因果变迁是否可能发生,原因是什么? (a)3→1 (b)2→1 (c)3→2 (d)3→4 (e)4→1 执行 就绪 阻塞 1 2 3 4 状态转移图 (3) (a) 3→1: 可能,当前运行进程阻塞,调度程序选一个优先级最高的进程占有处理机。 (b)2→1:可能,当前运行进程优先级下降,调度程序选一个优先级最高的进程占有处理机。 (c)3→2: 不可能,占有CPU的一个进程不能同时进入两个状态;在单CPU的系统中,状态3发生后,cpu没有执行进程,故不会发生状态转换2。 (d)3→4:一般不可能,不相干的两个事件。状态转换3是由于运行进程等待资源而发生的,这并不会使得阻塞队列中的进程得到资源而进入就绪队列。但在Unix中,当系统的0#进程因runin标志而睡眠时,有(在内存)进程睡眠,就会唤醒0#进程,使其进入就绪状态,以便将该进程和在盘交换区就绪进程交换位置。 (e)4→1:一般无关,但当就绪队列为空时,一个进程被唤醒转入就绪队列后,调度程序使该进程占有处理机(但是同一个进程)。
显示全部
相似文档