如何理解进程的概念

        最近在计算机操作系统这门课中学到了进程。在操作系统中,进程是操作系统为了管理程序设置的一种管理机制。

简单的说,进程可以具象成一个结构体,我们称它为PCB,在进程结构体内包含了进程的所有内容,就好像流水线上的包裹,然后我们通过这个PCB结构体来管理程序。

在管理过程中,多个不同进程可能会交替运行。所以我们对进程设置不同的状态来方便运行。

对于进程的状态,可以分为五个,创建-就绪 - 执行  - (阻塞)- 终止

其中核心的三种状态是:就绪,阻塞和执行,他们有着下图所示的关系。


ps:当然,这只是最简单的模型,实际情况下,还会有挂起队列等状态。

除了进程的状态外,我们还要区分进程和线程两个不同的概念

进程的概念包括两个特点:

        1.资源所有权:进程具有一个虚拟的内存空间用来访问程序和数据。

        2.调度/执行:在进程执行时,进程具有不同的执行状态和分配优先级。

这两个特点相互独立,所以为了区分,我们把没有资源所有权的“进程”称为线程或叫做轻量级进程

也就是说,一个进程可以分为很多的线程,所有线程全部共享它的虚拟内存空间(因为线程没有资源所有权)。

我做了一张图,可以让大家更方便的理解一下线程和进程



接下来,我们探讨PCB的内容

以linux中的PCB进程结构体task_struct为例,参考大佬的PCB讲解

我们可以看到pcb的详细内容,其中大部分都是指针,这些指针指向的,就是pcb控制的一个个子模块 

参考资料:

鸟哥的linux私房菜,操作系统精髓与设计原理,计算机操作系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值