操作系统笔记整理2——进程的描述与控制(1)
点击阅读更多查看文章内容
点此链接可跳转到:操作系统笔记整理——目录索引页
参考书籍:《计算机操作系统》第四版 汤小丹等编著
@[toc]
前趋图
表示一个程序各部分间的依赖关系
程序顺序执行时的特征:
顺序性:严格按照先后次序执行
封闭性:程序运行时独占全部系统资源
可再现性:若初始条件相同,那么重复执行时结果也相同
程序并发执行时的特征:
间断性:互斥、同步
失去封闭性:共享资源->失去封闭性
不可再现性:失去封闭性->失去可再现性
进程
程序并发执行时的不可再现性是不被允许的,因此要引入进程对并发执行的程序加以描述和控制,保持程序的可再现性
定义
- 进程是程序的一次执行实例
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
- 进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位
每个进程都配置一个进程控制块(PCB),每个进程都是由程序段、相关数据段及进程控制块组成。
- 进程实际上是指进程实体
- 创建、撤销进程实际上指创建、撤销进程实体的PCB
- PCB是进程存在的唯一标志
特征
- 动态性:进程的实质是程序在处理机上的一次执行过程,因此是动态。动态性是 进程的最基本的特征 。
- 并发性:指多个进程实体同时存在于内存中,能在一段时间内同时运行。
- 独立性:指进程是一个能独立运行的基本单位,也是系统进行资源分配和调度的独立单位
- 异步性:指进程以各自独立的、不可预知的速度向前推进。
状态
三种基本状态:就绪、执行、阻塞
- 就绪:进程已获得除处理机以外的所有资源,等待分配处理机
- 执行:进程已获得必要资源并在处理机上执行
- 阻塞:正在执行的进程由于发生某事件而暂时无法执行下去
- 创建:申请PCB,分配资源,正在创建的状态
- 终止:进程执行完毕,释放所占资源的状态
挂起:程序在运行期间,由于某种需要,往往要将进程暂停执行,使其静止下来,以满足其需要。这种静止状态就称为进程的挂起状态。一般情况下,挂起状态的进程将从内存移到外存,正在执行的进程暂停执行、就绪的进程暂不接受调度、阻塞的进程即使阻塞事件释放也不能继续执行。
PCB
PCB是操作系统为了管理和控制进程运行而为每一个进程定义的一个数据结构,它记录了系统管理进程所需的全部信息
PCB常驻内存,存放在操作系统中专门开辟的PCB区内
作用
1.作为独立运行的标志
PCB是进程存在的唯一标志
2.能实现间断性运行方式
利用 PCB 保存处理机状态信息,保护和恢复 CPU 现场。
3.提供进程管理所需要的信息
根据 PCB 中的程序和数据的内存始址,找到程序和数据。系统根据 PCB 了解进程所需的全部资源。
4.提供进程控制所需要的信息
OS 要调度某进程执行时,从 PCB 中查现行状态及优先级。
5.实现与其他进程的同步和通信
PCB中的信息
1.进程标志符
内部标识符:由系统创建进程时分配给进程的唯一标识号,用于区分不同的进程(进程号)
外部标识符:用户访问该进程时使用(用户号)
2.处理机状态(断点信息)
通用寄存器、指针计数器、PSW(程序状态字)、用户栈指针
3.进程调度信息
进程状态、优先级、进程调度所需信息(等待时间、已执行时间等)、事件(状态转换的原因)
4.进程控制信息
程序和数据的地址、同步和通信机制(消息队列指针、信号量等)、资源清单(除CPU外,所需资源及已分配资源的清单)、链接指针(下一个进程的PCB的首地址)
PCB的组织方式
链接方式:同一状态的PCB链接成一个队列,形成就绪队列、阻塞队列等
索引方式:将同一状态的进程组织在一个索引表中,索引表的表项指向相应的PCB,不同状态对应不同的索引表
进程的层次结构
子进程可继承父进程的所有资源
子进程撤销时要把资源归还给父进程
父进程撤销时也必须撤销所有子进程
进程控制
进程控制是进程管理中最基本的功能,即对系统中所有的进程实施有效的管理,其功能包括进程的创建、撤销、阻塞与唤醒等,这些功能一般是由操作系统的内核中原语来完成
操作系统内核:
内核是基于硬件的第一层软件扩充,它为系统控制和管理进程提供了良好的环境。
在现代OS中,常把一些功能模块(与硬件紧密相关的及运行频率较高的)放在紧靠硬件的软件层中,加以特殊保护,使它们常驻内存,以提高OS的运行效率,这部分功能模块就称为OS的内核。
中断
中断:CPU对系统中或系统外发生的某个事件作出的一种反应。如外部设备完成数据传输、实施设备出现异常等。
引入中断的目的:中断机制是操作系统得以正常工作的最重要的手段
操作系统是由中断驱动的
原语
原语:由若干条指令组成的,用于完成一定功能的一个过程。它与一般过程的区别在于:它们是“原子操作”。
原子操作:指一个操作中的所有动作要么全做,要么全不做。换言之,它是一个不可分割的基本单位,因此,在执行过程中不允许被中断。
原语在核心态下执行,常驻内存
进程创建
导致进程创建的事件:
1.用户登录:为该终端用户创建一个进程
2.作业调度:为被调度的作业创建进程
3.提供服务:如要打印时建立打印进程
4.应用请求:由应用程序建立多个进程(并发)
使用进程创建原语Create创建进程
进程终止
导致进程终止的事件:
1.进程正常结束
2.进程异常结束(越界、超时等)
3.外界干预(操作员、OS、父进程)
使用进程撤销原语Kill撤销进程
进程的阻塞与唤醒
导致进程阻塞和唤醒的事件:
1.向进程请求共享资源失败
2.等待某种操作的完成
3.新数据尚未到达
4.无新工作可做
阻塞原语:Block
唤醒原语:Wakeup
进程从执行态到阻塞态是主动的,进程发现需要等待某一事件,主动向系统申请进入阻塞态。
进程从阻塞态到就绪态是被动的,当系统(或其它进程)发现阻塞进程阻塞的条件已释放,向系统申请将该进程置为就绪态。
进程的挂起与激活
挂起原语:Suspend
挂起是由进程自己或其父进程调用Suspend原语完成
激活原语:Active
激活是由父进程或用户进程请求激活指定进程,系统利用Active原语将指定进程激活
练习题
操作系统笔记整理2——进程的描述与控制(1)