现代操作系统 - 进程与线程
1. 内核模式与用户模式(双模式运行)
为保护系统稳定,硬件通常提供两种运行模式:
- 内核模式:可执行所有指令,完全访问硬件资源。
- 用户模式:指令集受限,硬件访问必须通过操作系统接口。
绝大多数计算机采用此“双模式”架构,以隔离应用程序对关键系统资源的直接操作,保障整体安全性与稳定性。

操作系统通过向应用程序员提供一套清晰的抽象资源(替代复杂的物理硬件),统一管理底层设备。抽象化正是驾驭复杂性的核心手段。
2. 进程
进程是对“正在运行的程序”的抽象。即使系统仅有一个CPU,操作系统也能通过进程机制支持并发执行,实现“单CPU虚拟多CPU”的效果。
2.1 进程模型
在该模型中,所有可运行软件(有时包含操作系统自身)被组织为若干顺序执行的进程。每个进程是程序的一次执行实例,拥有独立的程序计数器、寄存器集合及变量当前值。
图2-1 展示了内存中四个并发程序的多道程序设计布局:

2.2 进程创建
进程的创建通常由以下四类事件触发:
- 系统初始化
- 运行中的进程调用 fork/exec 等系统调用
- 用户显式请求创建新进程
- 批处理作业启动
在 UNIX 和 Windows 中,子进程创建后即拥有独立地址空间:
- UNIX:子进程初始地址空间为父进程副本,但二者完全隔离,无共享可写内存。
- Windows:从创建起即分配全新、独立的地址空间。
2.3 进程终止
进程终止的主要原因包括:
- 任务正常完成(如编译器执行完毕后主动退出)
- 致命错误(如算术溢出、除零等)
- 程序缺陷导致崩溃(如非法内存访问)
- 被其他进程通过系统调用强制终止
2.4 进程状态及其转换
进程在其生命周期中经历多种状态,状态间存在四种主要转换路径,如下图所示:
This chapter requires login to view full content. You are viewing a preview.
Login to View Full Content