进程的基本概念 超、凢脫俗 2022-12-17 04:24 99阅读 0赞 ## 定义 ## 在引入多道程序之后,计算机可以同时处理多个程序,那么问题来了,那么多个程序,操作系统要怎么才能找到各程序的存放位置呢? 于是就引入了一个概念:**PCB** PCB 就是进程控制块,它用来描述进程的各种信息。 进程实体由 PCB、程序段、数据段组成。 我们所说的创建一个进程其实就是创建一个 PCB。 PCB 是进程存在的唯一标志。 * 注意进程和进程实体的区别:进程是程序的一次执行过程,是动态的,而进程实体是静态的。 * 进程标识符 `PID` 是进程创建时系统自动分配的唯一 ID。 * 和进程管理相关的信息都保存在 `PCB` 中。 ## 进程的状态 ## 进程有 3 种状态: ![20201021190018702.png_pic_center][] * 在单核处理机下,每一时刻最多只有一个进程处于运行态; ![20201025101304184.png_pic_center][] ## 进程状态的切换 ## 由 **阻塞态** 到 **就绪态** 是一种被动行为,不是进程自己能控制的。 由 **运行态** 到 **阻塞态** 是一种主动行为,进程主动请求系统调用。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzk0MTM2NA_size_16_color_FFFFFF_t_70_pic_center][] ## 进程控制 ## 进程控制就是要实现进程状态转换,通过 **原语** 实现。 **原语的特点是** * 不允许中断,只能一气呵成,是一种原子操作; * 运行在核心态。 **无论哪个原语,要做的无非三类事情**: * 更新 PCB 中的信息; * 将 PCB 插入合适的队列; * 分配回收资源。 ## 进程通信 ## 共享存储、管道通信、消息传递。 **管道通信**:管道是指用于连接读写进程的一个共享文件,又名 `pipe` 文件。其实就是在内存中开辟一个大小固定的 **缓冲区** 。 **消息传递**:进程间的数据交换以 `格式化的消息` (如报文)为单位,进程通过操作系统提供的 “发送消息、接收消息” 两个原语进行数据交换。 [20201021190018702.png_pic_center]: /images/20221123/6751987cb2494bda94574ef072a6f649.png [20201025101304184.png_pic_center]: /images/20221123/24f5f23f420341fb91a0ee2fec232c32.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzk0MTM2NA_size_16_color_FFFFFF_t_70_pic_center]: /images/20221123/862d838b8689404eb6d325ed4c89fc98.png
还没有评论,来说两句吧...