3-1 进程概念 process
1.顺序执行
①顺序环境计算机只有一个程序在运行,改程序独占系统中所有资源,其执行不收外界影响。
②顺序执行的特征:
顺序性:按程序结构所指定的次序
封闭性:独占系统资源
可再现性:初始条件相同则结果相同
2.并发环境
①一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,且次序不是事先确定的。
②并发执行的特征:
间断性:一个程序可能走到中途停下来,失去原有的时序关系。
失去封闭性:共享资源,受其他程序的控制逻辑的影响。
失去可再现性:外界环境在程序的两次执行期间发生变化,失去原有的可重复性。
3.进程概念
为描述程序在并发执行时对系统资源的共享,描述程序执行时动态特征,提出进程的概念。
关于进程的其他理解和说明:
①process – a program in execution 在执行中的程序
②一个具有一定独立功能的程序在一个数据集上的一次动态执行过程。
②程序是被动静态的实体,进程是动态的实体。
③引入多进程,提高了对硬件资源的李永利,但又带来了额外的空间和时间开销,增加了OS的复杂性。
4.一个进程包括:
①program code 程序代码
②current activity 当前活动
③related data 相关数据 如:
stack 栈 存储临时数据、函数参数、返回地址、局部变量
heap 堆 存储动态内存
data section 存储数据段 如全局变量
5.进程和程序
①进程是动态的,程序是静态的。
②进程是暂时的,程序是永久的。
③进程和程序的组成不同。
④对应关系:多次执行,一个程序可以对于多个进程;通过调用关系,一个进程可包含多个程序。
6.进程的特征
①结构特征:进程实体=程序段+相关数据段+PCB。
②动态性:进程实质是进程实体的动态执行过程(基本特征)。
③并发性:多个进程实体同时存在于内存中,且能在一段时间内同时运行(最主要特征)。
④独立性:进程实体能独立运行,独立分配资源和独立接受调度的基本单元。
⑤异步性:进程按各自独立的不可预知的速度向前推进。
7.进程意味着:
①处于某一种状态(运行、就绪、等待)
②进程控制卡PCB(数据结构)
③进程的执行程序(一个可执行文件)
④进程位于某个队列(就绪、等待某事件队列)
⑤占用某些系统资源(内存,打开某些文件,处理机,外设)
3-2 进程状态
1.进程的各种状态:
新建new:创建进程
就绪ready:进程等待分配处理器
运行running:指令在执行
等待 waiting:进程等待某些事件发生
终止terminated:执行完毕:
2.进程状态变迁
①创建状态(新new)
OS已完成创建一进程所必要的工作,已构造了进程标记符,创建了管理进程所需的表格,但还没有允许执行进程,因为资源有限。
②就绪状态(ready)
存在于处理机调度队列中的那些进程,已准备就绪,一旦得到CPU就可以了运行(多个进程处于此状态)
③运行状态(running)
得到CPU控制权,程序正在运行(系统中总只有一个处于此状态)
④等待状态(waiting)
进程正的等待某个事件的发生(如等待I/O的完成)二暂停执行。即使给它CPU时间也无法执行。
⑤终止状态(terminated)
不再具有执行资格,表格和其他信息暂由辅助程序保留,当数据不再需要时,进程被删除。
总结:进程的状态不是固定不变的,而是在不断变化。
3-3 进程控制块PCB
1.进程控制块(process control block)
①一个专门的数据结构,系统用它来记录进程的外部特征,描述进程的运动变化过程。
②PCB是进程管理和控制的最主要的数据结构。创建进程时,建立PCB,并伴随进程的全过程,随进程的撤销而撤销。
③PCB是相同感知进程存在的唯一标志,与进程一一对应。
④PCB经常被系统访问(如内存调度、资源分配程序、中断处理程序),PCB应常驻内存。
2.PCB保存与进程有关的信息
①保存的信息:进程状态、程序计数器、CPU寄存器、CPU调度信息(CPU优先级、调度队列指针)、内存管理信息、记账信息、I/O状态信息、通信信息。
②进程标识符:每个进程必有一个唯一标识符 字符串或者数字 UNIX中是整型
③进程状态:说明进程当前所处的状态。
④程序计数器:指向执行程序的下个指令的地址。
⑤CPU现场保护区:当进程因为某种原因不能继续占用CPU时,释放CPU,这时就要将CPU的各种状态信息保护器,为将来再次得到处理恢复CPU的各种状态,继续运行。
3.PCB的组织方式
①PCB表:把PCB组织在一起,放在内存的固定区域,构成PCB表。
②PCB表的个数决定了系统中最多可同时存在的进程个数,成为系统的并发度。
③PCB表的组织方式:链接方式、索引方式
3-4 调度
1.进程调度队列
①作业队列 在系统中所有进程的集合
②就绪队列 在主内存中就绪并等待执行的所有行程的结合
③设备队列 等待某一I/O设备的进程队列
2.进程调度的描述
3.调度类型
①长程调度 long-term schedule(job schedule)
选择可以进入就绪队列的进程(把作业调入内存),特点是不快,seconds,minutes
②短程调度(CPU调度) short-term schedule(CPU schedule)
选择可被下一个执行并分配CPU的进程,特点是切换频率高,milliseconds
③长调度控制了多道程序的“道”。
④中程调度:为了缓和内存进展的情况,将内存中处于阻塞状态的进程换至外存上(挂起),降低多道程序的度。当这些程序重新具备运行条件时,再从外存上调入内存。
4.进程可用以下方式描述
I/O型进程,花费I/O时间多余计算,许多短CPU处理
CPU型进程,花费更多时间于计算,许多长CPU处理
5.进程间CPU的切换
6.上下文切换 context switch
①当CPU切换至另一个进程时,系统必须保存旧程序状态,并为新进程调入所保留的状态。
②上下文切换的时间开销较重,在切换时,系统没有做有用的工作。
③切换的时间取决于硬件的支持。
本文知识以及图片来源:慕课_操作系统原理_田丽华
网址:https://www.icourse163.org/learn/XJTU-1003409001?tid=1206408203#/learn/content