- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统课设操作系统课程设计报告
课 程 实 验 报 告
题目: 操作系统原理
专业班级: 信息安全 1302 班
学 号:
姓 名:
指导教师:
报告日期: 2016年29日
计算机科学与技术学院
目 录
1. 初探Linux编程环境 1
1.1. 实验目的 1
1.2. 实验内容 1
1.2.1. 实验一 1
1.2.2. 实验二 1
1.3. 实验设计 1
1.3.1. 实验一 1
1.3.2. 实验二 2
1.4. 实验环境 3
1.5. 实验步骤 3
1.5.1. 实验一 3
1.5.2. 实验二 3
1.6. 调试记录 4
1.6.1. 实验一 4
1.6.2. 实验二 4
1.7. 实验结果 5
1.7.1. 实验一 5
1.7.2. 实验二 6
2. 通过编译内核的方式为Linux增加系统调用 8
2.1. 实验目的 8
2.2. 实验内容 8
2.3. 实验设计 8
2.4. 实验环境 8
2.5. 实验步骤 8
2.6. 调试记录 10
2.7. 实验结果 11
3. 编写设备驱动程序 13
3.1. 实验目的 13
3.2. 实验内容 13
3.3. 实验设计 13
3.4. 实验环境 14
3.5. 实验步骤 14
3.6. 调试记录 15
3.7. 实验结果 15
4. 实现系统监控程序 17
4.1. 实验目的 17
4.2. 实验内容 17
4.3. 实验设计 18
4.4. 实验环境 22
4.5. 实验步骤 22
4.6. 调试记录 22
4.7. 实验结果 23
5. 设计模拟文件系统 28
5.1. 实验目的 28
5.2. 实验内容 28
5.3. 实验设计 28
5.4. 实验环境 33
5.5. 实验步骤 34
5.6. 调试记录 34
5.7. 实验结果 34
6. 附注:程序清单 39
6.1. 文件拷贝程序 39
6.2. 多进程多窗口实验 40
6.3. 编译内核添加系统调用 41
6.4. 编写模块 43
6.5. 任务监视器 49
6.6. 模拟文件系统 64
初探Linux编程环境
实验目的
掌握Linux操作系统的使用方法包括键盘命令系统调用掌握在Linux下的编程环境了解在Linux如何进行多线程编程以及图形编程实验内容
实验一
编写一个C程序其内容为实现文件拷贝的功能要求使用系统调用openread、write。
实验二
编写一个C程序其内容为分窗口同时显示三个并发进程的运行结果要求用到Linux下的图形库Gtk/Qt)。
实验设计
实验一
所谓文件拷贝就是将源文件的内容全部拷贝到新的文件中产生一个与源文件一模一样的副本
在Linux系统中文件拷贝的功能比较简单,其核心流程如11所示
图 11 文件拷贝核心算法
实验二
本实验中,我首先写了一个“主控程序”,用来创建三个进程来启动另外的三个窗口程序,这三个窗口程序中,有两个是单一的窗口程序,而第三个窗口程序则又创建了4个进程来进行不同的计算操作。
“主控程序”非常简单,就是使用了3个fork系统调用来创建3个新的进程再在进程中使用execl()函数来调用我已经编制完成的三个窗口程序
三个窗口程序中前两个单一的窗口程序都非常简单窗口中显示一个图片文件它的实现方式就是将图片加载进程序的资源中然后在窗口中添加一个QLabel再用QLabel显示这个图像第二个窗口文件是在窗口的QLabel控件中动态显示当前时间它是使用了QTimer这个定时器给它设置一个回调函数
相比起前两个窗口程序第三个稍微复杂一些它是在程序中创建了4个进程并且申请了其中这图 12所示。而窗口程序中线程获取各子进程的计算结果以及向子进程发出退出信号等的方式与子进程中对共享内存区的操作相同,因此这里就不再列出窗口程序中的代码流程了。
图 12 第三个窗口程序中子进程的执行流程实验环境
VMware虚拟机,2G内存,2个CPU核心,40G虚拟硬盘空间
操作系统 64位Ubuntu 14.04.3,内核版本0-49-generic
编译器: 64位 4.8.4
文本编辑器emacs 24.5.1
图形界面开发环境 5.5.1 for Linux 64-bit
实验步骤
实验一
首先我查询了openread、write这三个系统调用的相关资料了解了它们的大概用法
编译时使用命令cc –o copy copy.c。
经过多次不同的测试结果表明程序运行正常实验二
执行程序进行测试,结果表明程序运行正常。
调试记录
实验一
程序可以创建目标文件但是目标文件中总是没有数据
出错原因
经过仔细检查发现是在使用ope
您可能关注的文档
- 西南师大版数学六年级上册教材分析 .doc
- 西安市建筑工地农民工业余学校教学台帐.doc
- 西安市第四污水处理厂工程初步设计审查意见doc 《西安市第四污水处理 .doc
- 西安白鹿原滑雪场旅游攻略旅程天下.doc
- 西安蓝天野外拓展训练.doc
- 西安高新区企业参加投标廉洁守法证明申请书.doc
- 西安装修课堂之家庭装饰材料选购指南.doc
- 西安联通公司劳务派遣制员工激励方案改进.doc
- 西师大版二年级语文下册《玩出来的发明》PPT课件.ppt
- 西师版四年级下册数学第一单元整理复习.doc
- 中国国家标准 GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- 《GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计》.pdf
- 中国国家标准 GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- 《GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置》.pdf
- 中国国家标准 GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- GB/T 17889.4-2024梯子 第4部分:铰链梯.pdf
- 《GB/T 17889.4-2024梯子 第4部分:铰链梯》.pdf
文档评论(0)