让你真正理解进程

教材中和市面上的书籍中总是对进程有这样的解释:一个运行起来(加载到内存)的程序。

但这样的解释其实是不太准确的,这样不能够怪他们这样说,只是背后的知识太多,无法用三言两语说清楚。

根据冯诺伊曼结构体系,任何程序想要被CPU调度都必须先加载到内存。而一台计算机,从开机的时候就会有很多的程序加载到内存,这时我们再打开我们想用的几个程序时,该程序也会加载到内存中。那么内存中这么多的程序,操作系统是否需要管理呢?于是乎,操作系统将所有程序共有的属性描述成一个结构体,再用某种数据结构将这些结构体组织起来,这样操作系统通过该结构就能够管理好每一个程序,该结构体就是进程控制块(PCB),Linux中称为struct task_struct

所以真正的进程的概念应该是:PCB+内存中相应的程序代码

注意:程序加载到内存后,删除掉磁盘上的程序,不会影响该进程(一般情况),因为内存中的程序是磁盘上程序的拷贝。

image-20221225134255556

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云朵c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值