《操作系统课程设计》参考题目

发布 2022-10-05 13:53:28 阅读 3278

《操作系统课程设计》教学大纲。

课程编号:2214020

课程类型:专业必修课。

学分:0.5

计划周数:1周。

预修课程:高级语言程序设计、原理、数据结构。

开设学期:第四学期。

适用专业:计算机科学与技术本科、网络工程本科、软件工程本科。

一、课程设计目的与任务。

操作系统》是一门重要的专业基础课,是涉及较多硬件知识的计算机系统软件课程。在计算机软硬件课程的设置上,它起着承上启下的作用。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要用到操作系统提供的服务。

操作系统课程设计的主要任务是研究计算机操作系统的基本原理和算法,通过实践设计进一步掌握操作系统的进程管理、存储管理、文件管理和设备管理的基本原理与主要算法。目的是使学生掌握常用操作系统(如dos、windows或linux)的一般管理方法,了解组织和运作机制,理解操作系统的核心概念和算法,全面掌握系统运行的机制,从而充分理解系统调用与程序设计之间的关系。

二、设计项目名称与学时分配。

三、课程设计内容及要求。

课程设计地点:逸夫实验楼。

设计项目一:动态资源分配算法演示程序(银行家算法)

内容:主要用于解决多种资源被多个独立执行的进程共享的安全算法。采用矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免死锁的产生。

要求:1.资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加进程及其对资源的需求。

2.可读取样例数据(要求存放在外部文件中)进行资源种类、数目与进程数的初始化。

3.在资源分配过程中可以随时进行系统安全状态检测。

4.如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进程满足所有资源分配后能够自行释放所有资源,退出资源竞争。

5.要求进行安全性检查时按指定策略顺序进行,即按每个进程当前need数由小至大进行排序,如果need数相同,则按序号由小至大进行排序;

6.具有一定的数据容错性。

设计项目二:通用处理机调度演示程序。

内容:设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。

要求:1.进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态优先权优先调度算法、高响应比调度算法。

2.每一个进程有一个pcb,其内容可以根据具体情况设定。

3.进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设定。

4.可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长度、作业大小、进程优先级的初始化。

5.可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源与进程间的同步关系,故只有两种状态)

6.采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态及相应的阻塞队列。

7.有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间。

设计项目三:用多进程同步方法演示“桔子苹果”问题。

内容:有两类生产者,一类负责生产桔子,一类负责生产苹果;有两类消费者,一类负责消费桔子,一类负责消费苹果;他们共享一个有20个存储单元的有界缓冲区,每个存储单元只能放入一种产品(桔子/苹果)。

要求:1.二类生产者与二类消费者数目均为20,即20个生产者负责生产桔子,20个生产者负责生产苹果;20个消费者负责消费桔子,20个消费者负责消费苹果。

2.二类生产者的生产速度与二类消费者的消费速度均可独立在程序界面调节,在运行中,该值调整后立即生效。

3.多个生产者或多个消费者之间必须有共享对缓冲区进行操作的函数**,同时需要考虑算法的效率性。

4.每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前生产者与消费者的指针位置,以及生产者和消费者线程标识符。

5.采用可视化界面,可在运行过程中随时暂停,查看当前生产者、消费者以及有界缓冲区的状态。

设计项目四:存储管理动态分配算法的模拟。

内容:设计主界面以灵活选择某算法,且以下算法都要实现:首次适应算法、循环首次适应算法、最佳适应算法;

要求:用一种结构化高级语言构造分区描述器,编制动态分区分配算法和**算法模拟程序,并掌握分配算法的特点,提高编程技巧和对算法的理解和掌握。

设计项目五:存储管理之虚拟存储器实现(页面置换算法)

内容:编程序实现先进先出算法(fifo)、最近最久未使用算法(lru)算法、最佳置换算法(opt)的具体实现过程,并计算访问命中率。

