程序猿之计算机操作系统 — 1.6 进程管理


程序猿之计算机操作系统 — 1.6 进程管理

在现代操作系统中,“进程”是资源分配与调度的最基本单位。程序必须以进程的形式存在并运行,因此在 CPU 执行程序之前,程序需要先被封装成一个进程。比如编译器、文本编辑器、浏览器等系统程序或用户程序,都是进程的实例。

进程的基本定义

程序本身是静态的、被动的,称为“程序实体”(passive entity),它只是存储在磁盘上的一组指令集合。而进程则是动态的、主动的(active entity),是程序执行的运行实例。一个单线程进程具有一个程序计数器(Program Counter,PC),它指向将要执行的下一条指令。因此,一个进程的执行过程是顺序的,从当前指令到下一条指令,直至结束。

在任意时刻,CPU 中每个核心只能执行一条指令,而系统中可能存在多个并发进程,因此操作系统必须决定哪个进程获取 CPU,并如何调度它们的执行顺序。多线程进程中,每个线程也拥有独立的程序计数器。

进程的资源需求

进程需要一系列资源以便运行,这些资源包括:

  • CPU 时间:用于指令的执行;

  • 内存:存放代码、数据和栈;

  • 文件:用于数据存储与交互;

  • I/O 设备:如键盘、打印机、网络接口等。

创建一个进程时,这些资源要么立即分配,要么通过系统调度机制按需提供。此外,进程可能还需要系统调用接口,以便从终端、网络或文件中获取输入信息,或将处理结果输出。

当进程终止时,其所占用的资源将被回收并供后续进程重复使用。

进程与线程的关系

操作系统中,进程是资源分配的基本单位,而线程是 CPU 调度的基本单位。一个进程至少包含一个线程(主线程),但也可以包含多个线程(如多线程服务器)。线程之间共享进程的资源(如内存、文件描述符),但它们拥有独立的执行栈和程序计数器。

因此,尽管多个线程可能运行在同一个进程上下文中,但它们在执行上是相互独立的,具备并发执行能力。

进程管理的核心功能

进程管理是操作系统的核心功能之一,它主要完成以下几项任务:

  1. 创建与终止进程:包括用户进程和系统进程;

  2. 进程调度与切换:决定哪个进程获得 CPU;

  3. 进程挂起与唤醒:控制进程的执行状态;

  4. 进程同步与互斥:协调多个进程对共享资源的访问;

  5. 进程通信机制:如管道、消息队列、共享内存、信号等。

系统中所有的进程通常由三个主要部分组成:

  • 操作系统进程(执行系统代码);

  • 用户进程(执行用户代码);

  • I/O 进程(管理外设和数据交互)。

所有进程通常由一个或多个 CPU 核心通过调度算法实现轮转执行。


理解

理论理解:进程是操作系统的核心调度单位

在操作系统中,“进程”与“程序”具有本质区别。程序是静态的指令集合,是存储在磁盘上的 passive entity,而进程是程序在执行中的动态表现形式,是 active entity。之所以要引入“进程”这一概念,核心目的是为了实现多任务的并发执行与系统资源的高效利用。通过进程,操作系统能够对 CPU 时间、内存空间、I/O 资源进行有效的管理与分配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夏驰和徐策

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

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

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

打赏作者

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

抵扣说明:

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

余额充值