进程和进程控制块(PCB)
目录
进程概念
是程序的一次执行过程,是系统进行资源分配和处理机调度的一个独立单位。
是一个运行中程序的描述,通过描述信息中的内存指针可以找到内存中运行的程序代码及数据,并且通过上下文数据可以保存程序调度切换时正在处理的数据,以及通过程序计数器保存进程切换时程序即将运行的一条指令……等,通过这些描述信息控制一个程序的运行。因此对于操作系统来说进程就是PCB。
进程的特征
- 并发性
- 独立性
- 异步性
- 结构特性:进程=程序段+数据段+PCB
那么进程和程序有何区别,两者又有什么联系?
- 进程是一个动态的概念,程序是一个静态的概念,而进程就是程序的运行实体
- 进程具有并发性,而程序没有
- 进程是资源分配和处理机调度的独立单位,其并发性受系统制约
- 一个程序,多次执行,对应多个进程,不同进程可对应同一程序
例如:我们的个人电脑上装有腾讯QQ,但是我有两个QQ号,大号和小号,当我打开一个QQ登录大号时,我再次打开一个QQ登录小号时,这里腾讯QQ就是程序。但是当你打开登录时,它就对应两个不同的进程,大号进程和小号进程;并且两个进程独立运行,互不影响。
进程状态
进程有三种状态:
- 就绪状态:等待处理机
- 执行状态:使用处理机
- 阻塞状态:让出处理机给其他进程 ,使用处理机状态被中断
状态演变图:
进程控制块
我们知道了进程的概念及生命历程,同时我们都知道现在基本都是多道批操作系统,多个进程同时运行,那么操作系统是如何使这些进程井然有序的运行而不发生冲突呢?他是如何对进程进行管理的呢?
我们知道每个明星都有自己的经纪人,负责明星的行程和活动安排,那么进程有自己的“经纪人”吗?有的,那就是进程控制块(PCB),每个PCB记录着对应进程的详细描述信息,其中有:
- 进程标识符:进程的唯一标识,相等于我们在学校中的学号
- 状态信息: 标识进程的状态
- 进程优先级:相比于其他进程的优先级,(进程调度时使用)
- 程序计数器:记录程序下一条指令的地址
- 内存指针: 程序代码和数据的指针,还有一些共享资源内存块的指针
- 上下文数据:进程执行过程中,CPU处理器中的数据
- I/O状态信息: 显式的I/O请求、分配给进程的I/O设备(例如磁带处理器)和被进程使用的文件列表
- 审计信息: 处理机时间总和,使用时钟数总和,时间限制,审计号等
PCB的作用:OS根据PCB来对并发执行的进程进行控制和管理,同时PCB也是进程存在的唯一标志