File tree Expand file tree Collapse file tree 3 files changed +43
-1
lines changed Expand file tree Collapse file tree 3 files changed +43
-1
lines changed Original file line number Diff line number Diff line change @@ -24,6 +24,14 @@ backgroundColor: white
24
24
25
25
2025年秋季
26
26
27
+ ---
28
+
29
+ ### 问题
30
+
31
+ - 如何把高级语言程序转换成CPU能理解和执行的二进制可执行代码?
32
+ - 如何存储可执行代码?
33
+ - 如何加载可执行代码?
34
+
27
35
---
28
36
### 提纲
29
37
@@ -195,3 +203,17 @@ rust-objdump -S target/riscv64gc-unknown-none-elf/debug/os
195
203
- 堆 (heap)向高地址增长
196
204
- 栈 (stack)向低地址增长
197
205
![ 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)
Original file line number Diff line number Diff line change @@ -24,6 +24,12 @@ backgroundColor: white
24
24
25
25
2025年秋季
26
26
27
+ ---
28
+ ### 问题
29
+
30
+ - 操作系统是如何启动的?
31
+ - 操作系统启动为什么分成若干个阶段?
32
+
27
33
---
28
34
提纲
29
35
@@ -152,4 +158,13 @@ QEMU 模拟的启动流程则可以分为三个阶段:
152
158
1 . Rom Stage:直接在ROM上运行BIOS代码;
153
159
2 . Ram Stage:在RAM上运行代码,检测并初始化芯片组、主板等;
154
160
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
+ - 操作系统启动过程的多阶段形成一个功能不断增强的执行环境
Original file line number Diff line number Diff line change @@ -24,6 +24,11 @@ backgroundColor: white
24
24
25
25
2025年秋季
26
26
27
+ ---
28
+ ### 问题
29
+
30
+ - 祼机上如何写程序输出“Hello, world!”?
31
+
27
32
---
28
33
提纲
29
34
You can’t perform that action at this time.
0 commit comments