持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情
一、进程概念的引入
在我的理解中,进程是现代操作系统的核心概念之一。进程(Process)是指计算机中已运行的程序,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
二、进程的特征及和程序的关系
进程具有很多特征,这也是进程在各方面的展现,进程的特征如下:
(1)进程具有动态性、并发性、独立性、异步性、结构性
动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。
并发性:任何进程都可以同其他进程一起并发执行
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;
异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进
结构特征:进程由程序、数据和进程控制块三部分组成。
(2)进程和线程之间的关系
进程与线程是两个不同的概念,但两者也不是毫不相关的存在。
(1)进程的动态性和程序的静态性。 (2)进程的暂时性和程序的永久性。 (3)进程的并发性和程序的顺序性。 (5)进程与程序是密切相关的。
三、进程的状态及转换
进程作为一个动态的概念,从创建到撤销经历了一个生命周期,在这个生命周期中,进程并不是一直占用处理机处于运行状态,而是处于运行-等待的交替状态。
(1)进程的三种基本状态
运行状态、就绪状态、阻塞状态
(2)进程基本状态的转换
在有些操作系统中,增加了两种基本状态:创建状态和退出状态,如下图所示:
四、进程通信
常用的进程高级通信方式有共享存储器系统、管道通信系统和消息传递系统三种类型。
(1)共享存储器系统:通信进程共享一个存储空间,通过对该空间进行读/写操作进程通信。
(2)管道通信系统:(pipe 文件、缓冲区),半双工。性质同IO 中的缓冲区。且运行多进程读写管道。数据一旦被读出立刻丢弃。
(3)消息传递系统:直接以格式化的数据“消息”为单位,通过“发送消息”&“接收消息”原语进行通信
消息传递有两种方式:1、直接通信:进程间直接传送消息;2、间接通信:进程中有“信息”中间实体(类似于网络中的电子邮箱系统的信箱)