一、进程概念
- 进程是执行中的程序
- 在单核系统中,1个CPU在一个时间点,只能执行1个进程,因此不可能出现“并行”,只能是“并发”
- 进程是资源分配和调度的基本独立单位。
- 进程和程序的区别
(1)进程是一个动态概念,程序是一个静态概念; (2)进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的。 (3)进程具有并发性,而程序没有; (4)进程是竞争计算机系统资源的基本单位,其并发性受到系统本身的制约; (5)不同的进程可以包含同一程序,只要程序所对应的数据集不同。
进程的内容 :程序代码(文本段)+程序计数器+堆栈段+数据段
-
进程=程序+数据集
二、进程状态
- 就绪(ready):所有资源都有,只是缺少CPU的调度
- 运行(running):资源满足+CPU临幸
- 等待(waiting):缺少某个事件或者某个资源。例如:他想要调用打印机,但是打印机目前属于别的进程,没有分配给它。
- 重点:因为CPU的时间是分片的,所以在运行的这个进程在这个时间片内,当这个时间片结束了,中断就会发出。即使你没做完,不好意思,新的时间片并不属于你,请回到就绪队列等待下一次调度。
- 不可能出现的状态转换
- 就绪->等待(进程占有了资源以后不可能主动释放的)
- 等待->运行
6. 各个状态次数区间
就绪【1,∞) 运行【1,∞) 等待【0,∞)
7.单个系统 N个进程 处于各状态进程
就绪【0,N-1】 运行【0,1】 等待【0,N】 <可能会出现死锁的状态>