操作系统课程设计任务

上传人:第*** 文档编号:56920915 上传时间:2018-10-17 格式:DOC 页数:67 大小:219KB
返回 下载 相关 举报
操作系统课程设计任务_第1页
第1页 / 共67页
操作系统课程设计任务_第2页
第2页 / 共67页
操作系统课程设计任务_第3页
第3页 / 共67页
操作系统课程设计任务_第4页
第4页 / 共67页
操作系统课程设计任务_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《操作系统课程设计任务》由会员分享,可在线阅读,更多相关《操作系统课程设计任务(67页珍藏版)》请在金锄头文库上搜索。

1、操 作 系 统课课程程设设计计任任务务书书适用专业: 计算机科学技术 网络工程 电 子 专 业 安徽建筑工业学院 电子与信息工程 学院2014 年 6 月- I -前前 言言对计算机科学与技术及相关专业的学生而言,操作系统是一门重要的专业基础课程。要学好操作系统的设计原理,除了听课、看书、做习题外,最好的方法就是在实践中进行,包括使用操作系统、阅读和分析已有操作系统的源代码、自己设计小型系统/模块或模拟算法等。从个人的角度而言,如果能够完成 MINUX 源代码的阅读与分析,这将对掌握操作系统的原理与设计方法不无益处。这里,我没有向大家推荐 Linux 或者 FreeBSD 之类的操作系统(虽然

2、我从 1997 年就一直向学生推荐 FreeBSD) ,是因为这里的阅读源代码的目标是为了掌握操作系统的原理。孟子曰:“富贵不能淫,贫贱不能移,威武不能屈,此之谓大丈夫。 ”我的理解,即使不能够按照孟老夫子的话去做大丈夫,如果能够做到“时髦不能跟”,也就可以做真正的自己了。对我们课程的学习,也就是这个道理吧。操作系统实践,按深度可分为使用级、观察级、系统管理级、源码阅读级和实现级等五个层次。具体地,1. 使用级:是指如何使用操作系统,包括对命令(以及菜单和 shell) 、系统调用和系统文件的使用。2. 观察级:是指通过使用级的接口,从外部观察操作系统的内部工作过程和结构。3. 系统管理级:是

3、指系统或设备的安装、配置和性能调整。- II -4. 源码阅读级:是指对现有操作系统部分内核源代码的阅读。5. 实现级:是指编程模拟实现操作系统某些功能模块。上述五个层次的实践,不同层次的实践者可以根据自己的实际情况自主安排,在本课程设计中,每次有对各个任务的层次明确区分,大家仁者见仁吧。如果可能,给自己创造使用 Unix 或类 Unix 的实现环境。课程设计要求实现以后,应及时写出课程设计报告,报告应包括以下内容:1. 设计目的和内容。2. 程序说明,包括程序结构、各模块的算法。3. 调试正确的源程序。4. 程序运行记录(包括对不同测试数据的运行结果) 。5. 针对实现过程中出现的问题,写出

4、解决办法及对运行结果的分析。本课程设计总体时间为 2 周(包括资料查询、设计准备、实现过程、报告书写) 。由于所有任务均涉及程序设计、数据结构与算法设计、操作系统等课程的多个知识点。- 1 -任务一:进程管理任务一:进程管理一、目的一、目的Windows NT 内核的操作系统是多任务操作系统,对程与线程提供完整支持。本任务意图通过实践掌握进程的基本概念,理解进程控制、进程同步、经典进程的同步问题 、管程机制、进程通信、线程;初步熟悉多进程/多线程编程的特点。二、设计内容二、设计内容1)使用 taskmgr.exe 观察实现环境中的进程信息;2) 编程实现哲学家就餐问题或者读写者问题。三、组织运

5、行要求三、组织运行要求根据本任务的特点、要求和具体条件,宜采用“以学生自主训练为主的开放模式组织教学” 。相关材料可以以书面资料(或电子版本)的形式分发给学生。学生自主练习、提问;教师针对性的辅导。四、编程条件四、编程条件- 硬件环境:Pentium 300MHz 以上的微型计算机;- 操作系统:Windows 2000 或 Windows XP;- 编程环境:Visual C+ 6.0 企业版(算法模拟可以使用其它合适的C/C+编译器或编程环境) 。五、设计步骤五、设计步骤具体步骤如下:1.首先使用 taskmgr.exe 程序观察系统中运行进程的基本信息;2.使用 taskmgr.exe

6、程序观察系统中运行进程的详细信息;3.编码实现哲学家就餐问题或者读写者问题。六、思考题六、思考题- 2 -1.如何编程实现获得进程的详细信息? 2.编码实现哲学家就餐问题时哲学家获取筷子的策略是什么?3.读写者问题的实现中,什么是读者优先,什么是写者优先?七、报告七、报告学生在课程设计结束后必须完成课程设计报告。报告记录应该详细的描述操作过程,并提供操作步骤以及调试程序的源代码。- 3 -任务二:处理机调度任务二:处理机调度一、目的一、目的本任务模拟在单处理机情况下的处理机调度,以期加深了解处理机调度算法;同时,本设计要求编程实现银行家算法,以期加深对避免死锁的理解。二、设计内容二、设计内容1

7、) 使用 taskmgr.exe 观察实现环境中的进程调度情况;2) 编程实现一个调度算法,推荐实现 ELLF 算法。要求给出对随机测试序列能够给出调度次序;3) 编程实现银行家算法,要求在给定资源初始状态后能够动态处理进程的资源分配请求;三、组织运行要求三、组织运行要求根据本任务的特点、要求和具体条件,宜采用“以学生自主训练为主的开放模式组织教学” 。相关材料可以以书面资料(或电子版本)的形式分发给学生。学生自主练习、提问; 四、编程条件四、编程条件- 硬件环境:Pentium 300MHz 以上的微型计算机;- 操作系统:Windows 2000 或 Windows XP;- 编程环境:V

