- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统课程设指导书-windows
操作系统课程设计指导
操作系统课程组
长春工业大学
前言
操作系统课程是计算机科学与技术专业、网络工程专业以及软件工程专业的必修课,在课程体系中占有重要地位。操作系统本身具有概念抽象、结构复杂和难于掌握的特点,要想掌握操作系统精髓,不仅要做适量的习题,更重要的是动手设计。通过设计,可以加深对基本原理的理解,激发学习兴趣,增强自信心。
本指导书具有以下特点:
·设计题目难度和容量适中
操作系统课程在一个学期内讲完,课内的设计学时为27。要求设计既覆盖教学内容,又能在规定学时内做完,因此,按照操作系统的知识体系,本书共安排7个设计,每位学生按照要求选择2个题目。本书的设计题目难度和容量适中,能满足设计教学要求。
·并发程序设计技术贯穿本书
并发程序设计技术是操作系统设计的精髓,也是当今大多数系统软件和应用软件设计的精髓。学生在其他课程中很少有机会训练并发程序设计能力。其它操作系统试验教材对该技术的训练也不充分,只在涉及进程同步的设计中使用。
目 录
设计1 动态异长分区内存分配与去配算法的设计-最先适应算法 1
1.1 设计目的 1
1.2 设计要求 1
1.3 设计步骤 1
1.3.1 数据结构分析 1
1.3.2 算法分析 1
1.3.3 设计并分析测试数据 2
1.3.4 程序设计 3
1.3.5 参考源代码 4
设计2 动态异长分区内存分配与去配算法的设计-最佳适应算法 10
2.1 设计目的 10
2.2 设计要求 10
2.3 设计步骤 10
2.3.1 数据结构分析 10
2.3.2 算法分析 11
2.3.3 设计并分析测试数据 11
2.3.4 程序设计 12
2.3.5 参考源代码 13
设计3 动态异长分区内存分配与去配算法的设计-最差适应算法 20
3.1 设计目的 20
3.2 设计要求 20
3.3 设计步骤 20
3.3.1 数据结构分析 20
3.3.2 算法分析 21
3.3.3 设计并分析测试数据 21
3.3.4 程序设计 22
3.3.5 参考源代码 23
设计4 采用预先分配法预防死锁的哲学家就餐问题 30
4.1 设计目的 30
4.2 设计要求 30
4.3 设计步骤 30
4.3.1 程序结构设计 30
4.3.2 算法设计 30
设计5 采用有序分配法预防死锁的哲学家就餐问题 32
5.1 设计目的 32
5.2 设计要求 32
5.3 设计步骤 32
5.3.1 程序结构设计 32
5.3.2 算法设计 32
设计6 不预防死锁情况下的哲学家就餐问题 34
6.1 设计目的 34
6.2 设计要求 34
6.3 设计步骤 34
6.3.1 程序结构设计 34
6.3.2 算法设计 34
设计7 假脱机打印程序与虚拟设备 36
7.1 设计目的 36
7.2 设计要求 36
7.3 数据结构分析 37
7.4 程序结构 37
操作系统课程设计候选题目 41
附录1 windows API 43
主要参考文献 50
设计1 动态异长分区内存分配与去配算法的设计-最先适应算法
1.1 设计目的
理解存储管理的功能,掌握动态异长分区内存管理中的最先适应算法。
1.2 设计要求
本设计要求模拟最先适应算法的分配算法和回收算法。
1.3 设计步骤
1.3.1 数据结构分析
空闲区域首址 空闲区域长度 … … addr size … … 图1-1 空闲区域表 为了实现存储资源的分配和回收,操作系统需要记录内存资源使用情况,即哪些区域尚未分配,哪些区域已经分配以及分配给哪些进程等。为此一般需要两个表,一个为分配表, 另外一个为空闲区域表。前者记录已经分配的区域, 后者记录着所有当前未被进程占用的空闲区域, 如图1-1所示。
显然, 没有记录于表中的区域即为已被进程所占用的非空闲区域,在实际的操作系统中,这些区域登记在进程的PCB中。而PCB中除了关于内存资源的信息外,还有其它大量信息。
由于本设计是对存储管理算法的模拟,所以用一个线程来代表一个进程,用线程驻留区域表来描述线程占用的内存空间,如图1-2所示。
线程名称 驻留区始址 驻留区大小 a 0 10 b 20 20 …… …… …… 图1-2 线程驻留区表 同时,需要一张表来记录各个线程对内存的请求信息,如图1-3所示。
线程名称 请求大小 KB 预计驻留时间 秒 thread_1 20 4 thread_2 10 5 …… …… …… 图1-3 内存申请表 1.3.2 算法分析
对于存储申请命令, 选取满足申请长度要求且起始地址最小的空闲区域。在实现时, 可将系统中所有的空闲区域
文档评论(0)