|
|
课程目录:
+ y \* q& p5 D* G1, 计算机是如何工作的?
" m$ F6 V. d7 N+ k/ s1, 存储程序计算机工作模型) ^* m8 i: j* j0 A8 e1 A1 d' b
2, X86汇编基础
; y2 g8 W. L/ J5 v+ v7 y3, 反汇编一个简单的C程序分析其汇编指令执行过程/ X, m( e2 s( h' q( l2 |
测试题
Y* A- Y4 L2 {5 c; K: j作业.docx% u6 G2 g; P& f7 G2 v
/ s: u* }# h1 z# t+ {
2, 操作系统是如何工作的?
; i0 A7 p" d5 { m- D+ u: _: V1, 计算机是如何工作的?(续)——函数调用堆栈6 q: t3 j& X( }7 C$ D- @7 t
2, 利用mykernel实验模拟计算机硬件平台/ F+ W/ E: o! Y: n8 _, L
3, 在mykernel基础上构造一个简单的操作系统内核
/ N% Y/ E* U' D; p7 T测试题
& J8 a) n5 L; p2 |! R( _3 W作业.docx
+ S9 F( d6 S# L1 f8 f: G% Y) ]8 v0 ^- {/ o8 G2 z
3, 构造一个简单的Linux系统MenuOS
1 t b0 Z% H( I/ c! t1, Linux内核源代码简介
7 s, ]- E# d+ M- H6 `0 E3 v2, 构造一个简单的Linux系统
3 {' O8 _* }: I3, 跟踪调试Linux内核的启动过程 Q- C# Q3 T( ]- I
测试题
! s5 R# f/ _ ^7 `作业.docx
) F" ^, v" ?7 m6 J6 j& k
9 B$ w" p! u5 V4, 扒开系统调用的三层皮(上)5 |5 E1 ?& X/ \8 n
1, 用户态、内核态和中断
4 C. J3 M/ {. m6 M7 h4 S* u2, 系统调用概述
- j* z; U% J) Z3 `; S1 M) A) O9 r3, 使用库函数API和C代码中嵌入汇编代码触发同一个系统调用3 Q- n0 O8 ], \! ~. W
测试题 f6 r" x( p- \- c9 _
作业.docx, I/ `2 Y' y) C& x% `) Y" V
$ s5 C u3 V: p2 {1 K
5, 扒开系统调用的三层皮(下)
+ g$ X" [/ |- S b$ ~! ]2 L1, 给MenuOS增加time和time-asm命令
. w6 @9 ~0 W% F. ] b2, 使用gdb跟踪系统调用内核函数sys_time( n* n; H% z' j4 Q& C
3, 系统调用在内核代码中的处理过程% ^( {: _$ C% U" x a2 L
测试题* N8 R9 S; o3 w: i; R! y1 i$ h
作业.docx
k7 C/ s& c5 n3 P1 @, \# y- C; S. [% a; U8 {: n
6, 进程的描述和进程的创建9 y( W0 b; Y9 }# m7 z8 O
1, 进程的描述
8 ]3 q/ w6 A; l* L! j( n, Q( @. [2, 进程的创建) H) g7 I7 f* p6 `
测试题
# u e* _8 u) w2 ] s$ r作业.docx
* x1 W7 n' c( Z# z; H0 \ e; ~% b* l2 x# ]( A
7, 可执行程序的装载+ }8 P7 a9 C' `5 M0 B, R( F
1, 预处理、编译、链接和目标文件的格式
6 e7 g$ D+ b" y7 s2, 可执行程序、共享库和动态链接! B7 G1 h) @0 ^% v
3, 可执行程序的装载& x& K" Q; u1 ?7 y, T6 ^
测试题
0 H% F9 s; h% x8 j) A0 g作业.docx
, t0 E5 \. R2 R8 P) w; t1 W4 i' d2 a2 N
8, 进程的切换和系统的一般执行过程
% `: R$ n1 Z# {& ~1, 进程切换的关键代码switch_to分析0 c# z) p' [! s4 R. e
2, Linux系统的一般执行过程1 N" l& d' P: p3 r6 K* z) P: Y
3, Linux系统架构和执行过程概览1 L- f% G! Y1 c% i1 z" ]( E
测试题( z1 m+ u% S2 f4 I% P' M3 x
作业.docx
H9 g. _3 B! R* I- w
0 {# D2 {- `, H5 O! H4 v+ L& z/ e% ?' ^
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|