4.1多道程序设计
4.1.1程序的顺序执行:一个具有独立功能的程序独占CPU直到得到最终结果的过程
程序的顺序执行的特点:
1) 顺序性:严格按顺序执行,一一对应
2) 封闭性:结果只能取决于程序本身
3)程序执行结果的确定性:与时间无关
4) 可再观性:不同时间执行,输入相同则结果相同
4.1.2多道程序设计中程序执行环境的变化
1.多道程序设计技术的引入
并发:单CPU,按给定的时间片交替的在处理机上运行;多CPU:并发程序在各自处理机上运行。
根本目的:提高整个系统的效率
衡量系统效率的尺度:系统吞吐量———》单位时间内系统所处理作业的数量
多道程序设计改善了各种资源的使用情况,从而增加了吞吐量,提高了系统效率,但也带来了资源竞争。
多道程序环境的特点:
1)独立性:程序在逻辑上独立
2)随机性:程序和数据的输入与执行开始时间随机
3)资源共享性:软硬件资源的有限性导致资源的共享
4.2 进程
概念:进程是一个程序对某个数据集的执行过程
分类:系统进程和用户进程
4.2.1进程与程序的联系和区别
联系:程序是构成进程的组成部分之一 从静态角度看:进程由程序、数据、进程控制块(PCB)组成
区别:程序是静态的,而进程是动态的。进程是有生命周期的,程序的存在是永久的。
4.2.2进程的特性
1)并发性 2)动态性 3)独立性 4)交往性 5)异步性
4.2.3、进程的状态及其状态转换
1)运行状态(Running) 单CPU上最多一个运行态
2)就绪状态(Ready) 可以有多个
3)等待状态(Waiting)也叫阻塞状态(Blocked)封锁状态
在任何时刻,任何进程都处于且仅处于三种状态之一
1)就绪--》运行:进程调度程序根据调度算法把处理器分给某个就绪状态,建立该进程的运行状态标记
2)运行--》就绪:通常出现在分时操作系统中
正在运行的程序由于规定的运行时间片用完而使系统发出超时中断请求,超时中断处理程序把该进程状态修改为就绪状态,根据其自身特征而插入就绪队列的适当位置,保留进程现场信息,收回处理机并转入进程调度程序。
3) 运行--》等待
4)等待--》就绪
4.2.4进程控制块(Process Control Block)
PCB是进程存在的唯一标志
1、PCB的内容:
1)调度信息:进程名、进程号、存储信息、优先级。。。
2)现场信息:程序状态字、时钟、界地址寄存器
2、进程的组成:程序、数据、进程控制块PCB
3、PCB的组织方式:1)线性方式 2)索引方式 3)链接方式
4、进程的队列 1)就绪队列 2)等待队列 3)运行队列
4.2.5进程控制
进程在整个生命周期中各种状态之间转换进行有效控制 。
进程控制是通过原语实现的。
原语通常由若干指令组成,用来实现某个特定的操作。通过一段不可分割或不可中断的程序实现其功能。原语的执行必须是连续的,一旦开始执行就不能间断,直到执行结束。
原语是操作系统核心(不是由进程而是由一组程序模块组成)的一个组成部分,它必须在管态下执行并且常驻内存。原语和系统调用都可以被进程调用,两者的差别在于原语有
不可中断性,它是通过在其执行过程中关闭中断实现的,且一般是由系统进程调用。
用于进程控制的原语一般有:创建进程、撤销进程、挂起进程等。