一. 进程
进程是正在运行中的程序,是动态的
进程是资源分配的最小单位
进程的基本特征:动态性,并发性,独立性,异步性
二. 线程
线程在执行过程中的每一个任务就是一个线程
进程是由一个或多个线程组成,线程之间共享进程的资源
线程时CPU调度的最小单位
三. 处理机管理
进程的三种基本状态:运行,就绪,阻塞。
(1) 运行:进程占有处理器正在运行
(2) 就绪:进程已经具备运行条件,等待系统分配处理器以便运行
(3) 阻塞:又称睡眠态,是指进程不具备运行条件,正在等待某个事件的完成
进程的三种状态的相互转换
运行→阻塞:等待使用资源或某事件发生。例如等待外设传输、等待人工干预。
阻塞→就绪:资源得到满足或某事件已经发生。例如外设传输结束、或是人工干预完成
就绪→运行:当CPU空闲时,被调度算法选中的一个进程,被CPU分配资源,开始运行。
运行→就绪:CPU分配的运行时间片用完,或出现有更高优先权进程。
四. 进程的4个重要概念
1. 进程同步
同步是指多个相互合作的进程在某些确定点上协调工作顺序的过程。是进程之间的直接制约关系。
例如进程B需要得到进程A的数据才能进行后续工作,没有数据时被阻塞,有数据时才被唤醒。
2. 进程互斥
宏观上互斥也是一种同步。各种进程可以共享系统的资源,但有些资源一次只能供一个进程使用(例如打印机),也称为临界资源。是进程之间的间接制约关系。
当一个进程使用临界资源时,另一个进程必须等待,只有资源被释放,进程才会解除阻塞状态
临界资源:一次仅允许一个进程使用的共享资源称为临界资源,这样进程间就要采取互斥方式来对这种资源进行共享
临界区:人们把进程中访问临界资源的那段代码称为临界区
3. 信号量机制
信号量是解决进程同步与互斥的工具,信号量可以分为两类:
一类是公用信号量,用于实现进程间的互斥,初值等于1或资源数量
另一类是私有信号量,用于实现进程间的同步,初值等于0或正整数
信号量S>=0时,表示某资源的可用数量,当S<0时,表示阻塞队列中等待资源的进程数量
4. PV操作
PV操作用来实现进程同步与互斥。P操作时申请一个资源,V操作表示释放一个资源
实现互斥的方法:信号量设置为1,当进程使用资源时执行P操作,释放资源时执行V操作
实现同步的方法:将信号量S与消息关联,当S等于0表示没有消息,当S不等于0表示有消息。进程B调用P操作信息是否到达,进程A调用V操作通知消息 已经准备好。
五. 进程死锁
当多个进程竞争使用资源时,可能每个进程要求的资源都已经被另一个进程占用。于是,也就没有任何一个进程能继续运行,这种情况称为死锁。
产生死锁的情况主要有:
进程推进顺序不当引起的死锁、同类资源分配不当、PV操作使用不当
死锁的预防方法:
打破互斥条件、打破不可抢占条件、打破占有且申请条件。(保证至少有1个进程获取足够的资源)
设m是资源数量,n是进程数量,w是每个进程需要的资源数量
不死锁公式: m>=n(w-1)+1 [ 资源数量>= 进程数量(每个进程需要的资源数量-1)+1]情况1:m=4,n=3,w=2,不死锁公式m>=n(w-1)+1 代入公式 4>=3(2-1)+1 结果 4>=4,不死锁情况2:m=4,n=3,w=3,不死锁公式m>=n(w-1)+1 代入公式 4>=3(3-1)+1 结果 4>=7,死锁!
六. 进程调度算法
先来先服务算法:进程按照进入就绪队列的顺序占用处理器的资源,
优先数算法:对每个进程设置一个优先数,优先数高的进程先使用处理器资源。
时间片轮转算法:进程使用一次处理器的最长时间称为“时间片”,队列中的进程按时间片轮流使用处理器资源。
分级算法:系统设置多个就绪队列,每个就绪队列中的进程按时间片轮流占用处理器资
七. 存储管理
八. 设备管理
九. 文件管理
十. 作业管理
进到内存之后被进程调度算法