前言
要理解 Linux 进程的本质,必须先回溯现代计算机的底层逻辑 —— 冯·诺依曼体系结构。这一由冯・诺依曼提出的经典架构,确立了计算机的核心组成范式:运算器、控制器、存储器、输入设备、输出设备五大组件,且关键特征是'存储程序'——将指令和数据一同存储在存储器中,由控制器按顺序读取并驱动运算器执行。
在冯诺依曼架构中,**存储器(内存)**是核心枢纽:**CPU(运算器 + 控制器)**从内存中获取指令和数据,完成计算后再将结果写回内存;输入设备(如键盘、磁盘)向内存传入数据,输出设备(如显示器、打印机)从内存读取结果。这种'CPU - 内存'为核心的交互模式,决定了后续操作系统和进程设计的底层约束——所有程序必须加载到内存才能被 CPU 执行,而如何高效管理内存、协调 CPU 与设备的资源分配,成为了技术演进的核心命题。
一、冯诺依曼体系结构
我们常见的计算机,如笔记本、服务器,大部分都遵守冯诺依曼体系。
1.1 计算机的核心组件
截止目前,我们所认识的计算机,都是由一个个的硬件组件组成:
- 输入单元:包括键盘,鼠标,扫描仪,写板等
- 中央处理器 (CPU):含有运算器和控制器等
- 输出单元:显示器,打印机等。
- 即可以是输入又是输出单元:网卡,硬盘等
关于冯诺依曼,必须强调几点:
- 这里的存储器指的是内存
- 不考虑缓存情况,这里的 CPU 能且只能对内存进行读写,不能访问外设 (输入或输出设备)(数据层面)
- 外设 (输入或输出设备) 要输入或者输出数据,也只能写入内存或者从内存中读取
- 一句话总结,CPU 不和外设打交道,所有设备都只能直接和内存打交道
1.2 为什么存在内存?
给电脑提供性价比,提高电脑的效率!
1.3 CPU 的核心地位
- 运算器和控制器共同组成中央处理器(CPU),是计算机的'大脑';
- 现代 CPU 会集成多级缓存(L1、L2、L3),但缓存本质是内存的'加速延伸',核心数据交互仍遵循冯诺依曼规则
- 存储层次关系(从快到慢、成本从高到低):CPU 寄存器 → 高速缓存 → 内存 → 本地磁盘 → 远程存储。
二、操作系统 (Operating System)
2.1 操作系统的核心概念
操作系统是一个'软件集合',分为广义和狭义两类:
- 狭义 OS(内核 / Kernel):直接与硬件交互,核心包含进程管理、内存管理、文件管理、驱动管理四大模块;
- 广义 OS:内核 + Shell(命令行解释器)+ 函数库(如 glibc)+ 系统工具(如 ls、cp),为用户和应用提供完整运行环境
2.2 为什么要有操作系统
OS 存在就干两件事,刚好卡在'上下之间':
- 承上:让用户/软件'省心'——你不用懂怎么操控 CPU 寄存器、怎么读写硬盘,点一下鼠标就能启动程序,全靠 OS 把复杂的硬件操作'包装'成简单的指令
- 启下:让硬件'物尽其用'——比如 CPU 就一个,却能同时跑多个程序;内存就那么大,却能装下好几个 APP,都是 OS 在背后协调硬件资源,避免浪费
举个例子:你点外卖(应用),不用自己找骑手、抢餐箱(硬件)——外卖平台(OS)会帮你协调,这就是'承上启下'的作用。
2.3 四大核心功能
这个'大管家'的核心活儿就 4 件,覆盖了硬件资源的全生命周期:
- 进程管理:给程序'排档期'。比如你同时开着微信和视频,OS 会让 CPU 在两个程序之间快速切换(快到你感觉不到卡顿),保证每个程序都能分到'干活时间'。


