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

发布 2022-10-05 13:45:28 阅读 2084

厦门理工学院课程设计教学大纲。

课程设计名称:计算机操作系统课程设计学分:1

课程设计时间: 12.27-12.31课程设计年级:09网络工程。

课程设计学时或周数: 1 周课程设计专业: 网络工程。

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

为了使计算机专业的学生,更好地理解和掌握操作系统课程的理论知识,概念和方法,并以此为基础,对操作系统实现技术作进一步剖析。通过对各种管理技术模拟,进一步培养学生软件开发能力。

二、选题的原则及题目难度、深度、广度分析。

1.在满足教学要求和对学生技能训练的前提下,尽可能结合实际问题选题。

2.选题的难易程度要适当,以学生在规定时间内经过努力可以完成为宜。

3.以在老师给定的题目中选择为主,也可由学生自行命题为辅(教师认可)。

三、课程设计内容 (每题3-4人)

题目1:进程调度算法。模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解,掌握不同调度算法的优缺点。

题目2:读者/写者问题与进程同步。理解临界区和进程互斥的概念,掌握用信号量和pv操作实现进程互斥的方法。要求学生用信号量和pv操作实现。

题目3:哲学家就餐问题与死锁。要求学生设计哲学家就餐程序,该程序能演示哲学家死锁情况,也能演示采用死锁预防方法解除死锁的情况。

题目4:动态分区的存储分配与**算法。编写一个程序,模拟操作系统对动态分区的存储分配与**算法。

题目5:假脱机打印程序与虚拟设备。设计一个程序模拟虚拟设备的工作原理。

题目6:管道与进程通信。理解进程通信原理,掌握用管道实现进程间通信的方法。

题目7: 实现银行家算法。设计一个程序模拟银行家算法的工作原理。

四、课程设计时间进程表。

五、课程设计成绩的评定方法及评分标准。

1.程序设计的可用性,实用性,通用性,可扩充性(程序设计源**)(30%)

2.学生的动手能力,创新精神(10%)

3.程序设计说明书(40%)

4.平时成绩(20%)

