1801-1806班操作系统课程设计任务书及分组.pdfVIP

1801-1806班操作系统课程设计任务书及分组.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

操作系统课程设计任务书

一、课程设计任务

本次课程设计的任务是虚拟实现部分操作系统的典型算法,加深对操作系统

运行机制的掌握和理解。本部分任务每组同学完成一份(分组见“课程设计分组”

部分)。任务具体要求:

在Winidows/Linux/iOS/Android平台下(平台任选一个),以结构化或面向对

象编程思想实现下面功能:

1、磁盘管理

建立一个4MB大小的文件模拟磁盘,按逻辑将其划分为1024块,每块大小

4KB。其中900块用于存放普通数据,124块用于存储兑换数据。存储管理需要

支持:

(1)数据组织:对需要存放的文件数据加以组织管理,可以采用连续组织

方式、显式连接(FAT)方式、单级索引组织方式、二级索引组织方式、混合索

引方式(每组要求不同,具体见“课程设计分组”部分,下同)。

(2)空闲块管理:能够查询并返回当前剩余的空闲块,对空闲块管理可以

采用位示图法、空闲盘块表法、空闲盘块连法、成组连接法。

(3)兑换区管理:能够写入、读出兑换区数据。

2、目录管理

为写入模拟磁盘的数据文件建立目录,目录可以是单级文件目录、双级文件

目录、树形结构目录。在目录中选择某个文件可以将其数据读入模拟内存。目录

中包含文件名、文件所有者、创建时间、文件结构、在磁盘中存放的地址等信息。

目录管理需要支持:

(1)新建目录:在目录中新建空目录

(2)删除目录:删除空目录

(3)为文件建立目录项:一个文件被创建后,为该文件创建目录项,并将

文件相关信息写入目录中。

(4)删除文件:删除目录中某个文件,删除其在磁盘中的数据,并删除目

录项。如果被删除文件已经读入内存应该阻止删除,完成基本的文件保护。

3、内存管理

申请一块1KB的内存空间模拟内存,按逻辑划分为256块,每块4B。将目

录中选中的文件读入内存,显示文件中信息。内存可以同时显示多个文件信息,

每个文件固定分配8个内存块,如果8个内存块不能显示文件全部信息,采用页

面置换策略,将已显示完的页换出内存,可以选择的置换策略有,全局置换、局

部置换、FIFO、LRU。内存管理需要支持:

(1)分配内存块:为线程分配内存块,每个线程默认分配8块。

(2)回收内存:线程结束后回收其内存。

(3)空闲内存块管理:为进入内存的数据寻找空闲内存块。没有空闲内存

时,应给出提示。

(4)页表管理:记录页面在内存块的对应关系,提供数据块进入模拟内存

的访问、修改情况,为页面置换算法提供支持。

4、线程管理

本虚拟系统以线程为基本运行单位,线程本身采用编程语言提供的线程机

制,不模拟。系统主要包括的线程有:

(1)数据生成线程:该线程负责生成外存数据,给定数据大小(按字节计

算)、数据信息(英文字母)、存储目录、文件名后,该线程调用磁盘管理中空闲

磁盘管理功能,申请所需大小的外存块,如果盘块不够给出提示。按照要求的数

据组织方式,将数据存入磁盘块(按块分配磁盘),并调用目录管理功能为其在

目录中建立目录项,更改空闲盘块信息。

(2)删除数据线程:该线程调用删除目录管理中文件删除功能删除数据(内

存中文件不能删除)。并回收外存空间,更新空闲盘块信息。

(3)执行线程:选择目录中的文件,执行线程将文件数据从外存调入内存,

为此,首先需要调用内存管理的空闲空间管理功能,为该进程申请4块空闲内

存,如果没有足够内存则给出提示,然后根据目录中文件存储信息将文件数据从

外存读入内存,此间如果4块内存不够存放文件信息,需要进行换页(选择的换

页策略见分组要求),欢出的页面存放到磁盘兑换区。允许同时运行多个执行线

程。文件数据在内存块的分布通过线程的页表(模拟)进行记录。

(4)线程互斥:对于1KB的内存,线程需要互斥访问,避免产生死锁。不

能访问内存的线程阻塞,等待被唤醒。

5、用户接口

对内存块、外存块、目录信息进行可视化显示,并能够动态刷新。文件调入

内存过程、以及换页过程在块与块之间加入延时,以便观察。

对于实现以上功能,可以采用任何熟悉的编程语言,不做具体要求。

二、课程设计分组

每班在班内自由结组,不能跨班结组。每班8-9组,每组4-5人。每组的置

换策略、目录结构、外存组织方式、空闲磁盘管理方

文档评论(0)

177****3106 + 关注
实名认证
文档贡献者

大学本科生

1亿VIP精品文档

相关文档