Skip to content

Commit ba634e3

Browse files
committed
9.3 os modify
1 parent d5c77b4 commit ba634e3

2 files changed

Lines changed: 135 additions & 4 deletions

File tree

docs/CS/computer_organization/computer_organization.md

Lines changed: 89 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@
205205
* 补充:两个互为相反数的数的补码可以通过互相取反加一得到。
206206
* 补充:注意带符号整数用补码表示这种表述。
207207

208-
### 2.1.4 编码方式的关系与特点
208+
#### 2.1.4 编码方式的关系与特点
209209

210210
!!! tip "编码转换规律"
211211

@@ -227,7 +227,7 @@
227227

228228
![表示方式](https://eclipseyue-1323281044.cos.ap-nanjing.myqcloud.com/pic/jinzhi.png)
229229

230-
### 2.1.5 C语言中的数值类型
230+
#### 2.1.5 C语言中的数值类型
231231

232232
!!! info "C语言整数类型"
233233

@@ -247,8 +247,94 @@
247247

248248
### 2.2 运算方式和电路
249249

250+
#### 2.2.1 算术逻辑单元(ALU)
251+
252+
!!! abstract "ALU的功能"
253+
ALU是CPU的核心部件,负责执行算术运算和逻辑运算,是数据处理的核心。
254+
255+
##### ALU的基本信号
256+
257+
!!! info "ALU的输入输出信号"
258+
259+
**输入信号:**
260+
- **A, B**:两个操作数输入
261+
- **Op_m**:操作模式选择信号
262+
- **Cin**:进位输入
263+
264+
**输出信号:**
265+
- **F**:运算结果
266+
- **Cout**:进位输出
267+
- **ZF**:零标志位(结果为0时置1)
268+
- **OF**:溢出标志位(有符号数溢出时置1)
269+
- **SF**:符号标志位(结果为负时置1)
270+
- **CF**:进位标志位(无符号数溢出时置1)
271+
272+
#### 2.2.2 定点数运算
273+
274+
##### 原码运算
275+
276+
!!! note "原码加法运算规则"
277+
原码加法需要分四种情况讨论:
278+
279+
1. **正数 + 正数**:直接相加,符号位为0
280+
2. **负数 + 负数**:绝对值相加,符号位为1
281+
3. **正数 + 负数**:绝对值相减,结果符号看绝对值大小
282+
4. **负数 + 正数**:同情况3
283+
284+
**原码减法**:转换为加法运算(减数变为相反数后相加)
285+
286+
##### 补码运算
287+
288+
!!! important "补码运算的优势"
289+
补码运算可以将减法统一为加法,简化了运算电路的设计。
290+
291+
**补码转换规则:**
292+
293+
!!! tip "负数补码转换方法"
294+
**负数原码 → 补码:** 数值位取反加1
295+
296+
**负数补码 → 原码:** 找到最右边的1,该位和右边保持不变,左边各位取反
297+
298+
##### 溢出检测
299+
300+
!!! warning "有符号数溢出判断"
301+
302+
**溢出条件:**
303+
- **正 + 正 → 负**:上溢出
304+
- **负 + 负 → 正**:下溢出
305+
306+
**检测方法:**
307+
308+
1. **符号位判断法:**
309+
$$V = A_s B_s \overline{S_s} + \overline{A_s} \overline{B_s} S_s$$
310+
311+
2. **进位判断法:**
312+
$$V = C_s \oplus C_{s-1}$$
313+
其中$C_s$是符号位进位,$C_{s-1}$是最高数值位进位
314+
315+
3. **双符号位法:**
316+
$$V = S_{s1} \oplus S_{s2}$$
317+
使用两个符号位,异或结果为1表示溢出
318+
319+
!!! warning "无符号数溢出判断"
320+
321+
**加法溢出:** 最高位产生进位(CF = 1)
322+
323+
**减法溢出:** 最高位产生借位(CF = 0)
324+
325+
**判断方法:** 检查结果是否超出 $0 \sim 2^n - 1$ 范围
326+
327+
![ALU结构图1](https://eclipseyue-1323281044.cos.ap-nanjing.myqcloud.com/pic/ALU.png)
328+
329+
![ALU结构图2](https://eclipseyue-1323281044.cos.ap-nanjing.myqcloud.com/pic/ALU2.png)
330+
331+
#### 2.2.3 乘法和除法运算
332+
250333
!!! todo "待补充内容"
251-
定点数运算、移位运算、ALU设计等相关内容
334+
- 无符号数乘法原理
335+
- 有符号数乘法(Booth算法)
336+
- 除法运算原理
337+
- 移位运算的实现
252338

253339
### 2.3 浮点数的表示与计算
254340

docs/CS/operating_system/operating_system.md

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,52 @@
22

33
!!! abstract "课程概述"
44
本笔记涵盖操作系统的核心概念,包括进程管理、内存管理、文件系统等重要内容。
5-
# 1.概述
5+
6+
## 1. 操作系统概述
7+
8+
!!! abstract "操作系统的定义"
9+
操作系统是管理计算机硬件和软件资源的计算机程序,为用户和应用程序提供服务。
10+
11+
### 1.1 操作系统的功能
12+
13+
!!! info "操作系统的四大基本功能"
14+
15+
**1. 处理机管理**
16+
- 进程控制、进程同步、进程通信
17+
- CPU调度、时间片分配
18+
19+
**2. 存储器管理**
20+
- 内存分配与回收、地址映射
21+
- 虚拟存储管理
22+
23+
**3. 设备管理**
24+
- I/O控制、设备分配
25+
- 驱动程序管理
26+
27+
**4. 文件管理**
28+
- 文件系统、目录管理
29+
- 文件存取控制
30+
31+
### 1.2 操作系统的特征
32+
33+
!!! tip "操作系统的基本特征"
34+
35+
**并发性(Concurrency)**
36+
- 多个程序在同一时间间隔内执行
37+
- 宏观并行,微观串行
38+
39+
**共享性(Sharing)**
40+
- 系统资源可被多个并发程序共同使用
41+
- 互斥共享和同时共享
42+
43+
**虚拟性(Virtuality)**
44+
- 通过时间复用和空间复用技术
45+
- 将物理实体变为若干逻辑实体
46+
47+
**异步性(Asynchronism)**
48+
- 程序执行走走停停,速度不可预知
49+
- 需要同步机制保证程序正确性
50+
651
# 2.进程与线程
752

853
## 2.1 进程与线程

0 commit comments

Comments
 (0)