进程的状态
- 运行态(Running):占有CPU,并在CPU上运行
- 就绪态(Ready):已经具备运行条件,但没有空闲CPU,暂时不能运行
- 阻塞态(Waiting):因等待某一事件而暂时不能运行
- 创建态(New):进程正在被创建,操作系统为进程分配资源、初始化PCB
- 终止态(Terminated):进程正在从系统中撤销,操作系统会回收进程拥有的资源、撤销PCB
进程的转换
进程控制
-
功能:实现各种进程之间的转换 -
进程控制是通过原语实现的。原语的特点是执行期间不允许中断,只能一气呵成。这种不可被中断的操作就是原子操作。 -
原语采用"关中断指令"和"开中断指令"实现 -
-
关/开中断指令的权限非常大,必然只允许在核心态下执行的特权指令,在中间的也原语运行在核心态 -
原语的功能: 1、更新PCB中的信息(修改进程状态标志、将运行环境保存到PCB、从PCB恢复运行环境) 2、将PCB插入合适的队列 3、分配/回收资源 -
进程的创建 -
进程的终止 -
进程的阻塞和唤醒 -
进程的切换
进程通信
- 进程之间的信息交换
- 各个进程的内存地址空间相互独立
- 为了保证安全,一个进程不能直接访问另一个进程的地址空间
- 进程通信的方法
*共享存储:两个进程对共享空间进行访问,且必须是互斥的。 *消息传递:进程间的数据交换以格式化的消息为单位。进程通过操作系统提供的"发送消息/接收消息"两个原语进行数据交换 *管道通信:管道通信采用半双工通信,一个进程写,一个进程读。如果要实现双向同时通信,则设置两个管道即可。当进程将数据写入管道时,另一个进程是读不到数据的,只有当管道被写满时,才可读数据。当数据被读出,数据就会被抛弃了
|