Linux内核进程管理子系统有什么第一回 —— 引言与基础知识

本文内容参考:

Linux内核进程管理专题报告_linux rseq-CSDN博客

《趣谈Linux操作系统 核心原理篇:第三部分 进程管理》—— 刘超

《图解Linux内核 基于6.x》 —— 姜亚华 机械工业出版社

特此致谢!

引言

进程管理是所有操作系统的心脏所在,Linux也不例外。在Linux的五大组成部分(进程管理、内存管理、设备驱动、文件系统、网络协议)中,进程管理虽然不像内存管理、虚拟文件系统那样复杂,也不像进程间通信那样条理化,但作为内核五大组成部分之一,进程管理对于理解内核的运作、掌握操作系统的精髓起着关键作用。同时,作为五大组成部分的核心,进程管理与其它四个模块都有千丝万缕的联系,可以说是其它几大部分的“统帅”,在这几大部分中居于中央核心地位。因此,对于进程管理是必须要充分理解和掌握的。本系列文章对进程管理进行详细的讲解和分析,力求涵盖进程管理的各个方面、各个角落的知识,使读者能够深入理解和掌握Linux内核进程管理子系统。

背景知识

1. 进程

(1)什么是进程

进程是Unix/Linux操作系统中最基本也是最重要的抽象概念,人们拥有操作系统就是为了运行用户程序。因此,首先要明确进程的概念,即进程是什么。

在传统教科书上,进程的概念如下:

进程是一次程序的执行,是一个程序及其数据在处理机上顺序执行时所发生的活动,是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位。

从程序员的视角看,以上概念包含两层意思:

1)首先,进程应该包含一个执行流即代码;

2)其次,进程拥有属于它的资源,是资源的载体。

用更易于理解的话来说,进程(process)就是处于执行期的程序(目标代码存放在某种存储介质上),其可以理解为程序执行的一个实例,也可以说进程是程序的一次执行,是一个动态的实体。但进程并不仅仅局限于一段可执行程序代码,通常还包括其它资源,如打开的文件、挂起的信号、内核内部数据、处理器状态、一个或多个具有内存映射的内存地址空间及一个或多个执行线程、以及用来存放全局变量的数据段等。从内核的角度看,进程也可以称为任务。

(2)进程的特征

  • 动态性

进程是程序的执行过程,具有不同的状态:存活、消亡、活动、阻塞等。

  • 并发性

多个进程实体可以在一段时间间隔内同时运行。

  • 独立性

进程是资源分配的最小单位。各进程之间互相独立、互不干扰。

  • 异步性

各进程向前推进的速度是不可预知的,呈现一定随机性。

  • 结构性

进程具有一定结构。它由程序段、数据段和控制结构等组成。

(3)进程与程序的区别

程序是存放在磁盘上的一系列代码和数据的可执行映像,是一个静态的实体。程序是指令的有序集合,是一个在时间上按照严格次序前后相继的操作序列。

进程与程序的区别如下:

  • 动态性

程序是静态的实体,进程是动态的实体。

  • 并发性

进程具有并发性;程序是静态的,不具有并发性。

  • 永久性

程序是永存的(前提是不删除),进程是暂存的。

  • 非对应性

进程和程序无一一对应关系。事实上,完全可能存在两个或多个不同的进程执行的是同一个程序。一个程序可以被多个进程共用;一个进程(在其活动中)也可以顺序执行若干程序。

  • 异步性

各进程在并发执行过程中会产生相互制约关系,造成各自进度的不可预测;而程序本身是静态的,当然就不具有此种特性。

更多内容请看下回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蓝天居士

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

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

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

打赏作者

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

抵扣说明:

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

余额充值