没有合适的资源?快使用搜索试试~ 我知道了~
操作系统课设报告1
需积分: 0 0 下载量 21 浏览量
2022-08-03
20:16:45
上传
评论
收藏 6.09MB PDF 举报
温馨提示
试读
111页
1.3.1 1.3.2 1.4.1 1.4.2 2.3.1 2.3.2 2.4.1 2.4.2 3.3.1 3.3.2 3.4.1 3.4.2 4.3.1 4.
资源详情
资源评论
资源推荐
操作系统原理课程设计报告
姓 名:
刘逸帆
学 院:
计算机科学与技术学院
专 业:
计算机科学与技术
班 级:
校交 1601 班
学 号:
U201610504
指导教师:
胡侃
2019 年 3 月 25 日
分数
教师签名
目
录
1
实验一
熟悉和理解
Linux
编程环境
.................................... 1
1.1 实验目的 ...................................................................................................................... 1
1.2 实验内容 ...................................................................................................................... 1
1.3 实验设计 ...................................................................................................................... 1
1.3.1 开发环境 .................................................................................................................. 1
1.3.2 实验设计 .................................................................................................................. 1
1.4 实验调试 ...................................................................................................................... 4
1.4.1 实验步骤 .................................................................................................................. 4
1.4.2 实验调试及心得....................................................................................................... 4
附录 实验代码 ........................................................................................................................ 7
2
实验二
掌握添加系统调用的方法
...................................... 15
2.1 实验目的 .................................................................................................................... 15
2.2 实验内容 .................................................................................................................... 15
2.3 实验设计 .................................................................................................................... 15
2.3.1 开发环境 ................................................................................................................ 15
2.3.2 实验设计 ................................................................................................................ 15
2.4 实验调试 .................................................................................................................... 17
2.4.1 实验步骤 ................................................................................................................ 17
2.4.2 实验调试及心得..................................................................................................... 17
附录 实验代码 ...................................................................................................................... 21
3
实验三
掌握添加设备驱动程序的方法
.............................. 23
3.1 实验目的 .................................................................................................................... 23
3.2 实验内容 .................................................................................................................... 23
3.3 实验设计 .................................................................................................................... 23
3.3.1 开发环境 ................................................................................................................ 23
3.3.2 实验设计 ................................................................................................................ 23
3.4 实验调试 .................................................................................................................... 24
3.4.1 实验步骤 ................................................................................................................ 24
3.4.2 实验调试及心得..................................................................................................... 24
附录 实验代码 ...................................................................................................................... 26
4
实验四
使用
GTK/QT
实现一个系统监控器
.................... 29
4.1 实验目的 .................................................................................................................... 29
4.2 实验内容 .................................................................................................................... 29
4.3 实验设计 .................................................................................................................... 29
4.3.1 开发环境 ................................................................................................................ 29
4.3.2 实验设计 ................................................................................................................ 29
4.4 实验调试 .................................................................................................................... 32
4.4.1 实验步骤 ................................................................................................................ 32
4.4.2 实验调试及心得..................................................................................................... 32
附录 实验代码 ...................................................................................................................... 37
5
实验五
设计并实现一个模拟的文件系统
.......................... 58
5.1 实验目的 .................................................................................................................... 58
5.2 实验内容 .................................................................................................................... 58
5.3 实验设计 .................................................................................................................... 58
5.3.1 开发环境 ................................................................................................................ 58
5.3.2 实验设计 ................................................................................................................ 58
5.4 实验调试 .................................................................................................................... 61
5.4.1 实验步骤 ................................................................................................................ 61
5.4.2 实验调试及心得..................................................................................................... 61
附录 实验代码 ...................................................................................................................... 67
1
1
实验一
熟悉和理解
Linux
编程环境
1.1
实验目的
熟悉和理解 Linux 编程环境。
1.2
实验内容
(1) 编写一个 C 程序,用 read、write 等系统调用实现文件拷贝功能。命令形
式:copy <源文件名> <目标文件名>。
(2) 编写一个 C 程序,使用图形编程库 (QT/GTK)分窗口显示三个并发进程
的运行(一个窗口实时显示当前系统时间,一个窗口循环显示 0 到 9,一个窗口做
1 到 1000 的累加求和,刷新周期均为 1 秒)。
1.3
实验设计
1.3.1
开发环境
操作系统:Ubuntu 16.04。
Linux 系统内核:4.10.0-28-generic。
1.3.2
实验设计
(1) 对于实验内容“编写 C 程序实现 copy <源文件名> <目标文件名>”:
利用代码在主进程中创建共享内存单循环链表,构造环形缓冲。创建两个进
程 readbuf、writebuf 分别对缓冲区进行读和写,从而实现文件的复制。
在主进程中,需要实现以下操作:为缓行缓冲链表定义 buffer_node 节点,
包含大小为 BUFFERSIZE 的数据缓冲区与一个 next 指针;调用系统函数 shmget()
从系统内存申请 BLOCKSIZE 个大小为 sizeof(buffer_node)的共享内存组,在每
块内存申请后调用系统函数 shmat()将内存区域映射为 buffer_node 节点,将
BLOCKSIZE 个节点的 next 指针相连构成环形缓冲区;调用系统函数 semget()创
建包含 0 号、1 号两个信号灯信号灯集;因为信号灯所需要的初值即共享缓冲区
的个数,调用系统函数 semctl()分别对 0 号信号灯赋值 BUFFERSIZE、对 1 号信
2
号灯赋值 0;调用系统函数 fork()创建 subp_readbuf、subp_writebuf 两个子进程;
调用系统函数 waitpid()等待两个子进程结束;调用系统函数 semctl()和 shmctl()
分别删除信号灯集和共享内存组;调用系统函数 semdt()解除共享内存的映射。
主进程的流程图如图 1.1 所示。
图 1.1 主进程流程图
在用于写缓冲区的子进程 writebuf 中,需要实现以下操作:调用系统函数
open()打开待复制的文件;调用实验二中的 P 函数对 0 号信号灯进行 P 操作,抢
夺到信号灯后调用系统函数 read 从文件中读出 BUFFERSIZE 大小的数据并写入
缓冲区节点中,返回成功写入的数据字节数,若写入字节与最大可写入字节不等,
判断为写入了最后一段数据,为这个节点置结尾标志为最后写入的字节数并结束
进程,调用实验二中的 V 函数对 1 号信号灯进行 V 操作。子进程 writebuf 流程
图如图 1.2 所示。
剩余110页未读,继续阅读
郑瑜伊
- 粉丝: 19
- 资源: 318
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 实验1.1 访问控制列表.topo
- 办公效率:PDF-图片互转工具
- 一天的风格化规范化当时法国是
- 编译原理:正规式转NFA(有穷自动机)
- 通过 Navicat 备份文件读取连接信息和解析密码
- Linux下开箱即用的C++单元测试demo示例,public成员函数单元测试
- 连接Redis服务器 在使用Redis之前,首先需要使用redis-cli工具连接到Redis服务器 redis-cli是Re
- 连接Redis服务器 在使用Redis之前,首先需要使用redis-cli工具连接到Redis服务器 redis-cli是Red
- 连接Redis服务器 在使用Redis之前,首先需要使用redis-cli工具连接到Redis服务器 redis-cli是Red
- redis命令实践 详细教程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0