第三章 进程
思维导图:
进程(Process)
要解决的问题:
- 顺序环境
- 计算机只有一个程序在运行,该程序独占系统中所有资源,其执行不受外界影响
-
并发环境:
-
一定时间内,物理机器上由两个或两个以上的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的
-
特征
-
多道程序设计对OS的要求
-
- 进程
- 一个进程包括:
- 进程与程序的区别
- 进程的特点:
- 进程存在意味着:
-
进程的状态
- 进程执行时,改变状态
- 进程的状态不是固定不变的,而是在不断变化
- 终止(退出exit)状态
- 进程执行时,改变状态
-
PCB(Process Control Block)进程控制块
-
同进程有关的信息
-
PCB的组织方式
-
进程的调度
- 进程调度的队列
- 进程调度图
- 、
- 调度的级别
- 长程调度(或作业调度)——选择可以进入就绪队列的进程
- 短程调度(或CPU调度)——选择可被下一个执行并分配CPU的进程
- 中程调度
- 为了缓和内存紧张的情况,将内存中处于阻塞状态的进程换至外存上(挂起),降低多道程序的度。当这些进程重新具备运行条件时,再从内存上调入内存
-
调度可以分为
-
I/O型进程-花费I/O时间多于计算
-
CPU型进程-花费更多时间于计算,许多长CPU处理
-
-
进程间CPU的切换
- 当CPU切换至另一个进程时,系统必须保存旧程序状态并为新进程调入所保留的状态
- 上下文切换的时间开销较重;在切换时,系统没有做有用的工作
- 时间取决于硬件的支持
- 进程调度的队列
-
进程的操作
- 进程状态图
-
进程何时创建
-
进程可以接着创建进程——构成进程树
- 父子进程的关系
-
资源共享
- 执行:
- 地址空间:
-
-
进程的创建——UNIX中
-
进程的终止
-
进程阻塞
-
进程唤醒
- 进程状态图
-
进程通信:共享存储
-
Producer-Consumer Problem
-
- 进程通信:消息传递
-
逻辑上的特性
-
连接如何建立
-
连接可同多于两个的进程相关吗
-
每对通信进程有多少连接
-
一个连接的容量是多少
-
连接可使用的固定或可变消息的大小
-
连接是无向的还是双向的
-
-
直接通信
-
变种:非对称方式,发送命名,接收时不指定
-
间接通信
-
限定条件
-
同步:阻塞;异步:非阻塞
-
缓冲
-
消息队列附加在连接上;有以下三种实现方案
-
-
-