操作系统课程设计题目详细说明 下载本文

题目19:文件系统2—hash结构文件(2个人一组) 1、设计目的:

理解Linux文件系统的内部技术,掌握Linux与文件有关的系统调用命令,并在此基础上建立面向随机检索的hash结构文件 2、设计内容:

(1)参考hash文件构造算法,设计一组hash文件函数,包括hash文件创建、打开、关闭、读、写等操作。

(2)编写一个测试程序,通过记录保存、查找、删除等操作,检查上述hash文件是否实现相关功能。

题目20:设备管理—linux设备驱动程序安装 1、设计目的

认识Linux设备的种类和设备工作方式,理解设备驱动程序的工作原理,掌握设备驱动程序的编写规范,能编写并安装简单的设备驱动程序。 2、设计内容

在Linux系统中,编写一个简单的字符型设备驱动程序模块,设备具有独占特性,可执行读和写操作,相关系统调用为open,close,read,write。Open和close分别相当于请求和释放设备,read和write将内容保存在设备模块内的缓冲区中。设备模块可动态注册和卸载,并建立与之对应的特殊文件/dev/mydev。

题目21:linux进程与线程通讯 1、设计目的:

深刻理解线程和进程的概念,掌握线程和进程在组成成分上的差别以及与其相适应的通信方式和应用目标。 2、设计内容:

以Linux系统进程和线程机制为背景,掌握fork()和clone()系统调用的形式和功能以及与其相适应的高级通信方式。由fork派生的子进程之间通过pipe通信,由clone创建的线程之间通过共享内存通信。

以生产者-消费者为例,通过实验理解fork和clone两个系统调用的区别。程序要求能够创建4个进程或线程,其中包括两个生产者和两个消费者,生产者和消费者之间能够传递数据。

题目22:动态不等长存储资源分配算法 1、设计目的:

理解动态异常存储分区资源管理,掌握所需数据结构和管理程序,了解各种存储分配算法的优缺点。

2、设计内容:

(1)分析Unix最先适应(first fit,ff)存储分配算法。即map数据结构、存储分配函数ma lloc()和存储释放函数mfree(),找出与算法有关的成分。

(2)修改上述算法有关成分,使其分别体现BF(best fit,最佳适应)分配原则WF(worst fit,最坏适应)分配原则。