进程(二)—— 控制与通信

2021-03-21  本文已影响0人  Still_Climbing

1. 进程控制

进程控制的主要功能是对系统中所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。简单理解,进程控制就是实现进程状态的转换。

实现:通过原语(原语的执行具有原子性,要么全做要么全不做,可以通过两个特权指令——关中断指令和开中断指令来实现。CPU执行了关中断指令之后,就不再例行检查中断信号,直到执行开中断指令之后才恢复检查,这样,关中断和开中断之间的这些指令序列就是不可被中断的,这就实现了原子性)

2. 进程控制相关原语

2.1 创建原语(创建态\rightarrow就绪态)

2.2 撤销原语(就绪态/阻塞态/运行态\rightarrow终止态\rightarrow无)

2.3 阻塞原语

2.4 唤醒原语

2.5 切换原语

小结:无论哪个进程控制原语,要做的无非三类事情——更新PCB中的信息、将PCB插入合适的队列、分配或回收资源

3. 进程通信

顾名思义,就是进程之间的信息交换。进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立。为了保证安全,一个进程不能直接访问另一个进程的地址空间,但是进程之间的信息交换又是必须实现的,为此OS提供了三种方法,分别是:共享存储、消息传递、管道通信

3.1 共享存储

两个进程被OS分配一个共享空间。不过两个进程对共享空间的访问必须是互斥的(通过OS提供的工具来实现),OS只负责提供共享空间和同步互斥工具

3.2 管道通信

3.3 消息传递

进程间的数据交换以格式化的消息(Message)为单位,进程通过操作系统提供的发送消息/接收消息两个原语进行数据交换

上一篇下一篇

猜你喜欢

热点阅读