附件四 《操作系统》课程设计任务书.doc

上传人:da****u 文档编号:1181962 上传时间:2018-12-17 格式:DOC 页数:24 大小:121.50KB
下载 相关 举报
附件四 《操作系统》课程设计任务书.doc_第1页
第1页 / 共24页
附件四 《操作系统》课程设计任务书.doc_第2页
第2页 / 共24页
附件四 《操作系统》课程设计任务书.doc_第3页
第3页 / 共24页
附件四 《操作系统》课程设计任务书.doc_第4页
第4页 / 共24页
附件四 《操作系统》课程设计任务书.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、1操作系统课程设计任务书主编:操作系统课程组计算机学院2009 年 6 月 1 日I前言操作系统是计算机系统中的核心系统软件,它负责控制和管理整个系统的资源并组织用户协调使用这些资源,是计算机高效的工作。操作系统课程是计算机科学与技术专业核心课程。由于操作系统是最优秀、最复杂和最庞大的软件之一,所以,真正 领会操作系统课程所介绍的感念、原理、方法和技巧等,是十分困难的。另外,理教过程中,为了使学生能清楚的理解操作系统对各类资源管理的思想和算法,往往采取将整个系统离散化的方式进行讲解,再加上针对算法的安排实验,却能让学生很好的理解各种管理思想和方法。但是,这样一来存在一个突出的问题,学 习中缺少

2、系统的整体感。为了弥补这 种缺憾, 计划中安排了 1.5 周的课程设计。考虑到实验室设备为共享计算机,不能因操作系统课程设而影响其它工作,特选择不会影响整个系统工作的文件系统作为操作系统课程设计的对象。II操作系统课程设计目录第一章 概述 .1第二章 课程设计要求及注意事项 .2第三章 课程设计项目 .3项目一:多线程同步 .3一、生产者-消费者问题 .3二、读者-写者问题的实现 .6项目二:文件管理系统的设计 .8一、子目录管理 .8二、目录项结构 .8三、文件分配表(FAT)作用 .8四、创建文件 .8五、文件复制 .8六、文件头结构 .9七、程序加载方法 .9八、内存驻留(TSR)方法

3、.9第四章 参考文献 .10附录 A 相关 API 函数 .11附录 B 优盘文件系统 .12附录 C 课程设计报告规范 .17附录 D 考核方式 .181第一章 概述操作系统课程是计算机科学与技术专业核心课程。高级语言程序设计、数据结构等课程为其前趋课程。该课程理论性强,难以理解。通过该课程设计,能帮助学生深透理解并真正领会操作系统课程所介绍的感念、原理、方法和技巧,以及操作系统的整体认识。该课程设计为 1.5 周即 45 学时。涉及内容共分十个子任务,其中两个为多线程同步程序设计,八个为文件系统中的子目录管理、目录项结构、文件分配表(FAT)作用、创建文件、文件复制、文件头结构、程序加载方

4、法、内存驻留(TSR)方法。这八个任务对操作系统原理中的文件系统所涉及到的理论知识进行了全面而有机地训练。实现语言为汇编语言或 C 或 VC+等。学生可以根据自己情况选做一个或多个项目进行设计,并已完成个数的多少和质量评定成绩。2第二章 课程设计要求及注意事项设计环境要求:硬件:普通 PC386 以上微机;一张软盘或优盘;系统平台:Windows 2000/XP、Linux;开发语言:C、VC+ 、汇编语言;设计要求:要求每位学生事先准备一张软盘或优盘,题目二设计中针对软盘或优盘进行操作。设计前应复习设计中所涉及的理论知识和算法,针对设计要求完成基本代码编写并完成预习报告、设计中认真调试所编代

5、码并进行必要的测试、记录并分析设计结果,设计后认真书写符合规范格式的设计报告(参见附录 C) ,并要求用正规的课程设计报告纸和封面装订整齐,按时上交。3第三章 课程设计项目项目一:多线程同步一、生产者和消费者问题1、实验目的(1)掌握基本的同步互斥算法,理解生产者和消费者同步的问题模型。(2)了解 Windows 2000/XP 中多线程的并发执行机制,线程间的同步和互斥。(3)学习使用 Windows2000/XP 中基本的同步对象,掌握相应的 API。2、实验要求(1)创建生产者和消费者线程在 Windows2000 环境下,创建一个控制台进程,在此进程中创建 n 个线程来模拟生产者或者消

