|
|
课程目录:& a3 i0 q# s* P: Q
1, 计算机是如何工作的?$ n! y8 H, W" ]# _* F" d% e
1, 存储程序计算机工作模型) J$ @% R/ _% U' v1 X
2, X86汇编基础, O$ ~1 X3 I0 Z- n4 y
3, 反汇编一个简单的C程序分析其汇编指令执行过程' H# r7 a( ^1 o
测试题0 {! \& f; L% Z m7 O' N4 I
作业.docx2 O9 A: O* ~ o2 W7 i; t
/ n! C+ V2 y* K2, 操作系统是如何工作的?
$ m: B8 X4 ^$ {+ G1, 计算机是如何工作的?(续)——函数调用堆栈9 h6 X- o9 D6 V4 U. m. [+ J; b
2, 利用mykernel实验模拟计算机硬件平台( F, B2 ~' x2 }. u% @# b* }
3, 在mykernel基础上构造一个简单的操作系统内核
7 j/ o) K. s! G% e" F! F测试题
- U) {+ N0 H# O作业.docx
# |6 A6 f4 M D5 @4 z I4 E/ W
7 u/ C7 `( j6 _3, 构造一个简单的Linux系统MenuOS
8 P) r- H. J1 |0 n# m1 U1, Linux内核源代码简介
' h0 i( O! D. R+ @- W5 e1 u2, 构造一个简单的Linux系统0 z6 x W2 H- A; [! O
3, 跟踪调试Linux内核的启动过程5 R3 x) X, h& v2 \1 Q7 {8 Z
测试题
3 Y1 W, F$ v! }( `7 T7 U$ f* l2 }' i作业.docx
* @6 a- x7 r- c4 d; i, w2 ^6 F( y/ X% \. ?1 D+ t1 ?! s
4, 扒开系统调用的三层皮(上)) L& {+ v8 f- U. q, C0 L/ B
1, 用户态、内核态和中断( P9 m* S7 |+ f/ |
2, 系统调用概述
, J: v) L( c6 t j3, 使用库函数API和C代码中嵌入汇编代码触发同一个系统调用
3 Z2 v9 B; D2 C) `! z. E测试题
. c4 [ Q$ {9 k) ?, i2 \作业.docx
1 f! k8 M: J; N4 d) B' }
9 k( h( V6 I4 o1 D6 I5, 扒开系统调用的三层皮(下)' d9 g& A0 U3 ^! m+ o" y
1, 给MenuOS增加time和time-asm命令
6 t b4 q) y, ]) I2, 使用gdb跟踪系统调用内核函数sys_time
6 d2 f" _& {0 g9 N. M" v" M1 I( j3, 系统调用在内核代码中的处理过程
' A6 B! }% e% y7 K1 ~测试题) Y8 t- x+ M% `" l
作业.docx# ~& g1 g" u* M5 ^- ?
/ V1 @# G2 w8 Q" X( g5 i6, 进程的描述和进程的创建9 R3 j3 E1 J! l: y% m
1, 进程的描述% o2 B0 K# Y8 h* z3 ^: x
2, 进程的创建 F5 H2 W- C" H+ _
测试题& f/ R- ]$ Q+ `! K+ c, K( D6 S8 F
作业.docx
$ w: B m5 U' V$ [5 j5 ]. s' k+ B4 D% Q1 r h6 {5 i: P! b
7, 可执行程序的装载7 U: O& J- i0 B% K
1, 预处理、编译、链接和目标文件的格式# X L% w' y& T% Q; _3 r7 X
2, 可执行程序、共享库和动态链接
8 x4 P7 n K6 n7 w6 }3, 可执行程序的装载
5 J6 ?/ ?+ o1 Z9 P5 N! U测试题
1 L9 X+ a# @5 [# J4 u- P作业.docx+ ~: S; x$ Z/ r2 i7 d. ]0 T) ~0 C
# T5 ]: j1 H9 G: N1 B. X
8, 进程的切换和系统的一般执行过程
X U* f& K, K1 m1, 进程切换的关键代码switch_to分析
4 I2 r, G' C! t0 T# p2 A' E2, Linux系统的一般执行过程
' k1 B' l1 O9 }3, Linux系统架构和执行过程概览
9 u N5 x/ u* u测试题! S8 e4 S0 w( R! ]/ K7 l, h* _6 X
作业.docx
4 {4 x; Z6 I- h, [3 v
, i, Q D2 `+ D! F+ d! w* k* K1 [7 u s
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|