进程的管理

@TOC

进程的基本概念

程序是指令(或语句)的集合,指令之间是顺序关系(仅当前一操作执行完成后,才继续后续操作)

程序顺序执行的三个特点:顺序性,封闭性(程序执行结果不受外界因素影响),可再现性(只要输入初始条件相同,则无论何时重复执行都会得到相同结果)


程序并发执行特点间断性(任意程序不可能一直占有CPU),失去封闭性多个程序共享系统中的各种资源),不可再现性。

程序是静态概念,进程是动态概念。
程序一旦执行就会创建进程。进程是程序的一次执行。
进程具有生命期,是一个动态实体。
进程具有并行特性


单处理机如何处理多个任务?
答:采用CPU分时技术:每个程序运行相等的时间片,轮流运行—轮转。
进程的管理


进程的特点:动态性,并发性,独立性(进程是一个能独立运行,独立分配资源和独立接受调度的基本单位),异步性(进程按各自独立的,不可预知的速度向前推进)

进程的三种基本状态:就绪状态,执行状态,阻塞状态
进程的管理

在一些系统增加了挂起状态

进程的管理
进程的管理



为了方便操作系统管理和控制进程,引入进程控制块PCB一个数据结构来描述执行中程序的相关信息。
从结构上看,一个进程实体至少包含:程序,数据,PCB。
因为PCB经常被系统访问,所以常驻内存。
PCB的组织方式:链接方式(将具有相同状态进程的PCB链接在一起),索引方式(根据进程不同状态建立几个索引表,索引表每一项只是一个PCB在内存中的首地址,各索引表的起始地址存放在内存的专用知识单元中)

进程的管理
2)处理机状态
处理机运行时,许多新兴放在寄存器中,当处理机被中断时,所有信息保存在PCB中,一边该进程重新执行时,能从断点继续执行。

进程的管理
3)
进程的管理
进程的管理





进程控制

进程控制是进程管理中最基本的功能。

  • 创建进程
  • 终止进程
  • 进程运行中的状态转换

进程建立后进入就绪队列,靠进程调度才运行,而不是立即运行。
进程的管理

进程终止过程:进程入口---终止执行---撤销子进程---释放资源---PCB移出

进程的阻塞与唤醒:
引起进程阻塞事件:请求系统服务不能满足/启动某种操作,比如i/o,新数据尚未到达,无新工作可做
进程阻塞过程:入口(进程标识,等待条件)---修改PCB内容:状态=“等等”---插入等待队列---转进程调度




进程同步

进程同步有两种制约关系:间接相互制约关系(进程间要通过某种中介发生联系,即互斥关系:多个进程共享一个临界资源,共享方式是先来者先用的异步方式),直接制约关系(即同步关系,指多个进程的执行有先后顺序的限制)

临界资源(互斥资源):系统中某些资源一次只允许一个进程使用
如:打印机,共享的变量,缓冲区等
临界区(互斥区):在进程中访问临界资源的程序段
为了保证对临界资源的互斥利用,在使用前应该先申请,判断。

同步机制有四个准则:

  • 空闲让进
  • 忙则等待
  • 有限等待:任何进入临界区的进程应该在有限时间内得到满足
  • 让权等待:当进程不能进入临界区时,应立即放弃CPU

信号量机制
整型信号量----记录型信号量—AND型信号量—信号量集




管程机制

使用信号量机制,要求每个访问临界资源的进程都必须有同步操作wait(s)和signal(s),使大量的同步操作分散在各个进程中,导致系统无法有效控制管理,容易导致死锁,不利于维护和修改。
引入管程。

进程的管理
管程每次只允许一个进程进入,从而实现进程互斥。

进程通信

进程通信:进程之间的信息交换

  • 共享储存器系统:共享数据结构的通信方式(公用数据结构的设置及对进程间同步的管理都由程序员完成,效率低),共享存储区的通信方式(进程可随时向系统申请一块存储区,并指定该区的关键字,用于进程通信)
  • 管道通信
    • 进程的管理
      进程的管理
  • 消息传递系统
    • 进程的管理



线程

引入进程目的是为了使多个程序能并发执行,提高资源利用率和系统吞吐量
引入线程的目的是为了减少程序并发执行时所付出的时空开销,让操作系统具有更好的并发性。

进程是一个拥有资源的独立单位,又是一个可独立调度的基本单位。
将进程的资源申请和调度属性分开,即进程作为资源的申请和拥有者,但不作为调度的基本单位进程的管理
进程的管理
线程的三种基本状态:执行状态,就绪状态,阻塞状态。
多线程OS中的进程有以下属性:

  • 作为资源分配的单位
  • 可包括多个线程
  • 进程不是一个可执行的实体所谓进程处于“执行”状态,实际上是该进程的某线程正在执行

进程的管理
进程的管理
进程的管理