进程
程序:指令序列
进程是程序的一次执行过程(动态) ;是进程实体的运行过程
进程实体/进程映像:(静态)
- PCB程序控制块:描述进程的各种信息;进程存在的唯一标志; 操作系统所需的数据都在PCB中
- 程序段
- 数据段
进程的特征:
- 动态性:进程的最基本特征
- 并发性
- 独立性:系统资源分配的基本单位
- 异步性
- 结构性
进程的状态
基本状态:
- 就绪:万事俱备,只缺CPU
- 运行:占有CPU
- 阻塞:因等待某一事件暂时不能运行
- 创建态:操作系统为进程分配资源,初始化PCB
- 终止态:操作系统回收进程资源,撤销PCB
进程控制
实现进程状态的转换 ,通过原语(一种执行期间不允许中断的特殊程序,采用开中断和关中断)实现
原语作用:
- 更新PCB
- 将PCB插入合适队列
- 分配/回收资源
阻塞和唤醒原语要成对使用
进程通信
进程之间的信息交换
-
进程与进程之间拥有相互独立的地址空间
-
为了安全,进程之间不能直接访问
共享存储
两个进程对共享空间的访问必须是互斥的
-
基于数据结构的共享:速度慢、限制多,是一种低级通信
-
基于存储区的共享:比基于数据结构共享速度快,是一种高级通信
消息传递
进程间的数据交换以格式化的消息为单位,通过发送/接收原语实现
-
直接通信方式:消息直接挂到接收进程的消息缓冲队列上
-
间接通信方式/信箱通信方式:先发到中间实体(信箱)中
管道通信
在内存中开辟了一个大小固定的缓冲区
-
管道只能采用半双工通信
-
各进程要互斥访问管道
-
如果没写满,就不允许读;没读空,就不允许写
-
写满时,写进程的write()系统调用被阻塞;变空时,读进程的read()系统调用被阻塞
-
数据一旦被读出,就意味着被丢弃,因此,读进程最多只能有一个