实验四 文件系统原理与模拟实现

这篇具有很好参考价值的文章主要介绍了实验四 文件系统原理与模拟实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验四 文件系统原理与模拟实现

代码资源地址

Java实现的混合索引和成组链接法算法资源-CSDN文库

实验目的:

了解操作系统中文件系统的结构和管理过程,掌握经典的算法:混合索引与成组链接法等方法。

实验内容:

编程模拟实现混合索引和成组链接法算法;

实验步骤:

        1.模拟混合索引的原理;

        假设每个盘块16字节大小,每个盘块号占2字节:

        设计支持混合索引算法的索引节点的数据结构;编程模拟实现混合索引算法。

        测试:输入一个文件的长度,给出模拟分配占用的磁盘块的情况;输入一个需要访问的地址,计算该地址所在的盘块号。

        2.模拟成组链接法的原理;

        设系统具有7个可用磁盘块,每组3块。

        编程模拟实现成组链接法。输入请求的磁盘块数,模拟成组链接分配;输入回收的磁盘块号,模拟成组链接回收。

        测试:输入请求的磁盘块数,给出分配后的链接情况。输入回收的磁盘块号,给出回收后的链接情况。

实验过程:

下面是具体的实验过程:

  1. 混合索引法

(1)前10个指针指向可以直接访问的磁盘块。剩下3个指针指向间接块,即不包含数据的块,分别指向:一级间接块、二级间接块、三级间接块。

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图1 混合所引法分配图

        2.成组链接法

(1)分组:文件区中的所有空闲盘块被分成若干个组,如将每3个盘块作为一组。

(2)成链:由各组的第一个盘块链成一条链。将每一组含有的盘块总数N和该组所有的盘块号记入其前一组的第一个盘块中。

(3) 空闲盘块号栈:存放当前可用的一组空闲盘块的盘块号(最多为100个),以及栈中尚有的空闲盘块号数N,N兼作栈顶指针用。

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图2 成组链接图示

3.混合索引法代码及测试

(1)代码目录结构图如图3所示。SuoYin.java为实现混合索引法的代码。

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图3 混合索引代码结构目录

 (2)混合索引法代码。

Java实现的混合索引和成组链接法算法资源-CSDN文库

(3)混合索引法测试。

1)直接索引测试。30/16=1…14,所以盘块号=1,偏移量=14。

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图4 直接索引

 

2)一级索引测试。170/16=10…10,10>9(块号从0开始),所以启用了一级索引,位于一级索引的第0块,偏移量=10。

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图5 一级索引

 3)二级索引测试。1000/16=62…8,10+8<62<10+8+64启用了二级索引,位于二级索引的第44块,偏移量=8。

4)三级索引测试。1400/16=87…8,10+8+64<87<10+8+64+512启用了三级索引,位于三级索引的第5块,偏移量=8。

4.成组链接法代码及测试

(1)代码目录结构图如图8所示。GroupsLinking为实现成组链接法的代码。

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图8 成组链接法代码结构目录

(2)GroupsLinking代码如下。可以实现成组链接法的分配和回收操作。

 Java实现的混合索引和成组链接法算法资源-CSDN文库

(3)成组链接法的测试截图。

1)分配操作

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图9 初始化效果图

 

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图10 分配1个盘块

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图11 第1组盘块分配完毕

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图12 全部盘块分配完毕

2)回收操作

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图13 回收一个盘块

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

图14 回收1组盘块

实验四 文件系统原理与模拟实现,操作系统,数据结构,操作系统,成组链接法,混合索引法

 

图15 退出系统

经过验证可知结果正确。文章来源地址https://www.toymoban.com/news/detail-564187.html

