计算机操作系统-课设

上传人:jiups****uk12 文档编号:39072420 上传时间:2018-05-11 格式:PDF 页数:33 大小:1.22MB
返回 下载 相关 举报
计算机操作系统-课设_第1页
第1页 / 共33页
计算机操作系统-课设_第2页
第2页 / 共33页
计算机操作系统-课设_第3页
第3页 / 共33页
计算机操作系统-课设_第4页
第4页 / 共33页
计算机操作系统-课设_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《计算机操作系统-课设》由会员分享,可在线阅读,更多相关《计算机操作系统-课设(33页珍藏版)》请在金锄头文库上搜索。

1、 课课 程程 设设 计计 报报 告告 题目题目: 操作操作系统系统课程设计课程设计 课程名称:课程名称: 操作操作系统课程设计系统课程设计 专业专业班级班级: 信息信息安全安全 1302 学学 号号: U201315150 姓姓 名名: 王林王林 指导教师指导教师: 阳富民阳富民 报告日期报告日期: 2016 年年 3 月月 16 日日 计算机科学与技术学院计算机科学与技术学院 目录目录 1 1 课程设计概述课程设计概述 . 4 1.1 1.1 课程设计目的课程设计目的 . 4 4 1.2 1.2 课程设计内容课程设计内容 . 4 4 1.3 1.3 考核要求考核要求 . 4 4 1.4 1.

2、4 系统环境系统环境 . 2 2 2 2 设计与实现设计与实现 . 3 2.1 2.1 掌握掌握 LinuxLinux 操作系统的使用方法操作系统的使用方法 . 3 3 2.1.1 2.1.1 实现文件拷贝功能实现文件拷贝功能 . 3 2.1.2 2.1.2 分窗口同时显示三个并发进程分窗口同时显示三个并发进程 . 5 2.2 2.2 掌握系统调用的实现过程掌握系统调用的实现过程 . 1010 2.2.1 2.2.1 实验原理实验原理. 10 2.2.2 2.2.2 具体操作具体操作. 11 2.2.3 2.2.3 测试程序及结果测试程序及结果 . 14 2.3 2.3 掌握增加设备驱动的方掌

3、握增加设备驱动的方法法 . 1515 2.3.1 2.3.1 源代码源代码. 19 2.3.2 2.3.2 测试程序及结果测试程序及结果 . 23 2.4 2.4 使用使用 Gtk/QtGtk/Qt 实现系统监视器实现系统监视器 . 2525 2.4.1 2.4.1 功能清单及其相关文件功能清单及其相关文件 . 26 2.4.2 2.4.2 已实现功能已实现功能. 26 心得体会心得体会 . 28 参考文献参考文献 . 29 1 1 课程设计概述课程设计概述 1.1 1.1 课程设计目的课程设计目的 1) 掌握 Linux 操作系统的使用方法 2) 了解 Linux 系统内核代码结构 3) 掌

4、握实例操作系统的实现方法 1.2 1.2 课程设计内容课程设计内容 1) 掌握 Linux 操作系统的使用方法,包括键盘命令、系统调用;掌握在 Linux下的编程环境 编写一个 C 程序,其内容为实现文件拷贝的功能(使用系统调用) 编写一个 C 程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到 Linux 下的图形库(gtk/Qt) 2) 掌握系统调用的实现过程,通过编译内核的方法,增加一个新的系统调用。另编写一个应用程序,使用新增加的系统调用 内核编译、生成,用新内核启动 新增系统调用实现:文件拷贝或 P、V 操作 3) 掌握增加设备驱动程序的方法。 通过模块方法, 增加一个新的

5、设备驱动程序,其功能可以简单(实现字符设备的驱动即可) 4) 使用 Gtk/Qt 实现系统监控器 了解/proc 文件的特点和使用方法 监控系统状态,显示系统中若干部件使用情况 用图形界面实现系统监控状态 1.3 1.3 考核要求考核要求 1) 必须独立完成课程设计内容,不分小组,不能有相同的拷贝 2) 上机检查:学生根据老师提出的要求,演示所完成的系统;并回答老师的问题 2 3) 课程设计报告,内容包括:实验目的、实验内容、实验设计、实验环境及步骤、调试记录和程序清单(附注释) 1.4 1.4 系统环境系统环境 操作系统:Linux Mint 17.3 内核版本:Linux 3.19.0 用

6、户名:lin 处理器:Intel(R) Core(TM) i5-3230M CPU 2.60GHz 安装内存:8.00GB 3 2 2 设计与实现设计与实现 2.1 2.1 掌握掌握 LinuxLinux 操作系统的使用方法操作系统的使用方法 2.1.1 2.1.1 实现文件拷贝功能实现文件拷贝功能 实现文件拷贝的步骤为:先打开文件 A,创建文件 B,读取 A 中的内容并将其写入 B, 完毕后关闭 A 和 B。 在 C 函数库中的文件操作函数一般为 fopen、 fread和 fwrite,相关的系统调用分别为 sys_fopen、sys_fread 和 sys_fwrite。 1) 具体实现

7、 程序判断终端输入指令的参数个数,本程序参数为 3 个:第一个为当前目录下的程序名(./copy),第二个为待复制的文件(包括其路径,无路经即为当前目录),第三个为复制后的文件路径。 2) 程序运行结果 程序运行前在当前目录下有 copy.c 文件,拟将其复制。如图 1所示。 图 1 复制后该目录下文件及终端操作如图 2所示。 4 图 2 3) 源代码 /copy.c #include #include #include #include int main(int argc, char* argv) char fblock1024; int fin, fout, nread; if(argc

8、3) printf(“输入参数过多,该程序只实现从一个文件到另一个文件的复制n“); exit(0); else if (argc 0) write(fout, fblock, nread); printf(“copy is overn“); 2.1.2 2.1.2 分窗口同时显示三个并发进程分窗口同时显示三个并发进程 先在父进程中利用 fork( )函数创建一个子进程,再在子进程中创建一个子进程, 然后在各个进程的运行过程中分别生成一个窗口,同时在相应的进程窗口中显示该进程的 ID。生成窗口时可使用图形库 GTK 2.0,在每个窗口中加入几个构件(button,progress bars,label 等),并将每个构件所产生的动作与相应的信号处理函数相连接。 Linux 环境中,创建进程只需调用 fork( )函数即可。进程调用 fork 后,系统会创建一个子进程,此子进程与父进程唯一不同的地方在于其进程 ID 与父进程 ID:对于父进程,fork 返回子进程的 ID,对于子进程则返回 0,系统就是通过此返回值的不同来区分父子进程的。若 fork 调用失败,则返回-1。 1) 具体实现 Gtk+程序基本流程如下: 初始化 Gtk,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号