拟稿(签名2024年 12 月 10日。

核对(签名年月日。

审批(签名年月日。

六、报告书写格式。

学生成成绩管理系统说明书。

系(部)计算机系专业班级学号。

设计者指导教师

一、设计课题名称。

二、设计时间。

起始时间2024年 12月27日。

完成时间2024年 12月31日。

三、系统说明。

内容包括:题目。

系统功能模块结构图。

程序结构(画流程图)

各模块的功能。

试验结果(包括输入数据和输出结果)

体会。参考文献。

附录:程序清单及说明书。

附录、参考资料。

参考说明:操作系统是一门实践性很强的课程,不仅要学习书本上的理论,而且必须动手实践才能对操作系统基本原理真正理解。本课程设计中的题目能加深学生对教学内容的理解,培养学生初步掌握操作系统基本功能的设计方法及其实现过程。

设计中的每个题目都有明确的目的,并有详细的提示,指导学生如何实现操作系统功能。本设计共有如下七个题目: 进程调度,进程同步,死锁,动态异长分区的存储分配与**算法,虚拟设备,管道与进程通信,银行家算法的程序设计。

设计一进程调度。

设计目的:进程管理是操作系统中的重要功能,用来创建进程、撤消进程、实现进程状态转换,它提供了在可运行的进程之间复用cpu的方法。在进程管理中,进程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进程优先占用处理器。

本实验模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解,掌握不同调度算法的优缺点。

设计题目:第一题:设计一个按先来先服务算法实现处理器调度的程序。

第二题:设计一个按时间片轮转法实现处理器调度的程序。

第三题:设计一个按优先数调度算法实现处理器调度的程序。

第四题:设计一个按多级队列调度算法实现处理器调度的程序。

设计二进程同步。

设计目的:理解临界区和进程互斥的概念,掌握用信号量和pv操作实现进程互斥的方法。

设计题目:在windows或者linux环境下编写一个控制台应用程序,该程序运行时能创建n个线程,其中既有读者线程又有写者线程,它们按照事先设计好的测试数据进行读写操作。用信号量和pv操作实现读者/写者问题。

设计三死锁。

设计目的:死锁是进程并发执行过程中可能出现的现象,哲学家就餐问题是描述死锁的经典例子。为了防止死锁,可以采用资源预分配法或者资源按序分配法。

资源预分配法是指进程在运行前一次性地向系统申请它所需要的全部资源,如果系统当前不能够满足进程的全部资源请求,则不分配资源, 此进程暂不投入运行,如果系统当前能够满足进程的全部资源请求, 则一次性地将所申请的资源全部分配给申请进程。资源按序分配法是指事先将所有资源类全排序, 即赋予每一个资源类一个唯一的整数,规定进程必需按照资源编号由小到大的次序申请资源。

设计题目:模拟有五个哲学家的哲学家进餐问题。

设计四动态异长分区的存储分配与**算法。

设计目的:存储器是计算机系统中的关键资源,存储管理一直是操作系统的最主要功能之一。存储管理既包括内存资源管理,也包括用于实现分级存储体系的外存资源的管理。

通常,内存与外存可采用相同或相似的管理技术,如内存采用段式存储管理,则外存也采用段式存储管理。 通过本设计理解存储管理的功能,掌握动态异长分区的存储分配与**算法。

设计题目:模拟动态异长分区的分配算法、**算法和碎片整理算法。

设计五虚拟设备。

设计目的:在网络环境下,连在网络服务器上的打印机要为多个终端服务,每个终端上的用户都可以通过客户端程序向服务器发送打印请求,服务器端的打印请求接收程序接收来自客户端的打印请求,并将该请求存放到磁盘上的打印请求队列中,由服务器端的假脱机打印程序在cpu空闲时从打印请求队列中取出请求信息,并将文件输出到打印机中。这种工作方式不是将文件直接输出到打印机,而是先将待打印的文件缓存到磁盘上,然后立即返回用户程序,从而缩短了用户响应时间,为用户提供了虚拟的快速打印机。

通过本设计理解虚拟设备的工作原理,理解守护程序的概念。

设计题目:利用多线程技术编写假脱机打印程序,并设计测试数据以验证程序的正确性。

设计六管道与进程通信。

设计目的:进程通信是指两个或者多个进程之间交换数据,管道允许进程之间按先进先出的方式传送数据。有两种类型的管道:

有名管道和无名管道。有名管道可以使任意两个进程之间进行通信,无名管道只能用在父子进程之间。 通过本设计理解进程通信原理,掌握用管道实现进程间通信的方法。

设计题目:在linux环境中利用有名管道实现两个进程之间的通信。

设计七银行家算法的程序设计。

设计目的:了解银行家算法的特点,掌握避免死锁的方法。

设计题目:通过研究linux的线程机制和信号量实现银行家算法的并发控制避免死锁。

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

操作系统课程设计 教学大纲。课程编号 00690060 课程类型 必修课。学分 周 1 1 适用专业 计算机科学与技术专业。先修课程 操作系统。一 内容简介。本课程设计目的是使学生通过课程设计进一步加深对操作系统的基本原理及实现技术的掌握和理解。使用高级程序设计语言进行操作系统中的典型算法的模拟实现...

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

课程编号 806302026 课程名称 操作系统课程设计。英文名称 operating system 设计周数 1 学分 1 开设学期 第5学期。适用专业 计算机科学与技术专业本科生。先修课程 计算机导论 c 语言程序设计 数据结构 计算方法 微机原理 汇编语言。一 目的和意义。本课程是学完 操作系...

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

课程名称 操作系统课程设计 operating system curriculum design 课程编码 学分 1 总学时 1周。适用专业 计算机科学与技术专业。先修课程 程序设计语言基础 操作系统。一 课程设计教学目的及基本要求。1 掌握操作系统基本理论与管理方式。2 掌握以编写程序的方法与操作...