进程来啦!(上)

发布于:2025-07-17 ⋅ 阅读:(16) ⋅ 点赞:(0)

进程

在讲操作系统的功能之前,我们不得不提及进程,因为只有进程存在了,我们的功能才有可实现的途径。

为什么需要进程呢?这是我学进程的时候一直忽略的问题,首先在最初的时候,也是没有进程概念的时候,程序是怎么执行的呢?程序顺序执行。

程序顺序执行

顺序执行就是一个一个来,按顺序使用处理机,不能发生争抢,这样就是程序顺序执行,顺序执行有这么几个特点:顺序性,封闭性,可再现性。因为是顺序执行,顺序性就是每个程序并不会发生争抢,而是按照一定的顺序进行执行。而封闭性体现在顺序执行时,执行的程序独占资源,并不会发生资源共享的情况,程序一旦开始,执行结果便会封闭起来,不受外界影响。可再现性是因为我们完全可以按照当时的环境和初始条件再来一遍,因为封闭的加持,我们完全可以得到与之前相同的数据。

顺序执行利弊兼有,比如我们可以实现数据的复现,但是最大的弊端就体现在顺序执行,不允许程序发生争抢,当一个程序执行的时候,只有很少的时间使用处理机,但在整个过程中却独占处理机资源,这在当前效率至上的社会是不允许的,而且处理机资源非常宝贵(如果你有看过中国女排等讲述上世纪故事的电影),所以我们引入了程序并发执行。

程序并发执行

程序并发执行时,顺序执行的特性将全部消失,将变成与之相反:间断性,失去封闭性,不可再现性。归根结底这三个特性都是源于共享处理器资源,因为多个程序争抢处理机资源,所以具有间断性,因为多个程序共享处理机资源,所以失去封闭性,所以数据不可再现。为了解决以上的问题,我们引入了进程。

进程的定义

刚才我们已经讲了为什么需要进程,可能不是很明朗,所以我们接着讲一下,程序存在的意义,是简化我们的运算从而得到我们想要的结果,但是程序单次执行,太浪费处理机资源,程序并发执行,执行的结果又拿不到,所以我们就需要这些并发的程序具有封闭性,能够将目前得到的结果进行存储,也要能将当时所处的处理机环境进行记录,所以为了满足以上的需求,进程诞生了。为了使参与运行的并发程序能够独立运行,且数据具有可再现性,我们就需要os有一块专门的数据结构,即进程控制块(PCB),pcb也可以对进程进行控制和管理(后面会讲),所以我们说创建进程实际上就是创建PCB,销毁进程就是销毁PCB。

在引入进程的概念之后,我们就可以将进程的概念定义为:程序的执行过程,系统进行资源管理和调度的一个独立单位(不是最小单位)。

进程的特征

动态性:记住一句经典的名言“进程由创建而产生,由调度而执行,由销毁而灭亡”这就是动态性的核心体现。

并发性:在一段时间内进程可以并发执行,这也是我们为什么需要进程的原因。

独立性:进程的运行具有独立性:独立运行,独立获得资源,独立接受调度。

异步性:进程在异步的同时又保持同步,这么说是比较含糊的,因为这句话看进程异步与同步的维度不同,异步的意义就在于不浪费等待时间,当一个进程不占用CPU资源的时候,此时其他就绪队列的进程就可以使用,这就是异步性,同步的意义就在于在混乱中保持有序性,因为我们讲到了主要CPU空闲,那么位于就绪队列的进程就可以使用,我们可以设想一下如果没有这个进程的就绪队列,那岂不是人人见到了宝,会造成哄抢的状态,所以同步的作用就体现出来了,就是维持一种有序性,可以通过这种队列,当然这种队列的排序方式有很多种,我们后期会讲。


网站公告

今日签到

点亮在社区的每一天
去签到