操作系统课设

更新时间:2024-03-05 03:37:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课 程 设 计 报 告

课程名称: 计算机操作系统

专业班级:

学 号: 姓 名: 指导教师: 报告日期:

计算机科学与技术学院

华 中 科 技 大 学 课 程 设 计 报 告

目 录

1 2 3

实验目的 .............................................................................................. 2 实验环境 .............................................................................................. 2 实验内容 .............................................................................................. 2 3.1 3.2 3.3 3.4 3.5 4

实验一 ...............................................................................................2 实验二 ...............................................................................................2 实验三 ...............................................................................................2 实验四(选做) ................................................................................3 实验五(选做) ................................................................................3

设计与实现 ........................................................................................... 3 4.1 4.2 4.3 4.4

实验一 ...............................................................................................3 实验二 ............................................................................................. 10 实验三 ............................................................................................. 14 实验四 ............................................................................................. 20

5 心得体会 ............................................................................................ 43

I

华 中 科 技 大 学 课 程 设 计 报 告

1

·掌握Linux操作系统的使用方法; ·了解Linux系统内核代码结构; ·掌握实例操作系统的实现方法;

实验目的

2 实验环境

本次课程设计采用的操作系统环境是windows8、Ubuntu双系统,Ubuntu系统版本号为14.04,内核版本号为linux 3.13.0;采用的编程环境为CodeBlocks IDE和QtCreator。

3

3.1 实验一

实验内容

掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。

(1)编写一个C程序,其内容为实现文件拷贝的功能。

(2)编写一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库(GTK/Qt)。

3.2 实验二

掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用,另编写一个应用程序,调用新增加的系统调用。实现的功能是:文件拷贝。

3.3 实验三

掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动程序,其功能可以简单。(实现字符设备的驱动)

2

华 中 科 技 大 学 课 程 设 计 报 告

3.4 实验四(选做)

了解和掌握/proc文件系统的特点和使用方法 (1)了解/proc文件的特点和使用方法;

(2)监控系统状态,显示系统中若干部件使用状态; (3)用图形界面实现系统监控状态;

3.5 实验五(选做)

设计并实现一个模拟的文件系统。

多用户的多级目录的文件系统设计。多用户、多级目录、login(用户登录)、系统初始化(建文件卷,提供登录模块)、文件的创建、文件的打开、文件的读写、文件关闭、删除文件、创建目录(建立子目录)、改变当前目录、列出文件目录、退出。

4

4.1 实验一

4.1.1 实验要求

设计与实现

掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。 4.1.2 具体实现

本实验内容是用CodeBlocks IDE实现的,该软件整合了函数库和编译器,因此使用起来非常方便。

(1)编写一个C程序,其内容为实现文件拷贝的功能。

在windows操作系统上实现的文件拷贝功能一般使用fopen、fread、fwrite三个来自标准C函数库的函数执行对文件的打开、读、写操作,而本次实验要求使用Linux系统的系统调用open、read、write实现上述三个操作。

用到的主要头文件如下:

3

华 中 科 技 大 学 课 程 设 计 报 告

stdio.h——标准输入输出头文件 string.h——字符串处理相关头文件

unistd.h——Linux系统调用头文件,比如read、write fcntl.h——包含open系统调用

errno.h——包含一些调试错误时用到的变量 具体实现思路:

打开两个文件(分别是源文件和目标文件,可以是任意字符流形式存储的文件,包括文本文件、照片等),调用read函数读取源文件的内容,将read的返回值作为while循环的判断条件,当返回值大于0(即还未读取完毕源文件中的内容)时,调用write执行向目标文件写的操作,否则跳出循环,表示源文件已经被拷贝到目标文件,然后调用close关闭源文件和目标文件。

代码编写完成后,在CodeBlocks上编译运行即可。程序运行之前,桌面上只有“教程.docx”,运行之后,桌面上新建了“教程副本.docx”,并且“教程.docx”中的内容被复制到了“教程副本.docx”,程序运行结果如下所示:

详细代码见4.1.3。

(2)编写一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库(GTK/Qt)。

4

本文来源:https://www.bwwdw.com/article/o9oa.html

Top