计算机操作系统-课设(2)

计算机操作系统-课设(2)

ID:24689427

大小:587.12 KB

页数:82页

时间:2018-11-15

计算机操作系统-课设(2)_第1页
计算机操作系统-课设(2)_第2页
计算机操作系统-课设(2)_第3页
计算机操作系统-课设(2)_第4页
计算机操作系统-课设(2)_第5页
资源描述:

《计算机操作系统-课设(2)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、目录1课程设计目的12环境搭建13设计过程23.1设计一:掌握Linux操作系统的使用方法23.1.1内容要求23.1.2设计过程及实现23.2设计二:掌握系统调用的实现过程63.2.1内容要求63.2.2设计过程及实现63.3设计三:掌握增加设备驱动程序的方法113.3.1内容要求113.3.2设计过程及实现113.4设计四:使用GTK/QT实现系统监控器153.4.1内容要求153.4.2设计过程及实现154课设小结23附代码241.1241.224228329431课程设计报告题目:操作系统课程设计报告课程名称:操作系统原理专业班级:I

2、S1302学号:U201315130姓名:王超指导教师:阳富民报告日期:2016.3.16计算机科学与技术学院1课程设计目的(1)掌握Linux操作系统的使用方法;(2)了解Linux系统内核代码结构;(3)掌握实例操作系统的实现方法。2环境搭建(1)在Windows10上,利用虚拟机软件VMware软件搭建的Linux平台:◎Ubuntu14.04.2LTS◎内核:Linuxubuntu3.18.27.hd系统详情如图2.1所示图2.1(2)在添加系统调用中用到的其他内核包:①下载和当前实验环境最为接近的系统版本(这点很重要)使用apt-g

3、etinstalllinux-source-3.0.0命令,②下载结果是linux-source-3.0.0.tar.bz2③解压命令:tar–xjvflinux-source-3.0.0.tar.bz2–C/usr/src④解压后,在/usr/src目录下得到内核文件夹linux-source-3.0.0(3)在调用linux图形库时需要安装GTK环境:①安装gcc/g++/gdb/make等基本编程工具apt-getinstallbuild-essential79Tip:如果提示由于依赖项不能安装,需要使用apt的强化版aptitude,

4、这个工具可以自动分析软件包依赖,系统一般不自带,需要先安装,具体过程是:apt-getinstallaptitudeaptitudeinstallbuild-essentialaptitude这个工具很强大,对于解决软件包安装时的依赖问题很有帮助。②安装libgtk2.0-devlibglib2.0-dev等开发相关的库文件:apt-getinstallgnome-core-devel③安装GTK核心组件:apt-getinstalllibgtk2.0-dev3设计过程3.1设计一:掌握Linux操作系统的使用方法3.1.1内容要求(1)编一

5、个C程序,其内容为实现文件拷贝的功能;(2)编一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库。(gtk/Qt)3.1.2设计过程及实现(1)文件拷贝:①文件的拷贝主要的思想就是利用文件指针操作,在两个文件之间进行按字符的fget和fput。从而完成整个文件的拷贝操作。在这个基本功能之外,需要增加程序的健壮性,具体有以下几个方面:·源文件是否存在且能读取数据;·是否能创建目的文件,且能向里面写入数据;·程序需要的argc参数个数是否满足要求;②基于以上几点和内容要求,主要的程序段如下:79if(argc!

6、=3)//判断参数个数是否为3,否则返回{printf("Errorinargc!");return0;}if((fsource=fopen(argv[1],"rb"))==NULL){printf("Errorinopensourcefile!");//判断源文件是否能打开和读出return0;}if((ftarget=fopen(argv[2],"wb"))==NULL){printf("Errorinopentargetfile!");//判断目的文件时候能创建和写入return0;}while((c=fgetc(fsour

7、ce))!=EOF){fputc(c,ftarget);//按字符读取和写入数据}③实验过程将source/source.txt文件拷贝到到target.txt,开始时如下图3.1.1所示:图3.1.1复制开始前source/source.txt文件内容79利用mycopy程序复制,查看target.txt文件复制结果如下图3.1.2所示:图3.1.2复制后target.txt文件的具体内容(2)实现三个进程之间的并发程序:这里需要用到课程实验时的fork()程序以及GTK的图形显示。①基本fork()程序,调用显示一个父进程和两个子进程的结

8、构如下:if((pid_1=fork())==0){printf("Child1#isrunning......");//第一个子进程Child1#show(a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。