在引入多道程序之后,计算机可以同时处理多个程序,那么问题来了,那么多个程序,操作系统要怎么才能找到各程序的存放位置呢?
于是就引入了一个概念:PCB
PCB 就是进程控制块,它用来描述进程的各种信息。
进程实体由 PCB、程序段、数据段组成。
我们所说的创建一个进程其实就是创建一个 PCB。
PCB 是进程存在的唯一标志。
PID
是进程创建时系统自动分配的唯一 ID。PCB
中。进程有 3 种状态:
由 阻塞态 到 就绪态 是一种被动行为,不是进程自己能控制的。
由 运行态 到 阻塞态 是一种主动行为,进程主动请求系统调用。
进程控制就是要实现进程状态转换,通过 原语 实现。
原语的特点是
无论哪个原语,要做的无非三类事情:
共享存储、管道通信、消息传递。
管道通信:管道是指用于连接读写进程的一个共享文件,又名 pipe
文件。其实就是在内存中开辟一个大小固定的 缓冲区 。
消息传递:进程间的数据交换以 格式化的消息
(如报文)为单位,进程通过操作系统提供的 “发送消息、接收消息” 两个原语进行数据交换。