进程
在一个数据集上运行的程序过程,系统资源分配的基本单位。(强调动态特性)
进程的特点
- 动态性--程序在处理器上运行的一次动态过程
- 并发行--多个进程能够在内存中同时存在,一段时间内同时运行
- 独立性--进程是独立运行的基本单位,是系统资源分配和调度的独立单位
- 异步性--多个进程以自己的运行速度向前推进
进程和程序的关系
1.进程是动态的,程序是静态的。
2.进程是暂时的,程序是永久的。
3.进程和程序的组成不同
进程影像
进程由数据段,程序段。PCB组成。以上三者合称为进程映像,进程映像静态的,进程动态的。进程是进程映像的运行状态。
进程和作业的区别
- 一个作业完成要经过提交,收容,作业执行,作业完成等步骤,进程对应作业的执行
- 作业时用户提交的任务实体,进程是完成用户任务的执行实体。进程是系统资源分配与调度的独立单元。
- 一个作业可以有多个进程完成并且至少有一个进程来完成,但是一个进程只能在一个作业中,不能在多个任务中存在。
进程的组成部分
- 程序段
- 数据段
- PCB--包括PID,进程状态,进程队列指针,进程优先级,CPU现场保护区,通信信息,家族信息,占有资源清单。
进程状态与转换
- 创建--创建进程初始化PCB。可以进入就绪状态
- 就绪--除了处理器意外其他资源都已获取,等待处理器时间片。可以进入执行状态
- 执行--获取处理器时间片正在执行。
- 阻塞--等待某些资源,自己调度自己进入阻塞状态。被唤醒后可进入就绪状态。
- 结束--正常结束或异常结束。
线程
进程内独立运行的程序单元,是处理器独立调度和分配的单元,除了必要的资源意外没有其他的资源,多个线程共享他们所处进程的资源
进程与线程的比较
- 在支持线程的操作系统中线程是独立调度的基本单位
- 进程是系统资源分配的基本单位,线程基本不具有系统资源
- 在支持线程的操作系统中不仅能够在进程间并发也能够在线程间并发
- 进程的创建的开销远大于线程创建的系统开销,进程内的线程很容易实现同步和通信。
进程间通信
- 低级通信
同步,互斥方式实现进程通信
2.高级通信
共享存储系统,消息系统,管道系统
处理器三级调度
- 高级调度(作业调度)--从外存中选择后备作业给它分配内存资源,创建进程使它具有竞争处理器资源的能力。该调度频率低,多在批处理操作系统中进行此类调度
- 中级调度--将外存中具有运行条件的进程调入内存并将其状态改为就绪状态放入就绪队列,将内存中不执行进程调入外存改变状态为挂起状态。有利于提高系统内存利用率以及吞吐量。
- 低级调度--根据某种策略从就绪队列选择一个进程将处理器分配给他。