Linux 进程核心概念
一、冯·诺依曼体系结构
我们日常使用的计算机,无论是笔记本还是服务器,大多遵循冯·诺依曼体系架构。

在这个体系中,各个部件分工明确:
- 存储器:即内存,处于核心地位,是硬件级别的缓存空间。
- 输入设备:鼠标、键盘、摄像头、网卡等。
- 输出设备:显示器、打印机、磁盘等。
- 运算器:负责算术和逻辑运算。
- 控制器:控制硬件流程。
通常所说的 CPU,其实就是运算器和控制器的结合体。关于这个架构,有几个关键点必须明确:
- 这里的'存储器'特指内存。
- CPU 只能对内存进行读写,不能直接访问外设(输入或输出设备)。
- 所有外设的数据交互都必须通过内存中转,要么写入内存,要么从内存读取。
- 一句话总结:所有设备都只能直接与内存打交道。
二、操作系统 (Operating System)
操作系统的概念
任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。常见的如 iOS、CentOS、Koloros 等。
笼统地理解,操作系统主要由两部分组成:
- 内核:负责进程管理、内存管理、文件管理、驱动管理等核心功能。
- 其他程序:例如函数库、Shell 程序等用户态工具。

设计 OS 的目的
操作系统的设计目标非常清晰:
- 向下:与硬件交互,管理所有的软硬件资源。
- 向上:为用户程序(应用程序)提供一个良好的执行环境。

OS 核心功能
在整个计算机软硬件架构中,操作系统的定位是一款纯正的'搞管理'的软件。
它就像一个管理层,好比大学中的校领导。领导只需要获取信息、下达指令。比如某位同学挂科了,管理层得到消息后,不会直接联系该同学,而是通知辅导员,辅导员在其中充当'驱动程序'的功能,而我们则更类似于底层硬件。这种分层管理保证了系统的有序运行。
三、进程
进程的基本概念
通俗来讲,一个已经加载到内存中的程序叫做进程(任务),正在运行的程序就是进程。
细致一点说,进程是由内核 PCB(Process Control Block)数据结构对象加上你自己的代码和数据构成的。
为了更好理解,我们可以打个比方:




