进程管理笔记
操作系统的主要功能:资源管理,程序控制和人机交互等(处理机管理、存储器管理、设备管理、文件管理)
操作系统的五大管理功能是处理机(进程)管理 、存储器管理、设备管理、作业管理和 用户接口
一、 *作业——用户一次请求计算机系统为其完成任务所做工作的总和。
作业的状态
提交状态:作业由输入设备进入外存储器的过程。 后备状态:当作业的全部信息进入外存后,系统就为该作业建立一个作业控制块(JCB),系统把该作业的JCB加入到后备作业队列中。 执行状态:一个后备作业被作业调度程序选中而分配了必要的资源并进入了内存,作业调度程序同时为其建立了相应的进程,该作业就由后备状态变成了执行状态。 完成状态:当作业正常运行结束或因为发生错误而中途终止时,作业进入完成状态。
*作业调度 ——作业由后备状态到执行状态的转变。
调度算法设计目标:1、使系统的吞吐率高。2、使资源利用率高。3、使各种类型的作业用户满意,即对各种作业尽量做到公平公正。 主要作业调度算法有:1、先来先服务法;2、短作业优先算法;3、最高响应比优先算法;4、资源搭配算法;5、多队列循环算法。
*作业控制块——JCB是作业存在的唯一标志,系统通过JCB来感知作业的存在。 算法衡量法则: CPU利用率=CPU有效工作时间/CPU的总运行时间(总运行时间为有效时间加空转时间之和)
*操作系统为用户提供了两个接口:一、命令接口,用户通过这些操作命令来组织和控制作业的执行;二、程序接口,编程人员使用它们来请求操作系统的服务。
*程序——按先后次序操作的指令序列,程序有顺序执行和并发执行。
二、 *进程——一个具有独立功能的并发程序关于某个数据集合的一次执行。 特征:动态性,进程具有生命期。并发性,引入进程的目的就是为了使程序能够与其他程序并发执行。独立性,进程是一个能独立运行的基本单位,也是系统进 行资源分配与调度的独立单位。异步性,进程具有走走停停的活动规律。结构特征,每个进程都是由程序段、数据段及PCB 3部分组成。
*进程的状态:就绪状态(获得了除CPU之外的所有资源),运行状态,阻塞状态(也叫等待状态),挂起状态。
*3种基本状态之间的转换:
就绪———》运行———》阻塞———》就绪
运行———》就绪
*************************************
*进行控制块——PCB是进程存在的唯一标志 一般进程控制块包含如下信息:进程标识符,现行状态,CPU现场保护区,存储指针,优先级,资源清单,通讯机制,家族关系(父进程、子进程信息)。
*PCB常用的组织方式:线性表方式(适用于 系统中进程数目不多的情况,易于管理,缺点:检索速度慢) 链接表方式(相同状态的PCB组织成队列)
三、 *线程——是进程中的一个实体,是系统进行调度的独立单位。线程作为系统的调度单位,以进一步提高系统的并发能力并减少系统的开销。引入线程可提高程序并发执行的程度,可进一步提高系统效率
*内核(Kernel)在计算机科学中是操作系统最基本的部分,主要负责管理系统资源。进程的控制与调度,内核本身是加在硬件上的第一层软件,它通过执行各种原语操作来实现其控制功能,原语是由若干条机器指令构成实现某种特定功能的一段程序,原语的执行具有不可分割性。
*进程控制原语:创建原语(用来创建一个新进程)阻塞原语,唤醒原语,撤销原语。
*进程调度程序的功能:记住系统中所有的进程的状态、优先级和资源需求情况; 确定调度算法,决定把CPU分配给哪个就绪进程; 分配处理机给指定的进程。
*进程调度的方式:非剥夺式(某进程一旦占用了CPU,除非自行放弃CPU,否则将一直运行下去,特点:方法简单,系统开销小)
剥夺式(当系统中出现一个比当前运行进程更适合,更应该占用CPU 的进程时,就强迫当前的进程放弃,使更合适的进程占用该CPU)
*操作系统有两种主要队列:I/O请求队列和就绪队列。
*常用的进程调度算法有:先进先出算法(FIFO)、短进程优先(SPF)、优先级算法、时间片轮转法、多队列轮转法。
*进程的同步与互斥
进程同步:进程之间相互合作等待对方消息的协调关系就称为进程同步。 进程互斥:禁止两个及以上的进程同时进入访问同一临界资源的临界区。
*临界资源:一次仅允许一个进程使用的资源。 临界区:一个进程访问临界资源的那段程序代码。
*同步机构协调的准则:空闲让进,忙则等待,有限等待,让权等待。
*锁机制的互斥方法:用一个变量来代表临界资源的状态,并称为锁。锁有两个状态,w=0表示锁已打开,W=1表示锁已关闭。
信号量与p、v操作
*管程:管程是一个由过程、变量及数据结构等组成的集合,即把系统中的资源用数据抽象的表示出来。(管程比信号量更容易保证并发编程的正确性)
*高级通信:消息缓冲通信,信箱通信。
*进程的同步应用:用P、V操作描述前驱关系、生产者-消费者问题、读者-写者问题、哲学家进餐问题。
四,死锁
1,死锁:当多个进程因竞争资源而造成一种僵局的,在无外力作用下,这些进程将永远不能继续向前推进,我们称这种现象为死锁。
2,死锁的原因:系统资源不足、进程推进顺序不当。
3,可能出现死锁的4个必要条件:互斥条件、不剥夺条件、部分分配条件、环路等待条件。
4,死锁的预防(系统运行之前预先采取防止死锁的对策):一次性预分配法、资源顺序分配法、先释放后申请分配法。
5,死锁的避免(思想是--能否通过某种算法,当系统分配资源时始终能做出是否分配的正确选择,从而避免死锁):银行家算法。
6,死锁的检测与解除 检测:对死锁的检测可通过化简进程—资源图的办法实现。 解除:剥夺资源,挂起处于死锁状态的进程,剥夺其资源给其他的进程。 撤销进程 ,按照某种顺序逐个撤销进程,直到有足够资源可用,死锁状态消除为止。
并发性是指两个或多个事件在同一时间间隔内发生。 同时性是指两个或多个事件在同一时刻发生。
并发进程之间彼此无关
略记: 设备管理(指操作系统对除CPU和内存之外所有设备的管理)
设备管理通常具有的功能: 设备分配; 缓冲区管理; 实现设备的I/O操作。
文件管理(操作系统中负责管理和存取文件信息的软件机构被称为文件管理软件系统)
文件是具有文件名的一组相关信息的集合,通常由若干记录组成。 记录是一些相关数据项的集合。 数据项是数据组织中可以命名的最小逻辑单位。