
🔥个人主页:Cx330🌸
❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C++知识分享》
《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔
🌟心向往之行必能至
🎥Cx330🌸的简介:

目录
[一. 冯诺依曼体系结构](#一. 冯诺依曼体系结构)
[1.1 计算机的核心组件](#1.1 计算机的核心组件)
[1.2 为什么存在内存?](#1.2 为什么存在内存?)
[1.3 CPU 的核心地位](#1.3 CPU 的核心地位)
[1.4 数据流动过程实际场景](#1.4 数据流动过程实际场景)
[二. 操作系统(Operator System)](#二. 操作系统(Operator System))
[2.1 操作系统的核心概念](#2.1 操作系统的核心概念)
[2.2 为什么要有操作系统](#2.2 为什么要有操作系统)
[2.3 四大核心功能](#2.3 四大核心功能)
[2.4 如何理解"管理"](#2.4 如何理解“管理”)
[2.5 系统调用与库函数概念](#2.5 系统调用与库函数概念)
前言:
要理解 Linux 进程的本质,必须先回溯现代计算机的底层逻辑 ------冯诺依曼体系结构。这一由冯・诺依曼提出的经典架构,确立了计算机的核心组成范式:运算器、控制器、存储器、输入设备、输出设备五大组件,且关键特征是 "存储程序"------ 将指令和数据一同存储在存储器中,由控制器按顺序读取并驱动运算器执行
在冯诺依曼架构中,存储器(内存) 是核心枢纽:**CPU(运算器 + 控制器)**从内存中获取指令和数据,完成计算后再将结果写回内存;输入设备(如键盘、磁盘)向内存传入数据,输出设备(如显示器、打印机)从内存读取结果。这种 "CPU - 内存" 为核心的交互模式,决定了后续操作系统和进程设计的底层约束 ------ 所有程序必须加载到内存才能被 CPU 执行,而如何高效管理内存、协调 CPU 与设备的资源分配,成为了技术演进的核心命题
一. 冯诺依曼体系结构
我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系

1.1 计算机的核心组件
截止目前,我们所认识的计算机,都是由一个个的硬件组件组成:
- 输入单元:包括键盘,鼠标,扫描仪,写板等
- 中央处理器(CPU):含有运算器和控制器等
- 输出单元:显示器,打印机等。
- 即可以是输入又是输出单元:网卡,硬盘等
|----------|----------------------------------------------------------|--------------------|----------------------------------------------------------------------|
| 组件名称 | 核心功能 | 典型硬件实例 | 在冯诺依曼体系中的核心角色 |
| 运算器(ALU) | 执行算术运算(加 / 减 / 乘 / 除)、逻辑运算(与 / 或 / 非 / 比较),处理 CPU 核心计算任务 | 集成于 CPU 内部(算术逻辑单元) | 计算机的 "计算核心",接收控制器指令,对存储器传入的数据进行运算,输出结果回存存储器 |
| 控制器(CU) | 解析存储器中的指令,协调五大组件按顺序执行操作,处理中断信号 | 集成于 CPU 内部(控制单元) | 计算机的 "指挥中枢",遵循 "存储程序" 原则,按指令流驱动运算器、存储器、I/O 设备协同工作 |
| 存储器 | 存储程序指令和数据(冯诺依曼核心特征),分为内存(主存)和外存(辅存) | 内存(RAM)、硬盘、SSD、U 盘 | 体系中的 "核心枢纽":内存直接与 CPU 交互(CPU 取指 / 存结果),外存作为长期存储载体,数据需加载到内存才能被 CPU 处理 |
| 输入设备 | 将外部数据(用户操作、传感器信号等)转换为计算机可识别的二进制形式,传入内存 | 键盘、鼠标、扫描仪、摄像头、麦克风 | 数据 "输入通道",突破计算机自身的信息局限,向系统注入原始数据 / 指令 |
| 输出设备 | 将存储器中的运算结果(二进制形式)转换为人类可感知的形式(视觉、听觉等) | 显示器、打印机、音箱、投影仪、打印机 | 结果 "输出通道",将计算机处理后的信息反馈给用户 / 外部设备,完成交互闭环 |
关于冯诺依曼,必须强调几点:
- 这里的存储器指的是内存
- 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)(数据层面)
- 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取
- 一句话总结,CPU不和外设打交道,所有设备都只能直接和内存打打交道
1.2 为什么存在内存?
------给电脑提供性价比,提高电脑的效率!

1.3 CPU 的核心地位
- 运算器和控制器共同组成中央处理器(CPU),是计算机的 "大脑";
- 现代 CPU 会集成多级缓存(L1、L2、L3),但缓存本质是内存的 "加速延伸",核心数据交互仍遵循冯诺依曼规则;
- 存储层次关系(从快到慢、成本从高到低):CPU 寄存器 → 高速缓存 → 内存 → 本地磁盘 → 远程存储
。

1.4 数据流动过程实际场景
场景一:张三在QQ发"在吗"给李四

场景二:张三在QQ发文件给李四

二. 操作系统(Operator System)
2.1 操作系统的核心概念
操作系统是一个 "软件集合",分为广义 和狭义两类:
- 狭义 OS(内核 / Kernel):直接与硬件交互,核心包含进程管理、内存管理、文件管理、驱动管理四大模块;
- 广义 OS:内核 + Shell(命令行解释器)+ 函数库(如 glibc)+ 系统工具(如 ls、cp),为用户和应用提供完整运行环境

2.2 为什么要有操作系统
OS 存在就干两件事,刚好卡在 "上下之间":
- 承上:让用户 / 软件 "省心"------ 你不用懂怎么操控 CPU 寄存器、怎么读写硬盘,点一下鼠标就能启动程序,全靠 OS 把复杂的硬件操作 "包装" 成简单的指令。
- 启下:让硬件 "物尽其用"------ 比如 CPU 就一个,却能同时跑多个程序;内存就那么大,却能装下好几个 APP,都是 OS 在背后协调硬件资源,避免浪费。
举个例子:你点外卖(应用),不用自己找骑手、抢餐箱(硬件)------ 外卖平台(OS)会帮你协调,这就是 "承上启下" 的作用。

2.3 四大核心功能
这个 "大管家" 的核心活儿就 4 件,覆盖了硬件资源的全生命周期:
- 进程管理:给程序 "排档期"比如你同时开着微信和视频,OS 会让 CPU 在两个程序之间快速切换(快到你感觉不到卡顿),保证每个程序都能分到 "干活时间"。
- 内存管理:给程序 "分工作台"打开一个游戏,OS 会专门划一块内存给它用;游戏关掉后,又把这块内存 "收回来" 给其他程序 ------ 避免内存被 "占着不用"。
- 文件管理:给数据 "建仓库"你电脑里的文件夹、文档,本质是 OS 把硬盘里的二进制数据,包装成了 "能看懂的文件",还负责给文件分类、存 / 取、防丢
- 设备管理:给外设 "当翻译"你插个 U 盘、连个打印机,OS 会自动识别它们,把设备的 "语言" 翻译成系统能懂的指令 ------ 不用你手动调硬件参数
|----------|------------|---------------------------------|----------------|
| 核心功能 | 管理对象 | 核心作用 | 生活类比 |
| 进程管理 | CPU、程序进程 | 调度 CPU 运行时间,实现多程序 "同时" 运行 | 外卖平台给骑手排多单配送档期 |
| 内存管理 | 内存空间 | 分配 / 回收内存,避免 资源闲置 / 冲突 | 外卖平台给骑手排多单配送档期 |
| 文件管理 | 硬盘等存储设备的数据 | 组织数据为文件 / 文件夹,负责存 / 取 / 防丢失 | 外卖平台给骑手排多单配送档期 |
| 设备管理 | 硬盘等存储设备的数据 | 识别设备 + 翻译指令,实现 "即插即用" | 翻译员帮不同语言的人沟通协作 |

2.4 如何理解"管理"
OS 的管理逻辑和现实场景(如学校校长管理学生)完全一致。核心分为两步,这也是Linux内核的设计思路:
- 描述被管理对象:用结构体(struct)记录资源信息
- 组织被管理对象:用高效数据结构(链表,红黑树等)组织结构体
- 总结:先描述,再组织(下面的图要结合之前的图一起理解)


2.5 系统调用与库函数概念
OS 不会 "主动干活",得等别人 "叫它"------ 这俩就是叫它的方式:
- 系统调用:直接 "喊 OS 干活" 的 "原始指令"。比如程序要读硬盘里的文件,就得通过系统调用,让 OS 去操作硬盘。
- 库函数:把系统调用 "打包好的工具"。比如编程语言里的 "读文件函数",其实是把系统调用裹了一层,让程序员用起来更方便。
- 调用链路 :应用→库函数→系统调用→OS 内核→硬件
💡简单说:系统调用是 "直接找管家要钥匙",库函数是 "管家把钥匙装在工具箱里给你"
结合银行管理系统与之前图示结合理解:

🔔思考:大家想想操作系统是怎么进行进程管理的呢?
- 很简单,先把进程描述起来,再把进程组织起来(简洁来说就是:先描述在组织)!!!
结尾:
结语:理解这一逻辑脉络,是后续学习 Linux 进程管理(如进程调度、进程通信、进程状态)的关键前提 ------ 因为所有 Linux 进程的特性和操作,本质上都是操作系统基于冯诺依曼硬件约束,对资源分配和调度机制的具体实现