什么是进程
- 由程序段、相关的数据段和PCB段三部分便构成了进程实体。
进程的定义
- 进程是程序的一次执行。
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
- 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
进程的特征
- 动态性:进程的实质是进程实体的执行过程,因此,动态性就是进程的最基本的特征。
- 并发性:是指多个进程实体同存于内存中,且能在一段事件内同时运行。
- 独立性:在传统的OS中,独立性是指进程实体是一个能独立运行,独立获得资源和独立接受调度的基本单位。
- 异步性:是指进程是按异步方式运行的,即按各自独立的,不可预知的速度向前推进。
为什么引进进程
为了使进程在并发的时候虽具有异步性,但仍能保证进程并发执行的结果是可在现的,在OS中引进了进程的概念。
二级页表分配
- 对于页表所需的内存空间,可采用离散分配方式,以解决难以找到一块连续的大内存空间的问题
- 指将当前需要的部分页表调入内存,其余的页表仍驻留在磁盘上,需要时再调入。
PCB的具体作用
-
作为独立运行基本单位的标志。
-
能实现间断性运行方式。
-
提供进程管理所需要的信息。
-
提供进程调度所需要的信息。
-
实现与其他进程的同步与通信。
进程控制块(PCB)中的信息
-
进程标识符(内部标识符,外部标识符)
-
处理机调度
-
进程调度信息(进程状态,进程优先级,进程调度所需的其他信息,事件)
-
进程控制信息
系统内核
-
系统态:又称管态,也叫做内核态。它具有较高的特权,能执行一切指令,访问所有寄存器和存储区,传统的OS都在系统态运行。
-
用户态:又称目态。它是具有较低特权的执行状态,仅能执行规定的指令,访问指定的寄存器和存储区。
支撑功能
- 中断处理
- 时钟管理
- 原语操作
资源管理功能
-
进程管理
-
存储器管理
-
设备管理
同步机制应该遵循的规则
-
空闲让进:当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进去临界区,以有效利用临界资源
-
忙则等待:当已有进程进入临界区时,表明临界资源正在被访问。因而其他视图进入临界区的进程必须等待,以保证对临界资源的互斥访问。
-
有限等待:对要求访问临界资源的进程,应保证在有限的时间内能进入自己的临界区,以避免“死等“状态。
-
让权等待:当进程不能进入自己的临界区的时候,应立即释放处理机,以免进程陷入”满等“状态。
关中断的缺点
-
滥用关中断可能导致严重后果。
-
关中断时间过长,会影响系统效率。限制了处理器交叉执行程序的能力
-
关中断也不适合多CPU系统。因为在一个处理器上关中断并不能防止进程在其他处理器上执行相同的临界段代码。
TAS
Swap
利用信号量实现进程互斥
为使多个进程能互斥的访问某临界资源,只需为该资源设置互斥信号量mutex,并设其初始值为1,然后将各进程访问该资源的临界区CS置于wait(mutex)和signal(mutex)操作系统之间即可。
进程间通信
-
共享存储器系统
-
管道通信
-
消息传递系统
-
套接字
-
远程方法调用和远程过程调用
作业调度
FCFS(先来先到服务)
SJF(短作业优先)
缺点
-
对长作业不利
-
人机一般无法交互
-
无法保证急迫性作业能得到及时处理
HRRN(高响应比优先调度算法)
略。。。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8DWZy3cI-1614524805788)(file://img_mathjax_3896)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q2xxcdYw-1614524805793)(file://img_mathjax_3900)]
-
如果作业的等待时间相同,则要求服务的时间愈短,其优先权越高。
-
要求服务时间相同的时候,作业优先权决定于其等待时间。
-
对于长作业优先级,可以随等待时间的增加而提高,当等待时间足够长时,也可以获得处理机。
死锁的起因
- 通常是源于多个进程对资源的争夺,不仅对不可抢占资源进行争夺时会引起死锁,而且对可消耗资源进行争夺时,也会引起死锁。
主要是可用资源少于需求资源
死锁的定义
如果一组进程中的每个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程就是死锁。
死锁产生的条件
-
互斥条件
-
请求和保持条件
-
不可抢占条件
-
循环等待条件
银行家算法
当进程请求一组资源时,系统必须首先确定是否有足够的资源分配给该进程。若有再进一步计算在将这些资源分配给进程后,是否会使系统处于不安全状态。如果不会,才将资源分配给他,否则让进程等待。
资源分配图算法
略。。。(P123)