2013操作系统课程大作业

更新时间:2023-07-18 00:17:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

南开大学

2013年操作系统大作业题目

1. (起评分75分)动态分区存储分配方案实现模拟练习。

假设一个系统的初始态下,可用内存空间为640K,并全部为空闲。现有下列请求序列发生,请分别用最先适应算法和最佳适应算法为作业分配和回收内存块,并编程模拟分配回收过程,程序运行时要显示出每次分配和回收后的空闲分区链的情况以及内存占用情况图(哪个作业占用、起始地址和终止地址)。

作业1申请130K

作业2申请60K

作业3申请100k

作业2释放60K

作业4申请200K

作业3释放100K

作业1释放130K

作业5申请140K

作业6申请60K

作业7申请50K

作业6释放60K

实验要求:

给出相关数据结构的定义和详细说明;

给出实现思想和设计流程;

调试完成的源程序以及适当注释;

运行结果;

最后需提交的内容包括:源程序(关键代码需要注释说明)、可运行程序、算法思路及流程图、心得体会。

编程工具及操作系统平台不限。

2、(起评分80分)写一个Linux虚拟字符设备驱动程序。

主要思想是在内核空间申请一块内存(静态或者动态内存),并假设它是一个字符设备。通过编写相应的驱动函数来操作这个“虚拟字符设备”。这样就可以避免与硬件相关的具体细节,达到简化程序编写的目的。主要要实现的目标如下:

实现对该“虚拟字符设备”read、write、ioctl(清零命令)等基本操作

要求实现基本的并发控制, 实现异步IO。

通过模块加载的方式添加该模块到内核中

要求在Linux或Unix操作系统平台下用C语言实现。

要求详细的代码注释、设计文档、编译运行方式、运行平台、对该驱动程序的测试方式、你的测试用例

可附加你的对内核编程的心得体会。

3、(起评分85分)编写虚拟文件管理系统。

通过一个文件或者内存空间来虚拟一块“硬盘”,给这个“硬盘”编写一个虚拟文件系统,虚拟linux/unix文件系统的操作和管理。进一步熟悉操作系统中文件系统部分的原理以及linux/unix文件系统的管理方式。

南开大学

需要实现的功能有: 用户登录:需要正确的用户名、密码,方可登录系统。 文件操作:包括文件的创建、读取、存储、删除等操作 目录操作:包括目录的创建(mkdir)、删除(rmdir),进入目录(cd),列出目

录文件(ls)等操作

要求在Linux或Unix操作系统平台下用C语言实现。

要求详细的代码注释、设计文档、编译运行方式、运行平台、对该驱动程序的测

试方式、你的测试用例

可附加你的对内核编程的心得体会。

说明:必须采用linux/unix的文件管理方式,需要实现超级块、索引节点、目录等数据结构。使用C/C++编程,在linux或者Windows环境中编程均可。可以参考linux文件系统相关源码

大作业完成要求:

1) 以上题目任选其中一个完成,可以是一人独立完成也可以是以小组形式完成。若以小

组方式完成,组内最多不能超过3人,而且要求有明确的分工和任务,在提交文档和作业内容时给出明确说明。

2) 题目中给出的起评分是指:完成题目中要求的任务和基本功能可获得的分数,若没有

完成题目要求则不能给起评分,完成的比较出色的给予加分。

3) 要求学生独立完成作业及编程,严禁同学间或从网络上直接抄袭,发现有此类现象者

将记0分。

4) 以小组形式提交的作业,每个人的具体分工和工作量将作为基本评分值,并且组内只

有一人可拿到本题目的最高分。

5) 提交作业时,要保证所完成的程序可以现场编译、运行,同时要提交相应的设计说明

文档和程序运行说明文档,可以现场回答老师的有关提问。这些也属于作业评分的内容。

6) 本大作业从现在布置,到本学期的第15周结束(12月15日)期间为设计、编程、调试

及写文档阶段,从第16周开始为提交作业时间。鼓励提早完成并保证质量的提交大作业,并酌情予以加分。本次大作业的最后提交时间为2013年12月22日,过期不交者将按0分记。

本文来源:https://www.bwwdw.com/article/4w81.html

Top