多道程序设计
在单处理机系统中实现并发技术后进程在一个时间段内并行运行,CPU与外设间并行工作。
在单一处理机上执行程序,多道程序的执行是在同一时间间隔内进行的。
引入多道程序技术后,处理机的利用率大大提高
顺序程序和并发程序的执行相比,并发程序执行总体上执行时间快
单一处理机上,将执行时间有重叠的几个程序称为并发程序
在单处理机系统中实现并发技术后:进程在一个时间段内并行运行,CPU与外设间并行工作。
程序运行后其计算结果只取决于程序自身,由给定的初始条件决定,不受外界因素的影响,这个特点体现了程序执行的封闭性
在多道环境下,由于进程的并发执行,一段程序为多个进程共享时,要求在执行的过程中,该段程序的指令和数据不能被修改,这样的程序段称为纯过程(或共享程序段)
在多道程序环境中,由于系统资源的共享和竞争,本来并无逻辑关系的程序之间产生了相互制约的关系。
进程
线程模型中,操作系统分配CPU以外的资源以进程为单位.
操作系统中,当时间片用完进程从执行状态转为就绪状态。
一个进程是PCB结构与程序和数据的集合
操作系统中,当等待某一事件发生进程从执行状态转为等待态。
在非强占式系统中,发生一个进程从就绪态到运行态状态变迁的可能原因是另一个进程从运行态一>就绪态
进程和程序的本质区别是动态和静态特征
为了描述进程的动态变化过程,采了一个与进程相联系的进程控制块系统,根据它而感知进程的存在。
进程的特性异步性、并发性、动态性
在单处理机系统中,处于运行状态的进程只有一个
如果某一进程在运行时,因某种原因暂停,此时将脱离运行状态,而进入阻塞状态
已经获得除CPU以外的所有运行所需资源的进程处于就绪状态。
一个进程被唤醒意味着进程状态变为就绪
进程从运行状态变为阻塞状态的原因是输入或输出事件发生
在操作系统中同时存在多个进程,它们可以共享允许共享的系统资源
操作系统中有一组常称为特殊系统调用的程序,它不能被系统中断,在操作系统中称为原语
操作系统是根据进程控制块来对并发执行的进程进行控制和管理的。
同一程序经过多次创建,运行在不同的数据集上,形成了不同 的进程。
进程创建后,所有创建完成的PCB被链接成一个序列, 这个序列称为:就绪队列
在单处理器系统中,如果同时存在10个进程,则处于就绪队列中的进程最多个数为:9
并发性是指若干事件在同一时间间隔内发生
三状态进程模型的是运行状态、就绪状态、等待状态
五状态进程模型中,进程状态被分成创建状态、就绪状态、运行状态、阻塞状态和结束状态。
七状态进程模型创造、就绪、执行、堵塞、终止、挂起就绪、挂起阻塞
在七状态进程模型中,被对换至外存的进程可能处于两种进程状态之一,即就绪挂起状态;阻塞挂起状态(次序可交换)
进程存在的标志是PCB
进程至少有三种基本状态就绪状态;执行状态;阻塞状态
程序的并发执行是现代操作系统的基本特征之一, 为了更好地描述这一特征而引入了进程 这一 概念。
进程的静态实体由程序、数据集合和进程控制块PCB三部分组成。
进程被创建后,最初处于就绪状态, 然后经进程调度程序选中后进入运行状态。
用于进程控制的原语主要有创建原语、撤消原语、阻塞原语和唤醒原语。
对于处于等待状态的进程,在其被阻塞的原因获得解除后其状态将转变为就绪状态, 仅当得到处理器(或处理机)时,才可恢复运行。
进程控制通过进程控制原语来实现,请粉别描述创建原语和撤销原语的操作过程。
创建原语:先申请一个空闲PCB区域, 然后将有关信息填入PCB,置该进程为就绪状态,最后把它插入就绪队列中。(2分)
撤销原语:找到要被撤销进程的PCB,将它从所在队列中消去撤销属于该进程的一切“子孙进程”,释放该进程所占用的全部资源,并消去该进程的PCB。(2分)
线程
引入线程的好处创建一个新线程花费时间少、线程之间切换花费时间少、线程能独立执行
线程的实现机制包括用户级线程、内核级线程以及混合实现方式
:用户线程对于内核是透明的。
线程的主要属性是:每个线程有一个唯一的标识符和一张线程描述表,同一进程申中各个线程共享该进程的主存地址空间
在引入线程的操作系统中,线程作为调度和分派的基本单位,而进程作为资源拥有的基本单位。
在线程的两种实现方式中,不依赖于内核的是用户级线程,而所有线程的创建、 撤销和切换都由内核实现的是内核级线程
进程调度
n个进程有n! 种调度次序。
从就绪队列中选一个进程获得CPU的控制权由进程调度程序来完成
:FCFS调度算法对CPU繁忙型进程(指占CPU时间此较多)有利。
一个批处理型作业从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕所经历的三级调度是高级调度、低级调度、中级调度
按一定调度算法,外存后备队列中选择作业调入内存,创建PCB等,插入就绪队列,这种调度称为作业调度
在所有类型的操作系统中,一定要具备的调度是进程调度
按某种原则决定就绪队列中的某个进程获得处理机,分派程序(Dispatcher)实施处理机分派,这种调度称为低级调度
在单处理器的多进程系统中,进程什么时候占用处理器以及决定占用时间的长短是由进程特点和进程调度策略决定的。
选择进程调度算法的准则:尽可能提高系统的吞吐量、尽量提高CPU利用率、尽快响应交互式用户的请求
若进程P一旦被唤醒就能够投入运行,系統可能为抢占调度方式,P的优先级高于当前运行的进程
当一进程运行时,系統强行将其撤下,让另一个更高优先级的进程占用处理器,这种调度方式是抢占方式
(静态)优先级是在创建进程时确定的,确定之后在整个运行期间不再改变。
综合考虑进程等待时间和执行时间的是高响应比优先调度算法
在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和(先来先服务调度算法)相同。
(有更高优先级的进程到达而从执行状态变为就绪状态)可能不是非抢占方式进程调度中引起调度的原因。
进程调度算法中的(时间片轮转算法 )属于抢夺式的分配处理器的策略。
处理机调度是指从进程就绪队列中, 按照一定的算法选择一个进程并将处理机/CPU分配给它运行, 以实现进程并发执行。
进程调度具有抢占和非抢占两种方式,其中抢占式可以防止一个进程长时间占用处理机,能满足对实时任务的需求。
:周转时间=完成时间-到达时间 (如果没有到达时间:周转时间=完成时间) 平均周转时间=周转时间/进程个数 平均带权周转时间=(周转时间/服务时间)/进程个数 平均周转时间=(完成时间-到达时间)/进程个数
什么是轮转调度算法?请分析时间片长短对算法性能的影响。
(1 )轮转调度算法是指将处理器的处理时间划分成一个时间片, 就绪队列中的进程轮流运行个时间片。当时间片结束时,让出处理器,等待下一次调度。(2分)
(2)时间片太短,进程切换频繁,加重系统开销(或降低了处理器效率)。(1分)
时间片太长,引起对短的交互请求的响应时间变长。(1分)
什么是进程调度?在设计调度算法时通常使用吞吐量、周转时间和处理器利用率作为衡量指标, 请解释吞吐量和周转时间的含义?
进程调度:即处理器调度,是指根据定的调度算法系统从就绪队列中选择一个进程 把处理器分配给它。(2分)
吞吐量;系统每小时完成的进程数量。(1分)
周转时间:指从一个批处理进程提交时刻开始直到该进程完成时刻为止的统计平均时间。(1分)
简述进程最短剩余时间优先调度算法的基本思路以及实现方法。
最短剩余时间优先算法是最短进程优先算法的抢占式版本进程调度时总是选择其剩余运行时间最短的那个进程运行。(2分) 每当一个新进程到达时 ,把新进程的预计运行时间与当前进程的剩余运行时间做比较,如果新进程的预计运行时间比较长,则当前进程继续运行,否则换新进程运行。(2分)
系统内核
对内核的各种功能调用通过执行原语操作来实现。
把操作系统中提供支持系统运行的各种基本操作和基础功能的一组程序模块集中安排,形成一个操作系统的核心,简称内核(Kernel)
:系统内核本身并不是进程,是系统进程和用户进程赖以活动的基础。
评论: