第十节 计算机基础概论(补充第八节)
1、计算机的基本组成
1.1、计算机组成五大部件
冯·诺依曼体系结构:五大部件
(1)运算器(ALU):也叫算数逻辑单元,完成对数据的各种常规运算,如加减乘除,也包括逻辑运算,移位,比较等,它是最核心的执行部件,但自己不会主动干活。
(2)控制器(CU):从存储器中逐条取出指令、分析指令,它是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤进行操作,运算器 + 控制器 = CPU(中央处理器),也就是常说的“芯片”。
(3)存储器:记事的,存放程序和数据,硬盘、U盘属于外存储器,速度慢但能长期保存,通常不算在五大部件的“存储器”里。
(4)输入设备:把现实世界的信息转换成二进制送入计算机,例如:键盘、鼠标、扫描仪。
(5)输出设备:把计算机能识别的信息转换为人能识别的信息,进行呈现,例如:显示器、打印机、音箱。
(6)核心工作流程:程序和数据先通过输入设备存入存储器--->控制器取指令、发信号--->运算器从存储器取数据进行计算,结果写回存储器--->最后由输出设备呈现结果。
1.2、系统总线
系统总线(System Bus)就是连接 CPU、存储器、I/O 设备的公共通信干线。它解决了“部件两两直连太乱太贵”的问题——所有部件都挂到同一组线路上,像公共走廊一样。

(1)数据总线:用来在各个功能部件中间传输数据,是双向传输总线---->(CPU可以发数据写内存,也可以收数据读内存,所以是双向的)
关键考点:数据总线的位数 = 机器字长相关指标,一次能并行传送多少位数据。位数越多,一次搬运的数据越多,速度越快。
(2)地址总线:用来指出数据总线上的源数据或目的数据在主存单元的地址或 io 设备的地址,要访问内存哪个单元、哪个 I/O 端口,地址由 CPU 发出,所以是单向的。
关键考点:地址总线的位数(条数)决定了 CPU 的寻址范围。比如 32 位地址总线 → 可寻址 2³² = 4GB 内存空间。
(3)控制总线:由于各个连接在数据总线和地址总线的部件都是共享这两类总线的,那么在某一时刻由谁来使用,就是控制总线负责完成的,整体双向。
(4)总线的重要特性:
-
分时:同一时刻只能有一个部件向总线发送信息(否则信号冲突)
-
共享:但可以多个部件同时接收信息
-
总线上的信息传输方式:串行/并行
1.3、指令
(1)指令:是指示计算机执行的某种操作的命令。一条指令通常由两部分构成:地址码和操作码
-
操作码:说明“做什么”——是加法、减法、存数、取数还是跳转,操作码的位数决定指令系统最多有多少种指令(n 位操作码最多 2ⁿ 条)。
-
地址码:说明“对谁做”——数据(操作数)存放在哪个内存单元或寄存器。按地址码个数分,有一地址指令、二地址指令、三地址指令等。
(2)程序:由一条一条的指令构成
(3)指令周期:cpu每取出并执行一条指令所需的全部时间称为指令周期
(4)指令系统:计算机能够执行的全部指令的集合称为该计算机的指令系统
(5)RISC:精简指令系统计算机
(6)CISC:复杂指令系统计算机
- 注意:CISC vs RISC:复杂指令系统计算机(指令多而复杂,如 x86) vs 精简指令系统计算机(指令少而简单、执行快,如 ARM——你的手机芯片就是 RISC)
(7)程序与指令:高级指令 汇编助记符 机器指令
(8)指令的执行过程:
CPU 执行一条指令分三步,周而复始:
-
取指令:控制器按程序计数器(PC)给出的地址,从内存取出指令
-
分析指令:控制器对操作码译码,判断要做什么操作
-
执行指令:运算器等部件具体动作,完成后PC自动加1,指向下一条指令、
2、进程概论
(1)进程:一个正在运行的程序,进程是“正在执行的程序”,是操作系统分配资源的基本单位。程序是静态的(磁盘上的文件),进程是动态的(运行中的实体)。一个进程在生命周期中会在三种基本状态之间流转:
(2)PCB:既是进程控制块,是进程存在的唯一标志,用来描述进程的属性信息
(3)进程状态:就绪、运行、阻塞

