好文档 - 专业文书写作范文服务资料分享网站

华科操作系统实验

天下 分享 时间: 加入收藏 我要投稿 点赞

课 程 实 验 报 告

课程名称:

操作系统课程设计

专业班级: 学 号: 姓 名: 指导教师: 报告日期:

计算机科学与技术学院

1

目录

实验1:进程并发实验 ................................................................................................................... 1

1.1 实验概述 .......................................................................................................................... 1 1.2 实验内容 .......................................................................................................................... 1 1.3 实验设计 .......................................................................................................................... 1 1.4 实验过程 .......................................................................................................................... 2 1.5实验结果 ........................................................................................................................... 6 1.6实验小结 ........................................................................................................................... 7 实验2:添加系统功能调用 ........................................................................................................... 8

2.1 实验概述 .......................................................................................................................... 8 2.2 实验内容 .......................................................................................................................... 8

2.2.1 阶段1 添加源代码 .............................................................................................. 8 2.2.2 阶段2 连接新的系统功能调用 .......................................................................... 9 2.2.3 阶段3 重建内核 ................................................................................................ 10 2.2.4 阶段4 修改grub文件 ..................................................................................... 13 2.3 实验小结 ........................................................................................................................ 14 实验3:添加设备驱动程序 ......................................................................................................... 15

3.1 实验概述 ........................................................................................................................ 15 3.2 实验内容 ........................................................................................................................ 15

3.2.1 阶段1 编写设备驱动程序 ................................................................................ 15 3.2.2 阶段2 编译设备驱动模块 ................................................................................ 16 3.2.3 阶段3 加载设备驱动模块 ................................................................................ 17 3.2.4 阶段4 生成设备文件 ........................................................................................ 18 3.2.4 阶段5 编写应用程序测试 ................................................................................ 18 3.3实验小结 ......................................................................................................................... 19 实验总结 ........................................................................................................................................ 20

2

实验1: 进程并发实验

1.1 实验概述

通过本次进程并发实验,让同学更加熟悉和理解Linux编程环境。

1.2 实验内容

本次实验的内容主要分为两个任务:

1.编写一个C程序,用read、write等系统调用实现文件拷贝功能。命令形式:copy <源文件名> <目标文件名>

2. 编写一个C程序,使用图形编程库 (QT/GTK)分窗口显示三个并发进程的

运行(一个窗口实时显示当前系统时间,一个窗口循环显示0到9,一个窗口做1到1000的累加求和,刷新周期均为1秒)。

1.3 实验设计

任务1:实验1的第一个阶段需要实现一个简单的C语言程序,首先需要有一个复制的源文件,同时需要创建一个存放复制内容的复制文件,文件复制传输的中间站可以设置一个缓冲数组,此次试验设计了一个大小为10个字节的数组。打开复制源文件,返回一个INT标识,使用readbuf()函数,每次读取10个字节的内容,将内容存放到缓冲区数组,使用writebuf()函数将缓冲区的10个字节写到复制文件中,重复上述过程直到将整个复制过程完成。

任务2:实验的第二个阶段是实现进程的同步,实现的工具是QT。主要实现3个进程的同步,3个进程分别为:实时显示系统时间、循环显示0-9、显示1-1000的累加和。以上程序的刷新时间设置为1秒钟。使用的是c++编程语言。为了实现3个进程。需要为这3个进程分别创建3个不同的类,这3个不用的类具有不同的成员函数,使用成员函数来实现进程的所代表的具体细节。为了实现进程的结果能实时更新,需要调用connect()函数,该函数的功能是每当其中的timer每次发生变化时,就回调用该类的成员函数,也就是进程的具体实现,从而实时显示进程的细节内容。而3个进程的实现是在Main中创建3个类,对应3个进程,调用类的一些函数实现进程并发。

1

1.4 实验过程

给出实验过程的详细描述,分步骤说明实验的具体操作过程 任务1。

1.首先需要有复制源文件和复制目的文件,具体实现方式如图1-1所示。

图 1-1 打开文件

分别以只读和只写的方式将文件打开。

2.创建缓冲区,大小为10个字节的数组。如图1-2所示。

图 1-2 创建缓存区

3.通过循环读写的方式实现文件的复制,如图1-3所示。

图 1-3 文件复制

4.关闭文件。

5.其中的writebuf和readbuf是自己编写的一个读和写的函数,调用的是read和write函数。如图1-4所示。

图 1-4 读写函数

任务2。

1.首先根据3个不同的进程创建3个不同的类。如图1-5,图1-6,图1-7所示。

2

图 1-5 进程1

图 1-6 进程2

图 1-7 进程3

2.分别为这3个类编写其对应的成员函数,实现进行的具体功能。具体实现如图1-8,图1-9,图1-10所示。

3

华科操作系统实验

课程实验报告课程名称:操作系统课程设计专业班级:学号:姓名:
推荐度:
点击下载文档文档为doc格式
3htuf1kwjo7b3ef97wu606i7k4fff900zd3
领取福利

微信扫码领取福利

微信扫码分享