课 程 实 验 报 告
课程名称: 操作系统课程设计
专业班级: 学 号: 姓 名: 指导教师: 报告日期:
计算机科学与技术学院
课程设计任务书
一.课设目的
1. 掌握Linux操作系统的使用方法; 2. 了解Linux系统内核代码结构; 3. 掌握实例操作系统的实现方法。
二.课设内容
1. 掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下
的编程环境。
(一)编一个C程序,其内容为实现文件拷贝的功能;
(二)编一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库。gtk/qt
2. 掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用。另编写
一个应用程序,调用新增加的系统调用(实现的功能为文件拷贝)。
3. 掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动程序,其
功能可以简单(实现字符设备的驱动)。
4. 了解和掌握/proc文件系统的特点和使用方法 (选做)
(一)了解/proc文件的特点和使用方法
(二)监控系统状态,显示系统中若干部件使用情况 (三)用图形界面实现系统监控状态。
5. 设计并实现一个模拟的文件系统(选做)
多用户的多级目录的文件系统设计。
多用户、多级目录、login (用户登录)、系统初始化(建文件卷、提供登录模块)、文件的创建、文件的打开、文件的读、文件的写、文件关闭、删除文件、创建目录(建立子目录)、改变当前目录、列出文件目录、退出。
三.课设说明
Linux系统版本:Fedora 5.0 6.0 … ubuntu 10.04 11.10 内核版本: linux-2.6.x
四.考核要求
1.必须独立完成课程设计内容,不分小组,不能有相同的拷贝。
2.上机考试:学生根据老师提出的要求,演示所完成的系统;并回答老师的问题。
3.第三周五下午2:00全体到实验室做中期检查,只检查1、2题;第四周 周五下午2:00:最后检查。按学号次序逐个检查。
4.评分方法:
完成1、2题,得60-65分; 完成1、2、3题,得65-75分;
完成1、2、3、4(5)题,得80--100分; 报告:10分(倒扣分)
上交:课程设计报告(打印/电子档),内容包括调试记录和程序清单(附注释)。第六周五前以班为单位交指导老师。
五.参考资料
Linux的“man”帮助!
《Linux内核2.4版源代码分析大全》 《Linux内核源代码分析》 《Linux编程白皮书》 www.google.com bbs.whnet.edu.cn www.csdn.net
课程内容与过程
一.掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。
1) 编一个C程序,其内容为实现文件拷贝的功能。
① 任务分析: 在Linux下,如果要编译一个C语言源程序,要使用到gcc编译器。gcc编译器中, -o选项表示我们要求输出的可执行文件名。-c选项表示我们只要求编译器输出目标代码,而不必要输出可执行文件。 -g选项表示我们要求编译器在编译的时候提供我们以后对程序进行调试的信息。知道了这三个选项,我们就可以编译我们自己所写的简单的源程序了。
文件拷贝的C程序主要用到如下几个函数: ? open:打开文件
open()函数
功能描述:用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。
所需头文件:#include
函数原型:int open(const char *pathname,int flags,int perms) 参数:pathname:被打开的文件名(可包括路径名如\) flags:文件打开方式,