1.基本概念
4个特征,并发性,共享性,虚拟性和不确定性。
5个功能,进程管理(分配CPU时间),文件管理,存储管理,设备管理(I/O等),作业管理。
2.进程管理
2.1组成
进程由程序,数据和进程控制块(PCB)组成。
PCB是进程存在的唯一标志。
信息 | 含义 |
---|---|
进程标识符 | 标明系统中各个进程 |
状态 | 进程当前状态 |
位置信息 | 程序及数据在主存/外存的物理位置 |
控制信息 | 参数,信号量,消息等 |
队列指针 | 链接同一状态的进程 |
优先级 | 调度进程的依据 |
现场保护区 | 再次调度时能继续正确运行 |
2.2状态
分为三态(运行,阻塞,就绪)模型和五态(加终止,新建)模型。
还有具有挂起状态的模型(运行,活跃就绪,活跃阻塞,静止就绪,静止阻塞)。
2.3进程的控制
包括创建一个新进程,撤销一个运行完的进程,改变进程的状态,实现进程的通信。由操作系统内核中原语实现。原语是由若干条机器指令组成,用于完成特定功能的程序段。
2.4进程的通信
同步-进程间的直接制约
互斥-临界资源的间接制约200
整型信号量-S:正数表示某资源可用数,负数表示阻塞队列中等待该资源的进程数。
P表示申请一个资源,V表示释放一个资源。
共享存储模式-共享某些数据结构或存储区。
消息传递模式-send,receive原语,以消息为单位。
管道通信-pipe文件,连接一个读进程和一个写进程。
管程:对资源进行集中管理。条件结构实现同步机制。
2.5进程的调度
分为可剥夺式和不可剥夺式。
三级调度(1)高级调度。决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。一个作业只需经过一次高级调度。又称长调度。
(2)中级调度。决定处于交换区中的哪个就绪进程可以调入内存,以便直接参与对CPU的竞争。内存资源紧张时,为将进程调入内存,必须将内存中处于阻塞的进程调出至交换区。交换内存和盘交换区的进程。
(3)低级调度。决定处于内存中哪个就绪进程可以占用CPU。最活跃最重要的调度程序。
调度算法(1)先来先服务(FCFG)。按照作业提交或进程成为就绪状态的先后次序分配CPU,即总是将就绪队列队首的进程投入运行。有利于长作业和CPU繁忙的作业。
(2)时间片轮转。主要用于微观调度,设计目标是提高资源利用率。通过时间片轮转提高进程并发性和响应时间特性。[1]固定时间片,分配给每个进程相等的时间片。
[2]根据进程不同要求对时间片的大小实时修改。
(3)优先级调度。让每一个进程都拥有一个优先数,系统在调度时总选择优先数大的占用CPU。[1]静态优先级。根据进程类型,对资源需求,用户要求确定。[2]动态优先级。运行过程中优先级可以改变。就绪队列中,等待时间越长,优先度越高。每执行一个时间片,就降低其优先级。
(4)多级反馈调度。时间片轮转算法和优先级算法的综合和发展。
[1]设置多个就绪队列。不同队列赋予不同优先级。每个队列执行时间片的长度也不同,优先级越低时间片越长。
[2]新进程进入内存后,先投入队列1的末尾,安FCFS算法调度,若某进程在队列1的一个时间片内未执行完,则降低投入队列2的末尾,同上,直至按时间片轮转算法调度完成。
[3]仅当较高优先级的队列为空才调度低优先级队列中的进程执行。若进程执行时有新进程进入高优先级队列,则先执行新进程,并把被抢CPU的进程投入到原队列末尾。
对于I/O型进程,最高优先级队列。通常执行一个小的时间片,在该时间片内要求可处理完一次I/O请求的数据,然后转入到阻塞队列。
对于计算型进程,每次都执行完时间片后进入更低级队列。最终采用大时间片来执行,以减少调度次数。
对于I/O次数不多,主要是CPU处理的进程,在I/O完成后,返回优先I/O请求时离开的队列,以免每次都回到最高优先级队列后再逐次下降。I/O完成时,提高优先级,时间片用完时,降低优先级。
2.6死锁
指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。发生死锁时,进程资源有向图中必构成回路。4个条件:互斥,请求保持,不可剥夺,环路。
死锁的处理(1)预防策略。预先静态分配。资源有序分配法。
(2)死锁避免。破坏死锁必要条件之一。银行家算法。检查是否会死锁,是否存在安全序列。
(3)死锁检测。允许死锁产生,定时运行死锁检测程序。
(4)死锁解除。资源剥夺,撤销进程。
2.7线程
进程:拥有资源的独立单位;可独立调度和分配的基本单位。
进程创建,撤销和切换中开销较大,引入线程-调度和分配的基本单位,减少并发执行时付出的时空开销。
线程是进程中的一个实体,也拥有三运行状态。本质上就是函数运行,信息都保存在栈。
3.存储管理
存储器管理的对象主要是主存存储器。存储器管理的主要功能包括主存空间的分配和回收,提高主存的利用率,扩充主存,对主存信息实现有效保护。
3.1结构
存储组织的功能是在存储技术和CPU寻址技术许可的范围内组织合理的存储结构,使得各层次的存储器都处于均衡的繁忙状态。
寄存器-缓存-主存-存储组织的功能外存
1)虚拟地址。
2)地址空间。
3)存储空间。