资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
课程设计报告课程名称操作系统课程设计设计题目网络教学系统专业班级姓名学号指导教师起止时间2010 年 12 月 5 日-24 日成 绩 评 定考核内容设计表现设计报告答辩综合评定成 绩名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 40 页 -电气与信息学院课程设计考核和成绩评定办法1课程设计的考核由指导教师根据设计表现、设计报告、设计成果、答辩等几个方面,给出各项权重,综合评定。该设计考核教研室主任审核,主管院长审批备案。2成绩评定采用五级分制,即优、良、中、及格、不及格。3参加本次设计时间不足三分之二或旷课四天以上者,不得参加本次考核,按不及格处理。4课程设计结束一周内,指导教师提交成绩和设计总结。5设计过程考核和成绩在教师手册中有记载。课程设计报告内容课程设计报告内容、格式各专业根据专业不同统一规范,经教研室主任审核、主管院长审批备案。注:1.课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。2.为了节省纸张,保护环境,便于保管实习报告,统一采用A4 纸,实习报告建议双面打印(正文采用宋体五号字)或手写。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 40 页 -09/10 学年第 2 学期操作系统课程设计任务书指导教师:班级:一、课程设计的目的与要求本课程设计的目的是使课程设计的目的是使学生深刻理解操作系统的基本原理和方法。能够利用所学程序设计的知识和操作系统的原理,解决具体问题,提高学生程序设计的综合能力,为学生后续课程及毕业设计打下良好的基础。要求学生从给定的十个题目中选择至少四个题目进行设计,并给出设计思想、设计规范、算法描述、源程序以及运行示例。二、课程设计的内容与安排1 设计题目(范围)设计一进程调度设计目的:进程管理是操作系统中的重要功能,用来创建进程、撤消进程、实现进程状态转换,它提供了在可运行的进程之间复用CPU的方法。在进程管理中,进程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解,掌握不同调度算法的优缺点。设计题目:第一题:设计一个按先来先服务算法实现处理器调度的程序。第二题:设计一个按时间片轮转法实现处理器调度的程序。第三题:设计一个按优先数调度算法实现处理器调度的程序。第四题:设计一个按多级队列调度算法实现处理器调度的程序。设计二进程同步设计目的:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 40 页 -理解临界区和进程互斥的概念,掌握用信号量和PV操作实现进程互斥的方法。设计题目:在 windows 或者 linux环境下编写一个控制台应用程序,该程序运行时能创建N个线程,其中既有读者线程又有写者线程,它们按照事先设计好的测试数据进行读写操作。用信号量和 PV操作实现读者/写者问题。设计三死锁设计目的:死锁是进程并发执行过程中可能出现的现象,哲学家就餐问题是描述死锁的经典例子。为了防止死锁,可以采用资源预分配法或者资源按序分配法。资源预分配法是指进程在运行前一次性地向系统申请它所需要的全部资源,如果系统当前不能够满足进程的全部资源请求,则不分配资源,此进程暂不投入运行,如果系统当前能够满足进程的全部资源请求,则一次性地将所申请的资源全部分配给申请进程。资源按序分配法是指事先将所有资源类全排序,即赋予每一个资源类一个唯一的整数,规定进程必需按照资源编号由小到大的次序申请资源。设计题目:模拟有五个哲学家的哲学家进餐问题。设计四动态异长分区的存储分配与回收算法设计目的:存储器是计算机系统中的关键资源,存储管理一直是操作系统的最主要功能之一。存储管理既包括内存资源管理,也包括用于实现分级存储体系的外存资源的管理。通常,内存与外存可采用相同或相似的管理技术,如内存采用段式存储管理,则外存也采用段式存储管理。通过本设计理解存储管理的功能,掌握动态异长分区的存储分配与回收算法。设计题目:模拟动态异长分区的分配算法、回收算法和碎片整理算法。设计五虚拟设备设计目的:在网络环境下,连在网络服务器上的打印机要为多个终端服务,每个终端上的用户都可以通过客户端程序向服务器发送打印请求,服务器端的打印请求接收程序接收来自客户端的打印请求,并将该请求存放到磁盘上的打印请求队列中,由服务器端的假脱名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 40 页 -机打印程序在CPU空闲时从打印请求队列中取出请求信息,并将文件输出到打印机中。这种工作方式不是将文件直接输出到打印机,而是先将待打印的文件缓存到磁盘上,然后立即返回用户程序,从而缩短了用户响应时间,为用户提供了虚拟的快速打印机.通过本设计理解虚拟设备的工作原理,理解守护程序的概念。设计题目:利用多线程技术编写假脱机打印程序,并设计测试数据以验证程序的正确性。设计六管道与进程通信设计目的:进程通信是指两个或者多个进程之间交换数据,管道允许进程之间按先进先出的方式传送数据。有两种类型的管道:有名管道和无名管道。有名管道可以使任意两个进程之间进行通信,无名管道只能用在父子进程之间。通过本设计理解进程通信原理,掌握用管道实现进程间通信的方法。设计题目:在 linux环境中利用有名管道实现两个进程之间的通信。设计七嵌入式操作系统下的并发程序设计设计目的:了解嵌入式操作系统的特点,掌握在嵌入式操作系统下进行并发程序设计的方法。设计题目:剖析源码公开的实时嵌入式操作系统内核uC/OS-II;在 uC/OS-II 上开发一个“并发程序设计动态演示系统”,此系统以可视化的方式演示多个任务在不同的优先级、不同的延时时间、不同的运行方式下的不同运行状况。教师可以根据实际情况确定学生独立完成任务个数,题目可参考本大纲中提供的,也可由学生自定,自定的题目须经指导教师批准。2主要技术指标和要求能按题目要求调试出正确的运行结果。3方案选择及工作原理选择不同的设计题目,给出设计方案,正确运行。4设计成果的要求课程设计结束后,要求每个学生上交一份课程设计报告。报告要求包括课程设计任务,设计完成的界面图、源程序清单及课程设计总结等部分。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 40 页 -三、进程安排时间,2010 年 3 月 1 日-2010 年 3 月 5 日。上机时间:周四:7:50-12:00,2:00-16:30 周五:7:50-12:00 周六 7:50-12:00 序号完成内容时间1 设计准备1 天2 按任务要求设计、调试程序,完成报告3 天3 总结和答辩1 天4 合计5 天四、基本要求1明确课程设计任务,提高课程设计认识,严格服从教师安排,不迟到,不早退,不旷课,按时上机;上机时认真做设计,不得做聊天、上网、玩游戏等与课程设计无关的事情,一经发现,经警告不改者,取消上机资格并把其课程设计成绩作零分计。2认真独立完成设计内容,上机前准备程序,做好资料搜集,能够上网查询所需资料;除了上机,其余时间为查找资料和编写程序,要充分利用好时间。3利用面向对象的方法以及VC+或者 JAVA 的编程思想来完成系统的设计,编写程序,调试各模块。4请各位同学携带U 盘等存储设备,每次编写完程序作备份,以防源程序丢失。五、课程设计的成果要求与成绩评定课 程 设 计 结 束 后,要 求 每 个 学 生 上 交 一 份 格 式 规 范 内 容 完 整 的 课 程 设计 报 告。并 能 够 上 机 演 示 程 序 运 行 结 果。根据参加设计平时出勤表现情况、答辩验收情况、设计报告三方面评定给出最后的总成绩。权重比例见下表:成绩评定项目权重1、设计过程中出勤、能力、水平、态度等方面0.4 2、设计报告书写及图纸规范程度0.2 3、答辩0.4 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 40 页 -一、进程调度1、设计目的:进程管理是操作系统中的重要功能,用来创建进程、撤消进程、实现进程状态转换,它提供了在可运行的进程之间复用CPU的方法。在进程管理中,进程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解,掌握不同调度算法的优缺点。2、设计题目设计一个按多级队列调度算法实现处理器调度的程序。3、设计思想设置多个就绪队列,分别赋予不同的优先级,如逐级降低,队列1 的优先级最高。每个队列执行时间片的长度也不同,规定优先级越低则时间片越长,如逐级加倍。新进程进入内存后,先投入队列1 的末尾,按FCFS 算法调度;若按队列1 一个时间片未能执行完,则降低投入到队列2 的末尾,同样按FCFS 算法调度;如此下去,降低到最后的队列,则按“时间片轮转”算法调度直到完成。仅当较高优先级的队列为空,才调度较低优先级的队列中的进程执行。如果进程执行时有新进程进入较高优先级的队列,则抢先执行新进程,并把被抢先的进程投入原队列的末尾。源代码#include stdio.h#include conio.h#include stdlib.h#include malloc.h#include time.h#include windows.h#define null 0#define N 4 int MN=18;struct cpu /就绪队列int time;/时间片数量struct pss*head;struct pss*tail;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 40 页 -;struct pss /进程char name5;int pro_time;/执行时间int l_time;/剩余时间struct pss*next;void gotoxy(int x,int y)COORD c;c.X=x-1;c.Y=y-1;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);void initial(struct cpu cpu_quene)/初始化就绪队列,时间片分别为2 4 8 16 int i,t=2;for(i=0;iname);gotoxy(25,8);printf(请输入处理进程需要的时间:);名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 40 页 -scanf(%d,&p-pro_time);p-l_time=p-pro_time;/剩余时间初始化,初始值为需要时间的值p-next=null;if(cpu_quene0.head=null)cpu_quene0.head=p;cpu_quene0.tail=p;else q=cpu_quene0.tail;cpu_quene0.tail=p;q-next=p;void osdelay(int n)int a,i,m;m=500*n;a=clock();for(i=0;i+)if(clock()-a=m)break;void print(struct cpu cpu_quene)struct pss*p;gotoxy(23,5);p=cpu_quene0.head;printf();gotoxy(23,5);while(p!=null)printf(%s%d,p-name,p-l_time);p=p-next;gotoxy(23,7);p=cpu_quene1.head;printf();gotoxy(23,7);while(p!=null)printf(%s%d,p-name,p-l_time);名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 40 页 -p=p-next;gotoxy(23,9);p=cpu_quene2.head;printf();gotoxy(23,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号