目录

一、计算机是怎么工作的

1. 冯·诺依曼体系结构

2. CPU 的工作频率与性能

3. Cache(高速缓存)的作用

4. 指令(Instruction):CPU 执行的“最小单位”

指令的分类与执行逻辑

指令集(Instruction Set)

5. 程序的执行:从代码到机器指令

二、操作系统

1. 操作系统的核心作用

2. 进程(Process):资源分配的基本单位

进程 vs 可执行文件

进程的核心属性(PCB:进程控制块)

多任务与进程调度

3. 进程的内存与资源

4. 操作系统的“管理”逻辑

5. 不同操作系统的差异

6. 进程的调度与并发


一、计算机是怎么工作的

1. 冯·诺依曼体系结构

计算机的核心工作逻辑基于冯·诺依曼体系结构,其核心组件包括:

  • CPU:类比“大脑”,负责运算和控制。

  • 存储器:存储数据和指令(内存、硬盘等)。

  • 输入设备:如键盘、鼠标,向计算机输入信息。

  • 输出设备:如屏幕、打印机,输出计算机处理结果。

2. CPU 的工作频率与性能

  • 主频(基础频率):例如 2.80GHz、4.59GHz,频率越高,运算速度理论上越快

  • 睿频:CPU 负载高时自动提升的频率。

  • 频率变化:CPU 工作频率会动态调整。

  • 多核与频率:早期靠“提高频率”提升性能,现在 CPU 内部有大量“计算单元”,核心数越多、每个核心的运算单元越多,整体运算越快

3. Cache(高速缓存)的作用

CPU 速度远快于内存,为解决“速度差”,CPU 内设置了Cache(高速缓存),分为 L1(最快、最小)、L2(次快、次小)、L3(更慢、更大)。

  • 类比:“进站时,马上就核验身份了,此时身份证放到手上最合适~~ 此时‘拿’起到了‘缓存’作用~~”

  • 本质:内存/硬盘是存储数据的地方,Cache 是 CPU 内的“临时存储”,空间越大、速度越慢( L1→L2→L3 体现)。

4. 指令(Instruction):CPU 执行的“最小单位”

程序由指令组成,指令是 CPU 能理解的基本操作(如加减、读写内存)。

指令的分类与执行逻辑

  • 分类:机器语言(二进制 0101)、汇编语言(机器语言的“英文符号”)、高级语言(C/C++、Java 等)。

  • 执行流程(以一段指令为例):

    1. 取指令:从内存读取指令到 CPU 寄存器。

    2. 解析指令:理解指令要做什么(如 LOAD A表示从内存读数据到寄存器 A)。

    3. 执行指令:CPU 完成运算或内存操作。

    4. 继续下一条:重复上述步骤。

指令集(Instruction Set)

不同 CPU 厂商(Intel/AMD、ARM、RISC-V)有不同的指令集(如 x86、ARM64、RISC-V),编译器需将高级语言编译为对应指令集的机器码。

5. 程序的执行:从代码到机器指令

  • 高级语言(如 C/C++、Java)→ 编译/解释 → 汇编 → 机器码(二进制 0101)。

  • Java 更特殊:先编译为.class后缀的字节码,再通过 JVM 转换为机器码

二、操作系统

1. 操作系统的核心作用

操作系统是硬件与软件的“中间层”,负责:

  • 管理硬件资源(CPU、内存、磁盘、外设等)。

  • 为应用程序提供“运行环境”(抽象硬件,让程序更简单)。

2. 进程(Process):资源分配的基本单位

进程是“运行中的程序”,包含代码、数据、系统资源(内存、文件句柄等)。

进程 vs 可执行文件

  • 可执行文件:硬盘上的静态文件(如 .exe),是“死的”代码。

  • 进程:运行时的应用程序(如打开 Chrome 浏览器,每个标签页可能是一个进程),是“活的”、消耗资源的。

进程的核心属性(PCB:进程控制块)

PCB 是操作系统管理进程的“结构体”,记录进程的所有信息:

  • PID(进程标识符):唯一标识进程(操作系统自动分配,确保不重复)。

  • 内存指针:指向进程的内存空间(区分“指令区”和“数据区”)。

  • 文件描述符表:记录进程打开的文件(如代码中的 fopen/fread/fclose操作)。

多任务与进程调度

  • 现代操作系统支持多任务(同时运行多个进程),但 CPU 核心数有限(如 4 核、8 核)。

  • 操作系统通过调度算法,让多个进程“看起来同时运行”。

3. 进程的内存与资源

  • 进程的内存分为指令区(代码)和数据区(变量、常量等)。

  • 文件操作:进程通过“文件描述符”读写硬盘文件。

4. 操作系统的“管理”逻辑

操作系统管理进程分为两步:

  1. 描述:用 PCB 结构体记录进程属性(如 class Student { private int id; private String name; }类似 PCB 的结构)。

  2. 组织:用链表等结构管理所有 PCB,方便调度。

5. 不同操作系统的差异

  • Linux:开源、命令行友好。

  • Windows:图形界面为主,生态完善。

  • macOS:基于 Unix,面向桌面/移动(iOS 是 macOS 的移动版)。

  • Android:基于 Linux 内核,面向手机。

6. 进程的调度与并发

  • 进程调度:操作系统决定“哪个进程占用 CPU”。

  • 并发:多进程“交替执行”,让用户感觉“同时运行”。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