欢迎来到天天文库
浏览记录
ID:14676534
大小:1.19 MB
页数:51页
时间:2018-07-29
《计算机操作系统-课设-操作系统课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程设计报告课程名称:操作系统专业班级:学号:姓名:指导教师:报告日期:03.10.2016计算机科学与技术学院目录1实验目的12实验内容13实验设计23.1实验一23.1.1文件拷贝23.1.2并发进程分窗口显示43.2实验二43.3实验三53.4实验四54实验环境75实验步骤75.1实验一75.1.1文件拷贝75.1.2并发进程分窗口显示85.2实验二95.3实验三135.4实验四136实验心得237参考文献248程序清单258.1实验一258.1.1文件拷贝258.1.2并发进程分窗口显示258.2实验二268.3实验三2
2、78.3.1驱动文件278.3.2测试文件318.3.3Makefile318.4实验四32Mainwindow.h32Mainwindow.cpp331实验目的掌握Linux操作系统的使用方法;了解Linux系统内核代码结构;掌握实例操作系统的实现方法。2实验内容1、掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。编一个C程序,其内容为实现文件拷贝的功能(使用系统调用);编一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库。2、掌握系统调用的实现过程,
3、通过编译内核方法,增加一个新的系统调用。另编写一个应用程序,使用新增加的系统调用。(1)内核编译、生成,用新内核启动;(2)新增系统调用实现:文件拷贝或P、V操作。3、掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动程序,其功能可以简单。实现字符设备的驱动4、使用GTK/QT实现系统监控器(选做)了解/proc文件的特点和使用方法;监控系统状态,显示系统中若干部件使用情况;用图形界面实现系统监控状态。5、设计并实现一个模拟的文件系统(选做)(1)基于一大文件(10M或100M),模拟磁盘;(2)格式化,建立文件系统
4、管理数据结构;(3)基本操作,实现文件、目录相关操作。493实验设计3.1实验一3.1.1文件拷贝要实现文件拷贝功能,主要用到的函数是open、write、read。 以前在windows下写C语言打开文件常用的fopen,此时不能用,因为fopen是ANSIC标准中的C语言库函数,在不同的系统中应该调用不同的内核api ;所以应该直接使用linux中的系统函数open。 设计思路:由命令行参数获取2个文件名,根据其文件名和路径分别打开该2个文件,设置一个循环,从源文件复制N个字节到目的文件,直到源文件指针到文件尾,最后关闭2个
5、文件。 Windows环境下的文件拷贝功能已再熟悉不过,C语言中通过几个fopen,fread,fclose函数对文本文件进行读写操作即可完成简单文件的复制。本次试验时不再使用之前的方式,而使用linux下的函数open()、read()、write()函数,对于这几个函数的使用说明如下:open()函数函数定义:intopen(constchar*pathname,intflags);参数说明:参数pathname指向欲打开的文件路径字符串。下列是参数flags所能使用的标志位: O_RDONLY以只读方式打开文件 O_W
6、RONLY以只写方式打开文件 O_RDWR以可读写方式打开文件。 上述三种标志位是互斥的,也就是不可同时使用,但可与下列的标志位利用OR(
7、)运算符组合。 O_CREAT若欲打开的文件不存在则自动建立该文件。 O_EXCL如果O_CREAT也被设置,此指令会去检查文件是否存在。文件若不存在则建立该文件,否则将导致打开文件错误。此外,若O_CREAT与O_EXCL同时设置,并且欲打开的文件为符号连接,则会打开文件失败。 O_NOCTTY如果欲打开的文件为终端机设备时,则不会将该终端机当成进程控制终端机。 O_TRUNC
8、若文件存在并且以可写的方式打开时,此标志位会令文件长度清为490,而原来存于该文件的资料也会消失。 O_APPEND当读写文件时会从文件尾开始移动,也就是所写入的数据会以附加的方式加入到文件后面。 O_NONBLOCK以不可阻断的方式打开文件,也就是无论有无数据读取或等待,都会立即返回进程之中。 O_NDELAY同O_NONBLOCK。 O_SYNC以同步的方式打开文件。 O_NOFOLLOW如果参数pathname所指的文件为一符号连接,则会令打开文件失败。 O_DIRECTORY如果参数pathname所指的文件
9、并非为一目录,则会令打开文件失败。参数mode组合 此为Linux2.2以后特有的标志位,以避免一些系统安全问题。参数mode则有下列数种组合,只有在建立新文件时才会生效,此外真正建文件时的权限会受到umask值所影响,因此该文件权限应该为(mode-umak
此文档下载收益归作者所有