华科操作系统实验

华科操作系统实验

ID:43732018

大小:1.32 MB

页数:22页

时间:2019-10-13

华科操作系统实验_第1页
华科操作系统实验_第2页
华科操作系统实验_第3页
华科操作系统实验_第4页
华科操作系统实验_第5页
资源描述:

《华科操作系统实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程实验报告课程名称:操作系统课程设计专业班级:学号:姓名:指导教师:报告日期:计算机科学与技术学院20目录实验1:进程并发实验11.1实验概述11.2实验内容11.3实验设计11.4实验过程21.5实验结果61.6实验小结7实验2:添加系统功能调用82.1实验概述82.2实验内容82.2.1阶段1添加源代码82.2.2阶段2连接新的系统功能调用92.2.3阶段3重建内核102.2.4阶段4修改grub文件132.3实验小结14实验3:添加设备驱动程序153.1实验概述153.2实验内容153.2.1阶段

2、1编写设备驱动程序153.2.2阶段2编译设备驱动模块163.2.3阶段3加载设备驱动模块173.2.4阶段4生成设备文件183.2.4阶段5编写应用程序测试183.3实验小结19实验总结2020实验1:进程并发实验1.1实验概述通过本次进程并发实验,让同学更加熟悉和理解Linux编程环境。1.2实验内容本次实验的内容主要分为两个任务:1.编写一个C程序,用read、write等系统调用实现文件拷贝功能。命令形式:copy<源文件名><目标文件名>2.编写一个C程序,使用图形编程库(QT/GTK)分窗口显

3、示三个并发进程的运行(一个窗口实时显示当前系统时间,一个窗口循环显示0到9,一个窗口做1到1000的累加求和,刷新周期均为1秒)。1.3实验设计任务1:实验1的第一个阶段需要实现一个简单的C语言程序,首先需要有一个复制的源文件,同时需要创建一个存放复制内容的复制文件,文件复制传输的中间站可以设置一个缓冲数组,此次试验设计了一个大小为10个字节的数组。打开复制源文件,返回一个INT标识,使用readbuf()函数,每次读取10个字节的内容,将内容存放到缓冲区数组,使用writebuf()函数将缓冲区的10个

4、字节写到复制文件中,重复上述过程直到将整个复制过程完成。任务2:实验的第二个阶段是实现进程的同步,实现的工具是QT。主要实现3个进程的同步,3个进程分别为:实时显示系统时间、循环显示0-9、显示1-1000的累加和。以上程序的刷新时间设置为1秒钟。使用的是c++编程语言。为了实现3个进程。需要为这3个进程分别创建3个不同的类,这3个不用的类具有不同的成员函数,使用成员函数来实现进程的所代表的具体细节。为了实现进程的结果能实时更新,需要调用connect()函数,该函数的功能是每当其中的timer每次发生变

5、化时,就回调用该类的成员函数,也就是进程的具体实现,从而实时显示进程的细节内容。而3个进程的实现是在Main中创建3个类,对应3个进程,调用类的一些函数实现进程并发。201.4实验过程给出实验过程的详细描述,分步骤说明实验的具体操作过程任务1。1.首先需要有复制源文件和复制目的文件,具体实现方式如图1-1所示。图1-1打开文件分别以只读和只写的方式将文件打开。2.创建缓冲区,大小为10个字节的数组。如图1-2所示。图1-2创建缓存区3.通过循环读写的方式实现文件的复制,如图1-3所示。图1-3文件复制4.

6、关闭文件。5.其中的writebuf和readbuf是自己编写的一个读和写的函数,调用的是read和write函数。如图1-4所示。图1-4读写函数任务2。1.首先根据3个不同的进程创建3个不同的类。如图1-5,图1-6,图1-7所示。20图1-5进程1图1-6进程2图1-7进程32.分别为这3个类编写其对应的成员函数,实现进行的具体功能。具体实现如图1-8,图1-9,图1-10所示。20图1-8进程显示时间图1-9进程循环显示0-920图1-10进程显示1-1000求和3.在一个入口函数中创建3个不同的

7、子进程,在进程中分别创建对应的类,使用类的方法来实现进程的功能。具体实现如图1-11.图1.11入口函数4.分别为这3个进程设计器对应的显示菜单,其中部分变量可以通过设置参数的方式进行调控。并将进程输出结果与Forms中的UI绑定,在进程结果显示在界面中。201.5实验结果任务1.任务1的内容比较简单,主要使用C语言完成程序的编写,其对应的结果有两种情况,复制成功或者复制失败,从实验1的第一阶段的代码可以看出,失败阶段主要是是因为复制源文件打开失败造成的。下面主要演示完成正确赋值的情况。如图1-12所示。

8、图1-12运行结果图将infile与outfile进行对比如图1-13,图1-14所示。图1-13复制原文件infile图1-14任务1复制输出文件进过对比可以看出,程序运行的结果正确。任务2.任务2需要并发执行3个进程,3个进程分别显示系统当前的时间,1-1000的求和以及循环显示0-9,刷新时间为1秒(1000ms),程序的运行结果如下图1-15所示。图1-15任务2进程运行结果图201.6实验小结本次实验分为2个任务,第

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。