到了这里,关于实验四 文件系统原理与模拟实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机操作系统实验-进程调度模拟算法

    进程调度是处理机管理的核心内容。本实验要求用高级语言编写模拟进程调度程序,以 便加深理解有关进程控制快、进程队列等概念,并体会和了解优先数算法和时间片轮转算法 的具体实施办法。 1.设计进程控制块 PCB 的结构,通常应包括如下信息: 进程名、进程优先数(

    2024年02月05日
    浏览(74)
  • 操作系统实验二死锁避免之银行家算法的模拟

    死锁  (1)定义  (2)死锁产生的原因  (3)死锁产生的必要条件  (4)死锁的处理策略 银行家算法  (1)核心思想  (2)数据结构  (3)算法描述    (4)  安全性检查算法 银行家算法的模拟 (1)数据结构 (2)完整代码 (3)测试 所谓死锁,是指多个进程因为竞争资

    2024年02月01日
    浏览(65)
  • 操作系统实验:虚拟存储器 (C语言实现) 模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。

    模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺 页中断。 模拟分页式存储管理中硬件的地址转换和产生缺页中断。 用先进先出(FIFO)页面调度算法处理缺页中断。 由于是模拟调度算法,所以,不实际启动输出一页和装入一页的程序,

    2024年02月04日
    浏览(65)
  • 操作系统实验三虚拟存储器管理之模拟页面置换算法(FIFO&LRU)

    一、概述  (1)置换算法  (2)缺页率与命中率 二、先进先出置换算法(FIFO)    (1)定义    (2)示例  (3)Belady异常  三、最近最久未使用置换算法(LRU) (1)定义 (2)示例 四、FIFOLRU置换算法的模拟    (1)流程图  (2)完整代码  (3)实验结果         进程运行

    2024年02月04日
    浏览(39)
  • 实验6-cp –r系统命令的实现--源路径(目录)中的所有文件和子目录,以及子目录中的所有内容,全部拷贝到目标路径(目录)中--操作系统实验

    掌握Linux目录操作方法,包括打开目录、关闭目录、读取目录文件 掌握Linux文件属性获取方法,包括三个获取Linux文件属性的函数、文件属性解析相关的宏 掌握POSIX与ANSI C文件I/O操作方法,包括打开文件、关闭文件、创建文件、读写文件、定位文件 利用POSIX API(文件操作也可

    2024年02月08日
    浏览(54)
  • 操作系统实验之文件管理

    目录 一、实验目的 二、实验内容 三、实验思路 四、主要数据结构 五、实验流程图 六、实现代码 七、运行结果 通过这次实验,掌握文件系统的用户管理,掌握普通文件、目录文件管理的基本原理。 1、通过初始化操作建立一个模拟外存空间的虚拟磁盘文件,在该文件中保存

    2024年02月05日
    浏览(49)
  • 操作系统 | 实验八 文件管理

    掌握文件的存取方法;掌握文件的逻辑结构和物理结构;掌握存储空间的分配和回收;掌握磁盘管理与调度。 用程序模拟磁盘的调度过程,并计算各磁盘调度算法包括先来先服务算法、最短寻道时间优先算法、扫描算法和循环扫描算法的平均寻道长度。 本实验是模拟操作系

    2024年02月06日
    浏览(47)
  • 操作系统期末实验:多用户二级文件系统

    期末实验不是python写的,所以很可能是当时在github上找了一个,然后改了改hhh 如果后续找到了链接就放过来 设计一个多用户的二级文件系统,能够实现简单的文件操作。具体包括如下几条命令: (1)Dir 列文件目录; (2)Create 创建文件 (3)Delete 删除文件 (4)Deldir 删除

    2024年01月18日
    浏览(42)
  • 操作系统课程设计----模拟文件管理系统(c语言)

    1.采用高级语言编写程序模拟文件系统,文件系统采用多级目录结构,实现对文件和目录的创建、删除、重命名、变更权限、显示文件内容、修改文件内容等操作。 2.撰写课程设计报告。 编写程序模拟一个简单的文件系统,具体实验内容如下: (1)实现多级目录结构,而

    2024年01月21日
    浏览(50)
  • Linux操作系统实验三 文件管理(一)

      1.实验目的与要求 了解Linux文件系统目录结构 掌握目录管理的相关操作 掌握文件管理的相关操作 2.实验平台 实验室安装的实验环境(Linux操作系统)和头歌(www.educoder.net)实验平台(课程实验) 3.实验内容 文件系统目录结构理论知识练习 linux 下目录的创建、应用、查看、

    2024年02月03日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包