主讲老师信息
陈香兰(xlanchen@ustc.edu.cn)
- 课程接待日:周二上午,亲民楼316,来之前请先电话联系
- 联系信息(合肥,周三~周五):科大西区电三421,0551-3606864-83
- 联系信息(苏州,周一下午~周二下午):亲民楼316,0512-87161316
|
助教信息
人数(1人,目前到位1人)
- 孟宁
|
参考书
Understanding the Linux Kernel (O'reilly)
各种网站
|
课时和上课时间
课时:3课时/次*2次/周*8周+考试=50课时
| 教学周 |
十一 |
十二 |
十三 |
十四 |
十五 |
十六 |
十七 |
十八 |
星期一 (19:00~21:25) |
11.9 |
11.16 |
11.23
|
11.30(交作业) |
12.7 |
12.14(交作业) |
12.21 |
12.28(下次上机,交作业) |
星期二 (14:00~16:25) |
11.10 |
11.17 |
11.24 |
12.1 |
12.8 |
12.15 |
12.22 |
12.29 |
|
幻灯片
0,课程介绍
1,绪论
1_1,GNU Tools
2,基于x86的Linux的启动
3,内存寻址
4.1,进程管理1
4.2,进程管理2
4.3,进程管理3
5,中断和异常
6,系统调用
7,时钟和定时
8,内存管理
9.1,地址空间
9.2,程序的执行
10,文件系统
11,信号机制
12,进程的同步和通信
13,IO管理
|
实验课时间安排
日期:
- 14周二(12.1)
- 15周二(12.8)
- 16周二(12.15)
- 19周二(1.5)
每次时间为:18:15-22:00
地点:明德楼308实验室
|
报告和上机
1,报告:基于x86体系结构分析linux-2.6.26的启动过程
2,对Linux2.6.26的进程切换过程进行分析,提交分析报告
3,进程的创建
- 使用C语言编写一段用户程序,调用fork创建一个子进程,然后让子进程和父进程分别输出fork的返回值。
- 目的:从用户态体验进程的创建
- 对Linux中进程的创建进行分析,提交分析报告
4,中断/异常/系统调用
- 分析中断、异常和系统调用的代码(任选其一),提交分析报告
- 采用某种方法截获一个中断,例如键盘中断
- 采用某种方法制造缺页异常
- 自己编写一个系统调用
- 任选其一,其中3的难度最低,起评分最低
- 2,3,4提交实验报告和源代码
5,定时器
- 在用户态编写一个程序,该程序设定一个定时器,在时间到期的时候做出某种可观察的响应(方法不限)
- 分析你的程序的实际执行借助了内核的哪些机制
- 提交实验与分析报告
6,虚拟字符驱动
- 模拟一个字符设备,提供字符设备驱动
- 在Linux 2.6环境中,动态加载虚拟字符驱动模块
- 编写一个应用程序,对虚拟字符设备驱动进行读写
- 课堂举例的参考
|