8、isual C+ 6.0 企业版(算法模拟可以使用其它合适的C/C+编译器或编程环境) 。五、思考题五、思考题1.ELLF 算法与 LLF 算法的区别在什么地方?2.安全性检查算法的逻辑基础是什么?六、报告六、报告学生在课程设计结束后必须完成课程设计报告。报告记录应该详细的描述操作过程,并提供操作步骤以及调试程序的源代码。具体报告的书写按照课程设计报告的要求逐项完成。- 4 -任务三:存储器管理任务三:存储器管理一、目的一、目的本设计旨在通过使用操作系统内存分配信息的动态观察以及存储器管理算法的实现,加深对内存分配原理的理解(重点加深对请求式分页存储管理方式的理解) 。同时通过相关算法的实现,

9、熟悉页面置换算法及其性能。二、设计内容二、设计内容1) 使用 taskmgr.exe 观察实验环境中的进程生命周期内系统内存分配变化情况;2) 编程实现请求分页管理方式时的地址变换过程;3) 编程实现 OPT 或者 FIFO 算法4) 编程实现 LRU 算法;三、组织运行要求三、组织运行要求根据本任务的特点、要求和具体条件,宜采用“以学生自主训练为主的开放模式组织教学” 。相关材料可以以书面资料(或电子版本)的形式分发给学生。学生自主练习、提问;教师针对性的辅导。四、编程条件四、编程条件- 硬件环境:Pentium 300MHz 以上的微型计算机;- 操作系统:Windows 2000 或 W

10、indows XP;- 编程环境:Visual C+ 6.0 企业版(算法模拟可以使用其它合适的C/C+编译器或编程环境) 。五、思考题五、思考题1.OPT 算法是否具备实用性?2.OPT 算法与 LRU 算法的区别是什么?3.虚拟存储器的主要特征有哪些?- 5 -六、报告六、报告学生在课程设计结束后必须完成课程设计报告。报告记录应该详细的描述操作过程,并提供操作步骤以及调试程序的源代码。具体报告的书写按照课程设计报告的要求逐项完成。- 6 -任务四:文件管理任务四:文件管理一、目的一、目的本设计旨在通过实践了解文件管理原理与方法,重点加深对外存分配方式和文件空闲存储空间的理解。二、内容二、内

11、容1) 了解使用计算机系统的文件系统的格式;2) 编程实现连续分配、链接分配、索引分配等三种外存分配方式;2) 编程实现空闲表法、位示图法连续分配、成组链接法等三种文件存储空间管理方式三、组织运行要求三、组织运行要求根据本任务的特点、要求和具体条件,宜采用“以学生自主训练为主的开放模式组织教学” 。相关材料可以以书面资料(或电子版本)的形式分发给学生。学生自主练习、提问;教师针对性的辅导。四、编程条件四、编程条件- 硬件环境:Pentium 300MHz 以上的微型计算机;- 操作系统:Windows 2000 或 Windows XP;- 编程环境:Visual C+ 6.0 企业版(算法模

12、拟可以使用其它合适的C/C+编译器或编程环境) 。五、思考题五、思考题1.你使用的计算机系用中,术语文件夹与文件管理中的概念一致?2.连续分配、链接分配、索引分配等三种外存分配方式的特点以及彼此之间的差异是什么?3.空闲表法、位示图法连续分配、成组链接法三种文件存储空间管理方式的特点以及彼此之间的差异有哪些? - 7 -六、报告六、报告学生在课程设计结束后必须完成课程设计报告。报告记录应该详细的描述操作过程,并提供操作步骤以及调试程序的源代码。具体报告的书写按照课程设计报告的要求逐项完成。- 1 -附录一、读写者问题源代码附录一、读写者问题源代码#include “windows.h“#inc

13、lude #include #include #include #include #include #define READER R #define WRITER W#define INTE_PER_SEC 1000#define MAX_THREAD_NUM 64#define MAX_FILE_NUM 32#define MAX_STR_LEN 32int readcount=0;int writecount=0;CRITICAL_SECTION RP_Write;CRITICAL_SECTION cs_Write;CRITICAL_SECTION cs_Read;struct Threa

14、dInfoint serial;char entity;double delay;double persist;/读者优先读者线程/ p 读者线程信息void RP_ReaderThread(void *p)/互斥变量HANDLE h_Mutex;- 2 -h_Mutex=OpenMutex(MUTEX_ALL_ACCESS,FALSE,“mutex for readcount“);DWORD wait_for_mutex; /等待互斥变量所有权DWORD m_delay; /延迟时间DWORD m_persist; /读文件持续时间int m_serial; /线程序号/从参数中获得信息m_

15、serial=(ThreadInfo *)(p)-serial;m_delay=(DWORD)(ThreadInfo *)(p)-delay*INTE_PER_SEC);m_persist=(DWORD)(ThreadInfo *)(p)-persist*INTE_PER_SEC);Sleep(m_delay); /延迟等待printf(“reader thread %d sends the reading require.n“,m_serial);/等待互斥信号,保证对 readcount 的访问、修改互斥wait_for_mutex=WaitForSingleObject(h_Mutex,

16、-1);/读者数目增加readcount+;if(readcount=1)/第一个读者,等待资源EnterCriticalSection(ReleaseMutex(h_Mutex); /释放互斥信号/读文件printf(“reader thread %d begins to read file.n“,m_serial);Sleep(m_persist);/退出线程printf(“reader thread %d finished the reading file.n“,m_serial);/等待互斥信号,保证对 readcount 的访问,修改互斥wait_for_mutex=WaitForSingleObject(h_Mutex,-1);/读者数目减少read

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号