欢迎来到天天文库
浏览记录
ID:11792794
大小:166.00 KB
页数:27页
时间:2018-07-14
《操作系统课程设计指导》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、操作系统课程设计指导9一、本课程的教学目的及基本要求1、教学目的操作系统课程设计是操作系统课程的重要实践环节,是操作系统课程内实验的有益补充,它旨在培养学生的实践能力,促进理论与实践的结合。要求学生通过上机编程,了解如何模拟操作系统原理的实现,从而加深对操作系统原理的领会,加深对操作系统实现方法的理解,与此同时使学生在程序设计方面也能够得到很大程度的提高。操作系统虽然是理论性很强的课程,但是仅仅是课堂讲授是绝对不够的,操作系统课程设计即是课堂教学基础上的实践环节,其重要程度决不亚于课堂的知识传授。本课程设计的目的和任务是在课堂教学的基础上,使学生对操作系
2、统运行机制有一个全面的认识和理解,锻炼学生的抽象思维、逻辑思维和实际动手能力,培养操作系统等大型系统程序的使用者、管理者、分析员和设计人才。促进理论与实践的结合,使学生在系统程序设计方面能够得到很大程度的提高。先修课程:数据结构,操作系统。2、教学基本要求要求学生通过上机编程,使学生对操作系统运行机制有一个全面的认识和理解,通过模拟文件系统及内存管理系统,锻炼学生的逻辑思维和实际动手能力,培养操作系统等大型系统程序的使用者、管理者、分析员和设计人才。促进理论与实践的结合,使学生在系统程序设计方面能够得到很大程度的提高。课程设计基本要求:1)掌握课堂教学内
3、容,主要包括:(1)掌握操作系统四大资源管理的理论知识;(2)熟悉Linux或UNIX文件系统的结构;(3)使用编程语言实现课程设计题目要求的功能。2)根据课程设计题目,按以下步骤进行:(1)问题分析,理解问题,明确设计要求;(2)根据要求进行概要设计和详细设计;(3)编码实现、上机调试,数据测试;(4)完成课程设计实习报告。9二、操作系统课程设计题目1、实现一个进程管理子系统【问题描述】在Linux/UNIX/Windows下编制一个程序,模拟实现一个简单的进程管理子系统,它由进程建立模块、进程撤消模块、进程控制表组成,(此外还可能包括选作的进程切换和
4、调度模块)。【设计要求】该子系统接收新进程建立请求的方式是循环显示“请输入新命令行”,然后根据用户键入内容启动相应进程,其后不等待子进程结束,马上显示下一个“请输入新命令行”如此循环往复。当建立进程时,相应读写进程控制表,然后借助底层环境OS中象fork和exec这样的函数将新进程投入运行(这与底层环境的实际OS不同,实际OS将新进程投入运行时要布置现场,最后时程序技术器寄存器)。进程撤消时,利用底层OS的wait()从子进程回到本子系统,相应修改PCB。比较该子系统与实际系统中的相应功能的异同与差距,尤其在现场保存与恢复方面的比较。2、实现一个进程管理
5、子系统(实现进程切换)【问题描述】在Linux/UNIX/Windows下编制一个程序,模拟实现一个简单的进程管理子系统,它由进程建立模块、进程撤消模块、进程控制表组成,(此外还可能包括选作的进程切换和调度模块)。【设计要求】在1题的基础上,进一步可选做模拟实现进程切换。希望能实现时间片满或接到sleep调用(或信号时)进行进程切换(选择其一即可)。若要实现时间片,假设时间片为1秒钟,设定底层环境OS每个1秒向该系统发一个信号,本子系统将本子系统的进程切换和调度模块设定为该信号的处理程序。或者每当接到子进程发出的的sleep调用(或信号)时进行进程9切换
6、,这里子进程发出的sleep调用(或信号)代表实际系统中可能发生的sleep()调用、等待某一时间发生等情况,进程调度采用简单的FIFO算法。(本题作为一道思考选作实验题:由于是在实际OS中模拟实现,故子系统无法完全控制其建立的所有子进程的进程状态变化,象当前进程这样的概念都不太好模拟,需要设法解决或假设。)3、进程调度算法模块【问题描述】编制一个进程调度算法模块。进程调度是处理机管理的核心内容。本设计要求用C语言编写和调试一个简单的进程调度程序。通过设计本可以加深理解有关进程控制块、进程队列的概念,并体会和了解最高优先数优先的调度算法(即把处理机分配给
7、优先数最高的进程)和先来先服务算法的具体实施办法。【设计要求】(1)进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。(2)每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。(3)进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。(4)每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。(5
8、)就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。如果运
此文档下载收益归作者所有