1、 Linux 内核设计与实现课程实验教学大纲课 程 名 称:Linux 内核设计与实现 英 文 名 称:Kernel Projects for Linux课 程 编 号:30011000 实 验 课 性 质:非独立设课课 程 负 责 人:林丰波 开放实验项目数:4 大 纲 主 撰 人:张鸿烈 大 纲 审 核 人:林丰波 一、学时、学分课程总学时:36 实验学时:36 课程总学分:2 实验学分:1二、适用专业及年级计算机科学四年级三、实验教学目的与基本要求教学目的培养学生分析和开发 Linux 操作系统内核的能力基本要求 会检查和分析 Linux 操作系统内部运行状态; 能用自己的程序获取 Li
2、nux 操作系统内核数据; 会重构 Linux 操作系统内核;四、主要仪器设备高档微机或服务器一台五、实验课程内容和学时分配序号实验项目名 称 实 验 内 容学时分配实验属性实验类型每组人数实验要求指导教师已开/未开1 观察 Linux行为编程从/proc获取内核信息并跟踪4 基础类验证性1 必做 张鸿烈已开2 Shell 进程通信编写 Shell 命令程序,利用参数控制进程通信4 专业类设计性1 必做 张鸿烈已开3 内核定时 研究内核时间控制,测量和监控多线程并发执行的时间4 专业类设计性1 必做 张鸿烈已开4 内核模块 设计和调试可动态加载的内核模块4 专业类设计性1 必做 张鸿烈已开5
3、系统调用 研究系统调用的机理。添加扩充的系统调用4 专业类设计性1 必做 张鸿烈已开6 共享内存 分析或调整内核共享内存机制4 专业类设计性1 选作 张鸿烈已开7 同步机制 分析或调整内核信号量机制4 专业类设计性1 选作 张鸿烈已开8 调度程序 调整和测试内核调度程序策略。 4 专业类设计性1 选作 张鸿烈已开9 设备驱动 设计和调试可动态加载的虚拟字符设备驱动4 专业类设计性1 必做 张鸿烈已开10 文件系统 设计和调试简化的 VFS文件系统目录。4 专业类设计性1 选作 张鸿烈未开六、考核方式1、实验报告的要求 实验目标。说明实验要实现的主要功能。 实验环境。说明进行该实验时你所具有的软
4、硬件的条件。 解决方案。说明完成该实验的主要设计思路。解决问题所采用的算法原理,实现你的设计的主要模块和流程。 关键源代码注释。为便于理解和阅读你编写的程序请多写一些注释,说明你设计的对象的各种属性和方法的作用。各对象之间的关系。它们是怎样实现你的设计的。 调试记录。记录下你开发过程中出现的错误,排除错误的办法和过程。 运行分析。说明你程序运行要携带的参数,报告你的程序的执行情况,比较和分析程序的性能。使用了不同的算法或调试数据各得到怎样的结果,这些结果说明了什么问题;你做了哪些改进,这些改进是否达到了预期的设计目标。2、考核方式 检查实验程序的结果,批阅实验报告; 按照优秀、良好、中等、合格、不合格等级记分;七、实验教科书、参考书(一)教科书美Gary Nutt Linux 操作系统内核实习 机械工业出版社 2002 年 1 月(二)参考书1美 Rober Love 著 Linux 内核设计与实现 机械工业出版社 2004 年 11 月2李善平著 Linux 操作系统及实验教程