6、费者。这些线程的信息由本程序定义的“测试用例文件”中予以指定。该文件的格式和含义如下:31 P 32 P 43 C 4 14 P 25 C 3 1 2 4第一行说明程序中设置几个临界区,其余每行分别描述了一个生产者或者消费者线程的信息。每一行的各字段间用 Tab 键隔开。不管是消费者还是生产者,都有一个对应的线程号,即每一行开始字段那个整数。第二个字段用字母P 或者 C 区分是生产者还是消费者。第三个字段表示在进入相应线程后,在进行生产和消费动作前的休眠时间,以秒计时;这样做的目的是可以通过调整这4一列参数,控制开始进行生产和消费动作的时间。如果是代表生产者,则该行只有三个字段。如果代表消费者

7、,则该行后边还有若干字段,代表要求消费的产品所对应的生产者的线程号。所以务必确认这些对应的线程号存在并且该线程代表一个生产者。(2)生产和消费的规则在按照上述要求创建线程进行相应的读写操作时,还需要符合以下要求:共享缓冲区存在空闲空间时,生产者即可使用共享缓冲区。从上边的测试数据文件例子可以看出,某一生产者生产一个产品后,可能不止一个消费者,或者一个消费者多次地请求消费该产品。此时,只有当所有的消费需求都被满足以后,该产品所在的共享缓冲区才可以被释放,并作为空闲空间允许新的生产者使用。每个消费者线程的各个消费需求之间存在先后顺序。例如上述测试用例文件包含一行信息“5 C 3 l 2 4”,可知

8、这代表一个消费者线程,该线程请求消费 1,2,4 号生产者线程生产的产品。而这种消费是有严格顺序的,消费 1号线程产品的请求得到满足后才能继续往下请求 2 号生产者线程的产品。要求在每个线程发出读写操作申请、开始读写操作和结束读写操作时分别显示提示信息。(3)相关基础知识本实验所使用的生产者和消费者模型具有如下特点:本实验的多个缓冲区不是环形循环的,也不要求按顺序访问。生产者可以把产品放到目前某一个空缓冲区中。消费者只消费指定生产者的产品。在测试用例文件中指定了所有的生产和消费的需求,只有当共享缓冲区的数据满足了所有关于它的消费需求后,此共享缓冲区才可以作为空闲空间允许新的生产者使用。本实验在

9、为生产者分配缓冲区时各生产者间必须互斥,此后各个生产者的具体生产活动可以并发。而消费者之间只有在对同一产品进行消费时才需要互斥,同时它们在消费过程结束时需要判断该消费对象是否已经消费完毕并清除该产品。5Windows 用来实现同步和互斥的实体。在 Windows 中,常见的同步对象有:信号量(Semaphore)、互斥量(Mutex)、临界段(CriticalSection)等。使用这些对象都分为三个步骤,一是创建或者初始化:接着请求该同步对象,随即进入临界区,这一步对应于互斥量的上锁;最后释放该同步对象,这对应于互斥量的解锁。这些同步对象在一个线程中创建,在其他线程中都可以使用,从而实现同步

10、互斥。6二、读者-写者问题的实现1 设计目的通过实现经典的读者写者问题,巩固对线程及其同步机制的学习效果,加深对相关基本概念的理解,并学习如何将基本原理和实际设计有机的结合。2 设计内容在 Windows 2000/XP 环境下,使用多线程和信号量机制实现经典的读者写者问题,每个线程代表一个读者或一个写者。每个线程按相应测试数据文件的要求,进行读写操作。请用信号量机制分别实现读者优先和写者优先的读者-写者问题。读者-写者问题的读写操作限制:(1)写-写互斥,即不能有两个写者同时进行写操作(2)读-写互斥,即不能同时有一个读者在读,同时却有一个写者在写(3)读-读允许,即可以有二个以上的读者同时

11、读读者优先的附加限制:如果一个读者申请进行读操作时已有另一读者正在进行读操作,则该读者可直接开始读操作。写者优先的附加限制:如果一个读者申请进行读操作时已有另一写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。运行结果显示要求:要求在每个线程创建、发出读写操作申请、开始读写操作和结束读写操作时分别显示一行提示信息,以确信所有处理都遵守相应的读写操作限制。3 测试数据文件格式测试数据文件包括 n 行测试数据,分别描述创建的 n 个线程是读者还是写者,以及读写操作的开始时间和持续时间。每行测试数据包括四个字段,各字7段间用空格分隔。第一字段为一个正整数,表示线程序号。第二字段表示相应线程角色,R 表示读者是,W 表示写者。第三字段为一个正数,表示读写操作的开始时间。线程创建后,延时相应时间(单位为秒)后发出对共享资源的读写申请。第四字段为一个正数,表示读写操作的持续时间。当线程读写申请成功后,开始对共享资源的读写操作,该操作持续相应时间后结束,并释放共享资源。下面是一个测试数据文件的例子:1 R 3 52 W 4 53 R 5 24 R 6 55 W 5.1 3

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

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。