- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课 程 设 计 报 告
课程名称: 计算机操作系统
专业班级:
学 号:
姓 名:
指导教师:
报告日期:
计算机科学与技术学院
目 录
1 实验目的 2
2 实验环境 2
3 实验内容 2
3.1 实验一 2
3.2 实验二 2
3.3 实验三 2
3.4 实验四(选做) 3
3.5 实验五(选做) 3
4 设计与实现 3
4.1 实验一 3
4.2 实验二 10
4.3 实验三 14
4.4 实验四 20
5 心得体会 43
实验目的
·掌握Linux操作系统的使用方法;
了解Linux系统内核代码结构;
掌握实例操作系统的实现方法;
本次课程设计采用的操作系统环境是windows8、Ubuntu双系统,Ubuntu系统版本号为14.04,内核版本号为linux 3.13.0;采用的编程环境为CodeBlocks IDE和QtCreator。
掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。
(1)编写一个C程序,其内容为实现文件拷贝的功能。
(2)编写一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库(GTK/Qt)。
掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用,另编写一个应用程序,调用新增加的系统调用。实现的功能是:文件拷贝。实验三
增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动程序,其功能可以简单。(实现字符设备的驱动)
实验四(选做)
了解和掌握/proc文件系统的特点和使用方法
(1)了解/proc文件的特点和使用方法;
(2)监控系统状态,显示系统中若干部件使用状态;
(3)用图形界面实现系统监控状态;
(选做)
并实现一个模拟的文件系统。多用户的多级目录的文件系统设计。多用户、多级目录、login(用户登录)、系统初始化(建文件卷,提供登录模块)、文件的创建、文件的打开、文件的读写、文件关闭、删除文件、创建目录(建立子目录)、改变当前目录、列出文件目录、退出。
实验要求
掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。
具体实现
本实验内容是用CodeBlocks IDE实现的,该软件整合了函数库和编译器,因此使用起来非常方便。
(1)编写一个C程序,其内容为实现文件拷贝的功能。在windows操作系统上实现的文件拷贝功能一般使用fopen、fread、fwrite三个来自标准C函数库的函数执行对文件的打开、读、写操作,而本次实验要求使用Linux系统的系统调用open、read、write实现上述三个操作。
用到的主要头文件如下:
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)。
本次实验使用的图形库是跨平台的开发工具Qt。首先下载Qt的安装包并安装。
Qt安装完之后,先新建一个Qt控制台应用MAIN作为主进程,用于调用三个并发的子进程。在主进程的main函数中,使用fork创建三个子进程,若进程创建成功(即fork函数返回值等于0),则使用execv函数进入对应的子进程(get、copy、put)。
主进程程序编写完成后,再新建三个Qt Widgets Application,分别作为三个子进程get、copy、put(所实现的功能并不是拷贝)。由于三个子进程窗口显示的内容形式一模一样,所以以子进程get为例。get进程的窗口显示了一下四个内容:当前时间、子进程名称、子进程的pid和父进程MAIN的pid。用Qt的对象QDateTime获取系统当前时间,然后将时间转换成一个字符串
您可能关注的文档
最近下载
- 清真保证体系培训.ppt VIP
- 2023年中外电影史论题库答案完成版.doc VIP
- (高清版)B-T 15596-2021 塑料 在玻璃过滤后太阳辐射、自然气候或实验室辐射源暴露后颜色和性能变化的测定.pdf VIP
- 学校食堂从业人员管理培训记录(40篇).doc VIP
- 《苏格兰的风》阅读练习及答案.doc VIP
- 调色师:达芬奇视频剪辑调色从入门到精通(上篇,共上中下3篇).pptx VIP
- 2025 银行公开招聘工作人员简章.pdf VIP
- 初中满分优秀作文五篇(写成长、写人生、写逐梦、写逆风、写母爱).docx VIP
- 《GBT 11345-2023 焊缝无损检测 超声检测 技术、检测等级和评定》专题研究报告.pptx VIP
- 6-特种设备安全附件、安全保护装置、测量调控装置及有关附属仪器仪表定期校验、检修及记录制度.doc VIP
原创力文档


文档评论(0)