Linux —— 让我们来聊聊进程1(进程的概念)

本文介绍了进程的基本概念,包括进程是程序代码、数据和PCB的结合体。在Windows下,我们通过任务管理器查看进程,而在Linux中,使用`ps axj`命令。每个进程有独立的PID,Linux的PID分配有特定规则。进程的详细信息存储在proc目录下对应的文件夹中。接下来的内容将探讨fork函数创建子进程及进程状态。
摘要由CSDN通过智能技术生成

在阅读这篇文章之前,相信各位读者对程序的概念已经有了一定的了解了。一个程序就是编译生成后的可执行文件,说到底它只是一个二进制文件,只是一堆指令而已

它没有被加载到内存里面,就没有什么意义。那如果一个程序被加载到内存当中呢?

那它就称为了一个进程。上次在聊到冯诺依曼体系结构的时候我们已经说到了,操作系统是帮我们管理软硬件资源的,它其中的一部分工作就是进程管理。

因为大量的进程载入到内存当中后,一定是杂乱无章的,它需要被操作系统管理。我们也说过操作系统的管理方式是先描述,再组织。那么对于单个进程而言,它的描述方式自然是用结构体来存储它的各种属性(这些属性我们后面会聊到的),这个结构体称为PCB(Process Control Block)——进程控制块。

对于大量的进程而言,操作系统则需要把它用数据结构组织起来,其中一种方式就是以链表的形式。用链表将每个PCB链接在一起,链表的数值域自然是PCB结构体。

说到这里,大家相信对进程有个大概的认识了,那我们就该对进程下一个很好的定义了!

进程的概念:

进程=程序代码+数据+对应的PCB。

 在window下我们可以在任务管理器中查看当前的进程,它包括了进程的名字,以及进程的各种属性。 

 一、Linux下的进程

在Linux下我们又该如何查到当前存在的进程呢?可以输入ps+axj查看

 其中的PID是进程号,每一个进程都有其独立的PID,Linux一般要求PID数量小于32767,如果有一个新的进程创建的时候,内核会按照顺序为其分配PID。如果PID数量大于32767,内核会重置PID,从300开始,寻找可用的PID分配给新进程。

后面我们会了解到,进程间存在父子关系,即一个进程可以通过创建子进程的方式为其完成特定的任务,PPID就是进程的父进程的PID。

 二、进程的文件

在Linux下,内核会为进程在proc目录下创建一个独立的文件,里面保存着进程的信息。

其中蓝色的就是进程的文件夹,文件名是进程的PID。我们可以进入proc中,打开某个进程对应的文件夹查看进程的信息。

 图中的cwd称为Current Work Directory(当前工作目录),exe后表示可执行程序的存储路径。

本次的介绍较为简短,主要集中于概念,希望大家多看,多操作,多理解。

下次我会介绍fork函数创建子进程的方式,以及一般进程的状态,最后落实到Linux下的具体进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值