没有合适的资源?快使用搜索试试~ 我知道了~
CS1807-U201814745-朱槐志2
需积分: 0 0 下载量 103 浏览量
2022-08-03
12:54:50
上传
评论
收藏 1.71MB PDF 举报
温馨提示
试读
60页
1.3.1 1.3.2 1.4.1 1.4.2 2.1 实验目的 17 2.2 实验内容 17 2.3 实验设计 17 2.3.1 开发环境 17 2.3.2
资源详情
资源评论
资源推荐
操作系统原理课程设计报告
姓 名:
朱槐志
学 院:
计算机科学与技术学院
专 业:
计算机科学与技术
班 级:
CS1807
学 号:
U201814745
指导教师:
胡贯荣
2021 年 4 月 2 日
分数
教师签名
目 录
1 实验一 Linux 用户界面的使用 .............................................. 1
1.1 实验目的 ....................................................................................................................... 1
1.2 实验内容 ....................................................................................................................... 1
1.3 实验设计 ....................................................................................................................... 1
1.3.1 开发环境 ................................................................................................................... 1
1.3.2 实验设计 ................................................................................................................... 1
1.4 实验调试 ....................................................................................................................... 3
1.4.1 实验步骤 ................................................................................................................... 3
1.4.2 实验调试及心得 ....................................................................................................... 3
附录 实验代码 ......................................................................................................................... 4
Task1 ......................................................................................................................................... 4
Task2 ......................................................................................................................................... 5
2.实验二 增加系统调用 ................................................................. 17
2.1 实验目的 ........................................................................................................................... 17
2.2 实验内容 ........................................................................................................................... 17
2.3 实验设计 ........................................................................................................................... 17
2.3.1 开发环境 ....................................................................................................................... 17
2.3.2 实验设计 ....................................................................................................................... 18
2.4 实验调试 ..................................................................................................................... 18
2.4.1 实验步骤 ....................................................................................................................... 18
2.4.2 实验调试及心得 ........................................................................................................... 20
附录 实验代码 ....................................................................................................................... 20
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 实验调试及心得 ..................................................................................................... 25
附录 实验代码 ....................................................................................................................... 27
4 实验四 /proc 文件分析.......................................................... 34
4.1 实验目的 ........................................................................................................................... 34
4.2 实验内容 ........................................................................................................................... 34
4.3 实验设计 ..................................................................................................................... 34
4.3.1 开发环境 ................................................................................................................. 34
4.3.2 实验设计 ................................................................................................................. 34
4.4 实验调试 ..................................................................................................................... 35
4.4.1 实验步骤 ................................................................................................................. 35
4.4.2 实验调试及心得 ..................................................................................................... 37
附录 实验代码 ....................................................................................................................... 39
1
1 实验一 Linux 用户界面的使用
1.1 实验目的
正文统一采用小四号宋体/Times New Roman 和 1.25 倍行距。
1.2 实验内容
➢ 编一个 C 程序,其内容为实现文件拷贝的功能。基本要求:使用系统调
用 open/read/write...;
选择:容错、cp。
➢ 编一个 C 程序,其内容为分窗口同时显示三个并发进程的运行结果。要
求用到 Linux 下的图形库。 (gtk/Qt)
基本要求:三个独立子进程,各自窗口显示;
选择:三个进程誊抄演示。
1.3 实验设计
1.3.1 开发环境
WSL(Windows Subsystem for Linux)
OS:Ubuntu 20.04.1 LTS x86_64
Kernel: 5.9.9silence2.0Yoga2021-standard
Shell: bash 5.0.17
宿主机:
系统:Windows10 家庭中文版,64 位操作系统,基于 x64 的
版本号: 2004
处理器:11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
内存:16.0GB( 15.8 GB 可用)
1.3.2 实验设计
1)了解 read,write,open 系统调用函数的使用
2
Write 系统调用函数原型:
size_t write(int flides, const void *buf, size_t nbytes);
它接受三个参数,第一个参数是文件的文件描述符,第二个参数是缓冲区的地址,
第三个参数是要写入的字节个数。它能把缓冲区 buf 中的前 nbytes 字节写入到
与文件描述符 flides 有关的文件中,并返回实际写入到文件中的字节数。
Read 系统调用函数原型:
size_t read(int flides, void *buf, size_t nbytes);
它接受三个参数,与 write 完全相同,只不过它是从与文件描述符 flides 相关联
的文件中读取前 nbytes 字节的内容,并写入到数据区 buf 中。read 系统调用返回
的是实际读入的字节数。
Open 系统调用函数原型:
int open(const *path, int oflags);
将准备打开的文件或是设备的名字作为参数 path 传给函数,oflags 用来指定文
件访问模式。open 系统调用成功返回一个新的文件描述符,失败返回-1。
int open(const *path, int oflags, mode_t mode);
在前一种调用方式上加上了第三个参数 mode,主要搭配 O_CREAT 使用,这个
参数规定了属主、同组和其他人对文件的文件操作权限。
2)task1 设计
函数接受三个参数,第一个参数默认为编译后程序名,第二个参数是已经存
在的源文件文件名,第三个参数是目标文件名。因为没有指定文件路径,所以需
要把编译后的程序和源文件,目标文件放在同一目录下。
首先判断命令行参数个数,如果不等于三,则输出:参数错误,直接返回。
参数个数正确后,以只读打开源文件,如果打开失败,则输出:要复制的源文件
不存在!直接返回。
然后打开用 creat 系统调用函数以只写方式打开目标文件,这样无论目标文
件存不存在都能成功打开并返回文件描述符。
接着循环从源文件中读取字节写到缓冲区中,再从缓冲区中读取字节写入到
目标文件中。一次循环读取 1024 个字节。当 read 返回值小于等于 0 的时候循环
退出,即复制文件结束。
3)task2 设计
我一共做了三个并发进程,通过 fork()来实现。分别显示斐波那契数列的当
前值,1-1000 累积动态求和,显示当前时间。其主要的实现过程就是去获取 Linux
剩余59页未读,继续阅读
chenbtravel
- 粉丝: 18
- 资源: 296
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0