《操作系统课程设计》任务书
学时数:2周
一、课程性质和目的
操作系统课程设计是配合操作系统课开设的专业基础必修课。本课程通过设计实现一个综合作业,培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。
二、课程内容
本课程为实践性教学环节,以学生课上机做实验为主。要求掌握Linux系统的使用和系统级编程能力,具体要求如下:
1. 熟悉和理解Linux编程环境:
(1)编写一个C程序,实现文件拷贝功能。
(2)编写一个C程序,使用Linux下基于文本的终端图形编程库curses,分窗口实时监测(即周期性刷新显示)CPU、主存和网络的详细使用情况和它们的利用率。
2. 掌握添加系统调用的方法:
(1)添加一个新的系统调用,实现文件拷贝功能
(2)采用编译内核的方法,将其增加进内核源码并编译内核
(3)编写一个应用程序,测试新加的系统调用
3. 掌握添加设备驱动程序的方法:
(1)增加一个新的块设备驱动程序。
(2)采用动态模块加载方式加载块设备驱动程序,并编写应用程序进行测试。
(3)采用编译内核加载方式加载块设备驱动程序,并编写应用程序进行测试。
4. 理解和分析/proc文件:
(1)了解/proc文件的特点和使用方法。
(2)读取proc文件系统,监控系统状态,获取系统各种信息(如主机名、系统启动时间、运行时间、版本号、所有进程信息、CPU使用率、主存使用率等)。
(3)用图形界面显示系统监控状态,要求参照Windows的任务管理器,利用GTK或Qt实现图形界面编程。
三、课程基本要求
1.本课程设计以课外编程设计和课堂上机实验为主。
2.课程考核由系统演示、答辩和课程设计报告情况综合评定。
四、本课程与其它课程的联系和分工
本课程的先修课程是操作系统,是对操作系统的进一步实践。
五、建议教材与教学参考书
[1] 操作系统原理(第四版),庞丽萍,华中科技大学出版社
[2] 计算机操作系统(修订版),汤子瀛等,西安电子科技大学出版社
[3] 计算机操作系统教程(第二版),张尧学、史美林,清华大学出版社
[4] 边干边学:Linux内核指导 李善平等,浙江大学出版社