Skip to content

Commit 0102ec0

Browse files
authored
lec02 updating
1 parent ee721a4 commit 0102ec0

File tree

3 files changed

+43
-1
lines changed

3 files changed

+43
-1
lines changed

lec2/p2-compiling.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@ backgroundColor: white
2424

2525
2025年秋季
2626

27+
---
28+
29+
### 问题
30+
31+
- 如何把高级语言程序转换成CPU能理解和执行的二进制可执行代码?
32+
- 如何存储可执行代码?
33+
- 如何加载可执行代码?
34+
2735
---
2836
### 提纲
2937

@@ -195,3 +203,17 @@ rust-objdump -S target/riscv64gc-unknown-none-elf/debug/os
195203
- 堆 (heap)向高地址增长
196204
- 栈 (stack)向低地址增长
197205
![bg right:50% 140%](figs/memlayout.png)
206+
207+
---
208+
209+
### 小结
210+
211+
- 编译过程
212+
- 编译器、汇编器、链接器
213+
- 程序加载
214+
- 应用程序加载
215+
- 祼机程序加载
216+
- 可执行文件格式ELF
217+
- ELF文件头
218+
- 段表(Program Header Table)
219+
- 节表(Section Header Table)

lec2/p3-boot.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ backgroundColor: white
2424

2525
2025年秋季
2626

27+
---
28+
### 问题
29+
30+
- 操作系统是如何启动的?
31+
- 操作系统启动为什么分成若干个阶段?
32+
2733
---
2834
提纲
2935

@@ -152,4 +158,13 @@ QEMU 模拟的启动流程则可以分为三个阶段:
152158
1. Rom Stage:直接在ROM上运行BIOS代码;
153159
2. Ram Stage:在RAM上运行代码,检测并初始化芯片组、主板等;
154160
3. Bootloader Stage:在存储设备上找到Bootloader,加载执行Bootloader;
155-
4. OS Stage:Bootloader初始化外设,在存储设备上找到OS,加载执行OS。
161+
4. OS Stage:Bootloader初始化外设,在存储设备上找到OS,加载执行OS。
162+
163+
---
164+
165+
### 小结
166+
167+
- 操作系统的启动过程
168+
- CPU、主板和外设初始化
169+
- 多阶段的OS启动
170+
- 操作系统启动过程的多阶段形成一个功能不断增强的执行环境

lec2/p4-lab1.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ backgroundColor: white
2424

2525
2025年秋季
2626

27+
---
28+
### 问题
29+
30+
- 祼机上如何写程序输出“Hello, world!”?
31+
2732
---
2833
提纲
2934

0 commit comments

Comments
 (0)