《《操作系统》综合课程设计教学大纲.docx》由会员分享,可在线阅读,更多相关《《操作系统》综合课程设计教学大纲.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统综合课程设计教学大纲 操作系统课程设计教学大纲 课程类型:专业必修课 学分:0.5 计划周数:1周 预修课程:高级语言程序设计、微机原理、数据结构 开设学期:第四学期 适用专业:计算机科学与技术本科、网络工程本科、软件工程本科 一、课程设计目的与任务 操作系统是一门重要的专业基础课,是涉及较多硬件知识的计算机系统软件课程。在计算机软硬件课程的设置上,它起着承上启下的作用。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,用户在使用计算机时都要得到操作系统提供的服务。操作系统课程设计的主要任务是研究计算机操作系统的基本原理和算法,掌握操作系统的进程管理、存储管理、文
2、件管理和设备管理的基本原理与主要算法。目的是使学生掌握常用操作系统(如DOS、Windows或Linux)的一般管理方法,了解它是如何组织和运作的,对操作系统的核心概念和算法有一个透彻的理解,并对系统运行的机制有一个全面的掌握,从而充分理解系统调用与程序设计之间的关系。 二、课程设计选题 设计项目一:动态资源分配算法演示程序(银行家算法) 内容: 主要用于解决多种资源被多个独立执行的进程共享的安全算法。采用矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免死锁的产生。 要求: 1.资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加进程及其对资源的需求。 2.可读取样例数据
3、(要求存放在外部文件中)进行资源种类、数目与进程数的初始化。 3.在资源分配过程中可以随时进行系统安全状态检测。 4.如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进程满足所有资 源分配后能够自行释放所有资源,退出资源竞争。 5.要求进行安全性检查时按指定策略顺序进行,即按每个进程当前Need数由小至大进 行排序,如果Need数相同,则按序号由小至大进行排序; 6.具有一定的数据容错性。 设计项目二:通用处理机调度演示程序 内容: 设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。 要求: 1.进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态优先权
4、优先调度算法、高响应比调度算法。 2.每一个进程有一个PCB,其内容可以根据具体情况设定。 3.进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设定。 4.可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长度、 作业大小、进程优先级的初始化 5.可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源与进程间的同 步关系,故只有两种状态) 6.采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态及相应的阻 塞队列。 7.有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间。 设计项目三:用多进程同步方法演示“桔子苹果”问
5、题 内容: 有两类生产者,一类负责生产桔子,一类负责生产苹果;有两类消费者,一类负责消费桔子,一类负责消费苹果;他们共享一个有20个存储单元的有界缓冲区,每个存储单元只能放入一种产品(桔子/苹果)。 要求: 1二类生产者与二类消费者数目均为20,即20个生产者负责生产桔子,20个生产者负责生产苹果;20个消费者负责消费桔子,20个消费者负责消费苹果。 2二类生产者的生产速度与二类消费者的消费速度均可独立在程序界面调节,在运行中,该值调整后立即生效。 3多个生产者或多个消费者之间必须有共享对缓冲区进行操作的函数代码,同时需要考虑算法的效率性。 4每个生产者和消费者对有界缓冲区进行操作后,即时显示
6、有界缓冲区的全部内容、当前生产者与消费者的指针位置,以及生产者和消费者线程标识符。 5采用可视化界面,可在运行过程中随时暂停,查看当前生产者、消费者以及有界缓冲区的状态。 设计项目四:存储管理动态分配算法的模拟 内容:设计主界面以灵活选择某算法,且以下算法都要实现:首次适应算法、循环首次适应算法、最佳适应算法; 要求:用一种结构化高级语言构造分区描述器,编制动态分区分配算法和回收算法模拟程序,并掌握分配算法的特点,提高编程技巧和对算法的理解和掌握。 设计项目五:存储管理之虚拟存储器实现(页面置换算法) 内容:编程序实现先进先出算法(FIFO)、最近最久未使用算法(LRU)算法、最佳置换算法(O
7、PT)的具体实现过程,并计算访问命中率。 要求: 1.设计主界面以灵活选择某算法,且以上算法都要实现。 2. 用随机数方法产生页面走向。 3. 假定初始时页面都不在内存。 设计项目六:文件系统设计 内容:以内存作为存储区,模拟UNIX的文件系统结构,设计一个简单的文件系统,并提供以下的文件和目录操作接口:创建文件、删除文件、打开文件、关闭文件、 读文件、写文件。 要求:设计文件系统的数据结构和数据结构间的关系,设计文件的基本操作算法,完成系统的总控模块编程和各个操作模块编程。上机测试各个模块,没执行一个 操作,打印有关数据结构的内容,判断操作的正确性。 设计项目七:编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度。 内容:设计一个磁盘调度系统,针对磁盘访问序列,可以选择先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)、循环扫描算法(CSCAN)来实现。 要求: 1.系统主界面可以灵活选择某种算法。 2.每种调度算法实现之后,要计算出每种算法的平均寻道长度,并比较结果。 3.采用改进算法之后是否会使性能提高? 设计项目八: 内容:在Windows环境下,编程实现基于共享内存的多个进程间通信。 要求:(1)当两个进程通信时需满足进程同步机制。 (2)当多个进程(大于2)通信时需使用信号量机制实现互斥操作。 (3)编程语言不限。
限制150内