就绪态:万事俱备,只欠 CPU,多个就绪进程排在就绪队列里“排队等 CPU”。
运行态:正在 CPU 上执行,单 CPU 系统中,同一时刻最多只有一个进程处于运行态(多核可以有多个)。
阻塞态:主动让出,等待事件,进程因等待某事件(如 I/O 完成、申请缓冲区)而暂停执行,即使 CPU 空着也不能运行。
两个重点“不能”:
-
阻塞→ 运行:不可能,阻塞的进程即使它等的事件完成了,也只能先进就绪队列排队,不能直接抢 CPU。
-
就绪 → 阻塞:不可能。 就绪态的进程根本没在运行,谈不上“发起 I/O 请求”——只有运行中的进程才能主动阻塞。
3、内存管理
3.1、简单分页 逻辑页 物理页 页表
逻辑页是程序眼里的事,物理页(块)是内存里的事,页表是两者之间的“翻译对照表”。
逻辑页是程序自己的视角——程序从 0 开始连续编址,它不知道也不关心自己被放到了内存哪里。
物理块是内存的真实分割——内存这 8GB 被切成一格一格的“框”。
页表是每个进程私有的翻译表,回答“逻辑上连续,物理上散落各处”的问题——它让程序以为自己住在一套连续的房子里,实际上房间散落全城。
3.2、虚拟内存
内存管理是操作系统的重要职能之一:内存是 CPU 能直接访问的宝贵资源,操作系统要负责内存的分配与回收、地址转换、内存保护、内存扩充。
虚拟内存:
基于分页技术再进一步:程序运行时只把当前用到的页调入内存,暂时不用的留在磁盘上,需要时再通过缺页中断调入。这样:
-
程序可以比物理内存大得多(“逻辑内存”远超“物理内存”)
-
多道程序并发度更高
-
页面淘汰算法(如 LRU 最近最久未使用、FIFO)决定“内存满了换谁出去”——这是常见考点
虚拟内存提供的三个重要的能力:
-
它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,根据需要在磁盘和主存之间来回传送数据,使得能够运行比内存大的多的进程。
-
它为每个进程提供了一致的地址空间,从而简化了存储器管理
-
它保护每个进程的地址空间不被其他进程破坏
4、操作系统发展阶段
操作系统:管理计算机上的软硬件资源,为用户提供一个交互的接口。

4.1、串行处理
最早的用法:一个人上机,独占整台计算机的全部资源,纸带/卡片要手工装卸,程序之间完全串行。
致命问题:CPU 是贵重设备,却大部分时间在等人操作——利用率极低。
4.2、批处理
为减少人工干预:把一批作业预先成批录入磁带,由监督程序(Monitor)自动逐个处理,作业间切换不再需要人。
进步:消灭了人工装卸时间。
遗留问题:内存里始终只有一道作业——它做 I/O(如读磁带,很慢)时,CPU 只能干等着。
4.3、多道程序设计
突破性想法:内存里同时驻留多道作业。A 作业做 I/O 时,CPU 立刻切去运行 B 作业;B 也做 I/O 就切给 C——CPU 和 I/O 设备交叠工作,谁也不闲着。
三个关键词:
-
多道性:内存中同时存放多道作业
-
宏观上并行:多个作业都在“同时”推进
-
微观上串行:单 CPU 任一时刻实际只执行一道作业
它同时带来了操作系统的四大基本特征:并发、共享、虚拟、异步。多道程序设计是现代操作系统的理论基础,也是这一讲最重要的考点。
4.4、 分时系统
批处理的代价是用户不能交互(作业提交后只能干等结果)。分时系统的解法:
把 CPU 时间切成很短的时间片(如几十毫秒),轮流分配给各终端用户。由于轮转极快,每个用户都觉得自己“独占”整台机器——可以边敲命令边看结果。
分时系统四大特征(必背):
-
多路性:多个用户同时使用
-
独立性:各用户互不干扰,仿佛独占
-
及时性:终端请求能在很短时间(时间片内)得到响应
-
交互性:人机对话式工作方式
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)