要求:1.设计主界面以灵活选择某算法,且以上算法都要实现。

2. 用随机数方法产生页面走向。

3. 假定初始时页面都不在内存。

设计项目六:文件系统设计。

内容:以内存作为存储区,模拟unix的文件系统结构,设计一个简单的文件系统,并提供以下的文件和目录操作接口:创建文件、删除文件、打开文件、关闭文件、读文件、写文件。

要求:设计文件系统的数据结构和数据结构间的关系,设计文件的基本操作算法,完成系统的总控模块编程和各个操作模块编程。上机测试各个模块,没执行一个操作,打印有关数据结构的内容,判断操作的正确性。

设计项目七:编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度。

内容:设计一个磁盘调度系统,针对磁盘访问序列,可以选择先来先服务算法(fcfs)、最短寻道时间优先算法(sstf)、扫描算法(scan)、循环扫描算法(cscan)来实现。

要求:1.系统主界面可以灵活选择某种算法。

2.每种调度算法实现之后,要计算出每种算法的平均寻道长度,并比较结果。

3.采用改进算法之后是否会使性能提高?

四、课程设计考核方式,1.随堂表现。

根据是否积极地开展设计、查阅资料、提出问题、调试程序等等内容,给予一定的课堂表现成绩,占总成绩的20%。在规定的设计时间内完成系统设计,进行系统演示和现场的答辩。由同学演示、说明系统的功能、运**况和现存问题,并回答老师的相关提问,任课教师根据学生的答辩表现,系统难、易程度、设计的工作量和实施情况,给予答辩成绩,占总成绩的50%。

2.设计报告。

学生需要根据设计的实施过程撰写详细的设计报告。报告要求**并茂,格式规范,表达清楚,与设计的所有源**一并提交,任课教师根据报告的撰写情况,给予评定,占总成绩的30%。

六、课程设计教材及主要参考书。

1.汤小丹。 梁红兵。 哲凤屏。 汤子瀛《计算机操作系统》.西安:西安电子科技大学出版社,2014.7.

2.梁红兵。汤小丹。汤子瀛。《计算机操作系统》学习指导与题解。西安:西安电子科技大学出版社2013.9.

2.张尧学。宋虹。张高编著。《计算机操作系统教程》.北京:清华大学出版社,2014.1.

4.张尧学。《计算机操作系统教程习题解答与实验指导》(第4版).北京:清华大学出版社,2013.10.

5.陆松年.《操作系统实验教程》.北京:电子工业出版社。2010.3

6.罗宇等编著。《linux操作系统实验教程》。北京:电子工业出版社。

执笔人:李凌云审核人:杨洪勇。

操作系统新课程设计题目

学习完 操作系统 课程,通过一个具体的课程设计实践,可使学生对操作系统原理有更进一步的理解与应用,通过设计对操作系统有一个实现的尝试和创新的思维,同时发挥团队协作精神和个人创造能力。选题 以下可任选一个。分组 每组不可超过四人 包括四个 每组指定一个组长,每人设计系统中的一部分,集体协商整合。组长能...

lly操作系统课程设计题目

操作系统课程设计。一 基本要求。1.每位同学至少完成1个题目。2.程序验收后,要提交如下材料 1 课程设计报告。a4纸打印,同时提交电子版。2 源程序。加注释,参考的模块或 需要加以声明,标注出处。二 题目。1.进程调度算法。编程实现进程调度的基本过程。设计要求 1 能够选择进程调度算法 先来先服务...

2019操作系统课程设计题目

课程设计题目 文件系统的实现。一 实验目的。用c或c 编写和调试一个简单的类linux的文件系统 非可视化界面 模拟文件管理的工作过程。加深理解文件系统的内部功能和内部实现。二 基本要求。使用1m字节内存空间模拟一个磁盘分区,磁盘的存取单元是磁盘块,一个盘块的大小是节,1m字节共有4k个块。2.1 ...