操作系统十一文件系统实现

操作系统复习笔记--第十一、十二章 文件系统的实现与大容量存储结构 第11章文件系统实现 1、文件系统的两大组成部分:一组文件、目录结构 2、操作系统中与管理文件有关的软件和数据称为文件系统 3、文件系统提供了在线存储和访问计算机操作系统和所有用户的程序与数据的机制。负责为用户建立、撤销、读写、修改和复制文件,还负责完成对文件的按名存取和进行存取控制。 目标:便于查找与访问。 4、文件的访问方法: 顺序访问:文件中的信息被按记录的顺序依次访问。顺序访问方式基于文件的磁带模型 直接访问:允许程序快速读或者写记录,而不需要按照特定的顺... 阅读详情

1.文件系统结构

      磁盘有两个特点使其称为存储的方便介质

          可以原地重写

          可以直接访问磁盘的任意一块信息。文件的切换只需移动磁头并等待磁盘的转到。。

      内存与磁盘之间的IO转移是以块为单位的。每块为一个或多个扇区。扇区大小通常为512B

      文件系统本身又许多不同的层组成。每层利用较低层的功能来为更高层服务。

                设备 ->IO控制  -> 基本文件系统   -> 文件组织系统  ->  逻辑文件系统   -> 应用程序

      IO控制为最底层,由设备驱动程序和中断处理程序组成,实现内存和磁盘之间的信息传输。设备驱动程序可以作为翻译器,其输入由高层命令组成

      基本文件系统只需向合适的设备驱动程序发送一般命令就可以对磁盘上的物理块进行读写。

      文件组织模块知道文件及其逻辑块和物理块。

      最后,逻辑文件系统管理元数据。元数据包括文件系统的所有结构数据,而不包括实际文件内容。

      采用分层结构实现文件系统能够最大限度的减少重复的代码

      绝大多数操作系统支持多个文件系统。如Windows支持FAT、FAT32和NTFS,还有CD-ROM、DVD、和软盘文件系统。linux支持超过40种不同的文件系统,但标准的linux文件系统是可扩展文件系统,它最常用的版本是ext2和ext3。UNIX支持UNIX文件系统(UFS)

2.文件系统实现

2.1.概述

      实现文件系统要使用多个磁盘和内存结构

          (每个卷的)引导控制块  包括系统从该卷引导操作系统所需的信息

          (每个卷的)控制块          包括卷或分区的详细信息

            目录文件用来组织文件

            FCB包括很多该文件的详细信息

            内存内信息用于文件系统管理并通过缓存来提高性能

            安装表 包括安装卷的信息

            目录结构缓存   包括近期访问过的目录信息

            系统范围内的打开文件表      包括每个打开文件的FCB副本和其他信息

            单个进程的打开文件表           包括一个指向系统范围内已打开文件表中合适条目的指针和其他信息

 

      为了创建一个新文件,应用程序调用逻辑文件系统。逻辑文件系统知道目录结构形式。

2.2分区与安装

      一个磁盘可以分成多个分区,或者一个卷可以横跨多个磁盘上的数个分区。

      分区可以有也可以无文件系统。UNIX空间可以使用生分区(无文件系统),因为他不使用文件系统而是使用自己的磁盘格式。同样,有的数据库使用生磁盘,格式化他来满足其特定需求。类此的,生磁盘可以包括一个微型数据库,以储存RAID配置信息。

      引导信息保存在各个分区内,有自己的格式。引导信息除了包括如何启动一个特定操作系统外,还可有其他指令,如双引导时引导哪个操作系统。引导信息通常作为一组有序块,并作为镜像文件读入内存。磁盘有多个分区,每个分区包含不同类型的 文件系统和不同的操作系统。

      根分区包括操作系统内核或其他系统文件,引导时装入内存。

2.3虚拟文件系统

      现代操作系统必须同时支持多个文件系统类型。但是操作系统如何才能把多个文件系统整合为一个目录结构。绝大多数操作系统使用面向对象技术来简化、组织和模块化实现不同文件系统类型通过同样的结构来实现。

      文件系统实现包括三个主要的层次:

          文件系统接口--->VFS接口------->文件系统类型------->磁盘或网络

      VFS:它定义一个清晰的VFS接口,以使文件系统的通用操作和具体实现分开

                 它提供在网络上唯一标识一个文件的机制,因此他能区分本地文件和远程文件

3.目录

3.1线性列表

3.2哈希表

4.分配方法

      如何有效的利用磁盘空间和快速的访问文件?常用的磁盘空间分配方法用三个:连续、链接和索引  

4.1连续分配

      连续分配要求每个文件在磁盘上占有一组连续的块。磁盘地址为磁盘定义了一个线性序列。用于访问连续分配文件所需的寻道数和最小,寻道时间也最小。

      对一个连续分配文件的访问很容易。难的是为新文件找到空间。在8.3节中的动态分配存储,首次适合最好。

      然而连续分配的另一个问题是如何确定一个文件需要多少空间。这要考虑文件的动态变化。

4.2链接分配

      链接分配解决了连续分配的所有问题。采用链接分配,每个文件是磁盘块的链表;磁盘块分布在任何地方。目录包括文件第一块的指针和最后一块的指针。每块都有一个指向下一块的指针。

      要创建新文件,可以简单地在目录中增加一个条目。每个目录条目都有一个指向文件首块的指针。该指针初始化为nil(链表结束指针值),以表示空文件,大小字段为0.

      链接访问的缺点是只能有效的用于文件的顺序访问而不能有效的支持文件的直接访问。要找到文件的第i块,必须从文件的开始起,跟着指针,找到第i块。对指针的每次访问都需要读磁盘。

      另一缺点是指针需要空间。每个文件需要比原来更多的空间。常用的解决方法是将多个块组成簇,按簇而不是块分配。这种方法的代价是增加了内部碎片。

      另一问题是可靠性,文件由指针链接的,指针分布于整个磁盘,如果指针丢失或损坏,可能导致链接空闲空间或另一个文件。

      一个采用链接分配方法的一个变种是文件分配表FAT。

4.3索引分配

      链接分配解决了连续分配的外部碎片和大小声明问题,但是如果不用FAT,那么链接分配不能有效的支持直接访问。

      索引分配把所有指针放在一起,即通过索引块解决了这个问题。

      每个文件都有其索引块,这是一个磁盘块地址的数组。索引块的第i个条目指向文件的第i个块。目录条目包括索引块的地址。要读第i块,通过索引块的第i个条目的指针来查找和读入所需的块。这类似于8.4节的分页方案。

      当创建文件时,索引块的所有指针都设为nil。当首次写入第i块是,先从空闲空间管理器中得到一块,再将其地址写到索引块的第i 个条目。

      索引块究竟应有多大?每个文件必须有一个索引块,因此索引块应尽可能小。但太小,索引块不能为大文件存储足够多的指针。处理该问题的机制是:

              链接方案   为处理大文件,可以将多个索引块链接起来

              多层索引  

              组合方案   

      索引分配与链接分配子啊性能方面有所欠缺。数据块可能分布于整个分区上。

4.4性能

5.空闲空间管理

      为记录磁盘空闲空间,系统维护一个空闲空间链表,它记录了所有空闲磁盘空间,创建文件时, 搜索空闲空间链表以得到所需空间。接着空间会从链表中删除。空闲空间链表虽然称之为链表,但实现时不一定表现为 链表。

5.1位向量

      通常空闲空间表现为位图或位向量。块空闲,其位为1,块已分配,其位为0。这种方法的主要优点是查找磁盘上的第一个空闲块和n个连续空闲块相对简单、高效。

      硬件特性简化了软件功能,不过除非所有位向量保存在内存中,否则位向量的效率并不高。

5.2链表

      另一种方法是将所有空闲磁盘块用链表链接起来,并将指向第一块空闲块的指针保存在磁盘的特殊位置,同时也缓存在内存中。

5.3组

      对空闲链表的一个改进是将n个空闲块的地址存在第一个空闲块中。这些块中的前n-1个确实为空,而最后一块包含另外n个空闲块的地址,如此继续。大量空闲块的地址可以很快找到。

5.4计数

      通常,有多个连续块需要同时分配或释放,尤其是在使用连续分配和采用簇是更是如此。因此,不记录n个空闲块的地址,而是可以记录第一块的地址和紧跟在其后的连续的空闲块的数量n,这样,空闲空间表的每个条目包括磁盘地址和数量。

6.效率和性能

6.1效率

      磁盘空间的有效使用取决于磁盘分配和目录管理方法。例如,UNIX索引节点(inode)预先分配在卷上,预先分配索引节点改善了文件系统的性能,这是因为UNIX所采用的算法的降低了寻道时间。

6.2性能

      有的系统用一块独立的内存用作缓冲缓存,还有的系统采用页面缓存来缓存文件数据。页面缓存采用虚拟内存技术,将文件数据作为页而不是面向文件系统的块来缓存。

7.恢复

      文件和目录保存在内存和磁盘上。需要保护数据使其不丢失和不一致。

7.1一致性检查

      部分目录信息保存在内存或缓存里,如果计算机崩溃,缓存和缓存、IO操作、打开文件的目录的修改都会消失。这种事件会导致文件系统处于不一致状态:有的文件真实状态与目录结构记录的不一样。

      一致性检查程序将目录结构数据与磁盘数据块相比较,并试图纠正发现的不一致。空闲算法和空间管理算法决定了检测程序能发现什么类型的问题以及如何成功处理问题。

7.2备份和恢复

8.基于日志结构的文件系统

      文件系统数据结构如目录结构、空闲指针、FCB指针可能因系统崩溃而不一致,采用修改这些结构来解决不一致问题,但一致性可能无法修补。而且一致性检查也浪费时间。因此,采用基于日志的恢复技术以更新文件系统元数据不失为一种好方法。

9.NFS

      网络文件系统已很普及。NFS是通过局域网访问远程文件的软件系统的实现和规范。NFS是ONC+的一部分。

9.1概述

      网络文件系统NFS将一组互联工作站作为具有独立文件系统的机器组合。它允许根据显式请求共享文件系统。共享基于客户机-服务器关系。远程文件系统的共享只影响客户机而不是其他机器。

      为使一台机器M显式请求访问远程目录,M的一个客户端必须执行mount将远程目录安装到本地文件系统的目录上。

9.2安装协议

      安装协议在客户机和服务器之间建立初始逻辑连接

9.3NFS协议

      NFC提供了一组远程调用协议RPC以提供远程文件操作     

          搜索目录内的文件

          读一组目录条目

          操作链接和目录

          访问文件属性

          读和写文件

只有在远程目录的句柄建立了之后,才可以进行这些操作。

9.4路径名转换

      NFS中的路径名转换包括把路径名解析成独立的目录条目或组成部分。

9.5远程操作

      NFS坚持远程服务形式,实际上采用了缓冲和缓存技术来提高性能。普通UNIX文件操作系统调用和NFS协议RPC之间,几乎有一个一对一的对应关系,因此远程文件操作可直接转换成相应的RPC。事实上,文件块和文件属性是由RPC获取的并缓存咋本地。远程操作将使用缓存数据并受一致性的限制。

10.小结

      物理磁盘可分区,以控制介质的使用和允许在同一磁盘上支持多个不同的文件系统。这些文件安装在逻辑文件系统结构上,然后才可以使用。

      文件系统通常按层结构实现:底层处理存储设备的物理属性、高层处理符号文件名、中间层处理逻辑文件概念映射到物理设备属性。

      网络文件系统,如NFS使用客户机-服务器方法允许用户访问远程机器上的目录和文件。客户机上的系统调用转换成网络协议,再转换成服务器的文件系统操作。

《ORANGE’S:一个操作系统的实现》读书笔记(三十一)文件系统(六) 比如下图所示的情况,虽然根目录中连表示自身的“.”都算上也只有7个文件,但根目录文件的i_size却是(7+N)×DIR_ENTRY_SIZE,因为中间有N个之前存在的文件被删掉,此刻留下了大小为N×DIR_ENTRY_SIZE的空洞。如今我们已经有了open()、close()、read()、write()以及unlink()等系统调用,如果对比Linux的系统调用,这显然还不够,不过更多的系统调用也不会有太多的新意了,有兴趣的话,可以自行添加需要的系统调用。代码 kernel/main.c,删除文件。 阅读详情

相关推荐

操作系统实习一个简单文件系统的实现

众所周知计算机,主要是用来管理存储数据的,如何对数据能进行很好的管理也就成为了现在主要需要解决的问题,当然我们首先会想到用数据库对数据进行管理,但是对于小量的数据我们并不需要用数据库,由此我们用文件系统来管理一些小量的数据,如何用文件系统来好好的管理数据也就是这个程序的主要内容。

操作系统 考研习题 详细解析(2)

操作系统 考研习题 详细解析(2)包含进程管理、内存管理、I/O管理、文件管理的习题

Z_timer的博客 7万+

模拟一个小型磁盘文件管理系统

设计一个简单的磁盘文件管理系统,用文件模拟磁盘,用数组模拟缓冲区,要求实现: (1)支持多级目录结构,支持文件的绝对路径访问; (2)文件的逻辑结构采用流式(字节流)结构,物理结构采用链式结构中的显式链方式; (3)磁盘管理采用文件分配表; (4)实现文件操作命令:创建目录、列表目录、删除空目录、创建文件、删除文件、显示文件内容、打开文件、读文件、写文件(追加方式)、关闭文件、改变文件属性; (5)通过主函数对所实现的功能进行测试。

二、核心导言

UNIX操作系统的体系结构 “文件”和“进程”是UNIX系统的两个最基本实体和中 心概念,UNIX系统的所有操作都是以这两者为基础的。整 个系统核心由以下五个部分组成: ① 文件系统: 文件管理和存储空间管理(节点和空间管理) ②I/O设备管理: 核心→缓冲→块设备(随机存取设备) 核心→原始设备(raw设备,字符设备,裸设备) ③ 进程控制: 进程的调度、同步和通讯 ④ 存贮管理: 在主存与二级存储之间对程序进行搬迁 ⑤ 时钟管理: 把cpu的时间分配给当前最高优先权的进程。 系统概念 文件系统 1.索引

星辰的博客 1763

储能变流器(Power Control System——PCS)设计原理

储能变流器(Power Control System——PCS)可控制蓄电池的充电和放电过程,进行交直流的变换,在无电网情况下可以直接为交流负荷供电。PCS 由 DC/AC 双向变流器、控制单元等构成。PCS 控制器通过通讯接收后台控制指令,根据功率指令的符号及大小控制变流器对电池进行充电或放电,实现对电网有功功率及无功功率的调节。 PCS 控制器通过 CAN 接口与 BMS 通讯,获取电池组状态信息,可实现对电池的保护性充放电,确保电池运行安全。   储能变流器(PCS)可控制蓄电池的充电和放电过程,进

Zhouengineer的博客 5万+

MC1496乘法器AM调制电路搭建全流程(附Multisim 14.0仿真文件)

本文提供了基于MC1496乘法器搭建AM调制电路的完整实战指南。针对仿真模型缺失的痛点,详细讲解了从晶体管级手动构建MC1496等效模型,到外围电路设计、调制度参数计算与调节,并在Multisim 14.0中进行仿真验证的全流程。通过深度剖析MC1496内部原理与AM信号调制机制,帮助读者获得从仿真到实践的可控设计与排错能力。

weixin_29190169的博客 591

11 文件

含金量最高的C语言教程——十年寒窗磨一剑,大一学会可保研! “这个世界不再仅仅因为人们知道什么就奖励他们,因为互联网知道一切”。“真正的学习不是你记住了某个知识点,然后把它写在考卷上得分,而是将这些知识点都记在你的脑子里,消化形成自己的思考,然后作出独立的判断,并凭之增进你对世界的理解”。C语言是精心设计的编程语言,几乎每个知识点都值得思考。

C语言内涵教程 428

从零实现Unitree Go2的SLAM建图与导航:手把手集成slam_toolbox和nav2(附Rviz2可视化配置)

本文详细指导如何在Unitree Go2四足机器人上集成slam_toolbox和nav2,实现SLAM建图与导航功能。从ROS2环境配置、雷达数据处理到slam_toolbox参数优化,再到nav2路径规划与Rviz2可视化调试,提供完整解决方案。特别适合机器人开发者快速掌握ROS2导航栈在Unitree Go2上的应用实践。

weixin_33737134的博客 1230

新电脑安装Windows11系统,Windows11安装,程序员必会

新电脑到了,打算安装Windows 11系统,我也是第一次安装,所以记录一下吧希望这个指南对您有所帮助!如果有任何疑问或遇到问题,欢迎留言讨论。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 6356

ESP-01S使用micropython,利用Thonny烧写固件

在家舒服的太久了,想学习点新的东西,这次看上了ESP8266系列的联网设备,想自己做点小玩意出来耍耍,下面跟我一起来学习吧。本篇主要记录固件的烧写及测试。Thonny下载链接不算难,但是网上资源较少。也是提醒自己不要忘记这个步骤,记录一下,也分享给和我一样开始接触的小伙伴,加油加油,万事开头难。

weixin_43422072的博客 1692

《遥感大模型生产级实战:从数据到决策的端到端AI工程》系列第一部分:AI遥感工程师的基础设施与工具链-文章 4:传统遥感分析与机器学习基线

本章将系统性地介绍经典遥感分析工作流,从数据预处理到多维度特征工程,再到如何利用经典的机器学习模型(如随机森林、支持向量机)进行监督与非监督学习。我们将通过一个完整的“智慧农业作物分类”项目实战,展示如何利用我们之前构建的数据湖和工具链,从原始数据到最终的分析结果,构建一个性能可靠、可解释性强的基线系统。更重要的是,我们将深入剖析这种传统方法的局限性,从而为后续章节引入遥感大模型的必要性提供强有力的论证。

panshengwu的博客 705

与进程相关的文件结构

8.2.4  与进程相关的文件结构 在具体介绍这几个结构以前,我们需要解释一下文件描述符、打开的文件描述、系统打开文件表、用户打开文件表的概念以及它们的联系。1.文件对象在Linux中,进程是通过文件描述符(file descriptors,简称fd)而不是文件名来访问文件的,文件描述符实际上是一个整数。Linux中规定每个进程能最多能同时使用NR_OPEN个文件描述符,这个值

liaoxinmeng的专栏 1249

Boost电路双闭环控制MATLAB仿真

通过电流内环控制,我们可以改变目标平均电流基准值的大小来闭环改变占空比,再改变输出电压与电路电流,直到电路电流达到基准电流才达到稳态。但是我们的基准电流依旧是外部提供的,下边的电压外环控制就是电路自己计算基准电流。

Fourglsl的博客 5845

操作系统(十一)文件系统实现

操作系统 文件系统实现文件系统实现1.文件系统结构2。文件系统实现虚拟文件系统 VFS目录实现4.分配方法连续分配 文件系统实现 1.文件系统结构 分层设计的文件系统 应用程序:利用系统调用的请求文件操作 open() read() 逻辑文件系统:管理元数据,管理目录结构。元数据包括文件系统的所有结构数据,而不包括内容数据。逻辑文件系统通过给定的文件符号名,来管理目录结构,通过文件控制块(FCB),来维护文件结构。 文件组织模块:指导文件的逻辑块和物理块。将逻辑块地址转换为物理块地址。 基本文件系统:只需要

greatcoder的博客 2657

SPARTAN6 + Verilog - FPGA step by step 从0开始学习(1)

SPARTAN6 + Verilog - FPGA step by step 从0开始学习(1)Step 1 软件安装Step 2 硬件获取Step 3 开始从头到脚建一个工程Step 3.1 新建一个工程 从0开始学习FPGA,最好的办法就是先建一个最简单的模块,并且跑起来,然后再慢慢展开。下面这个例子是要按照一定的周期点亮核心板上的一个led。 Step 1 软件安装 这个从0开始学习是用的xilinx的SPARTAN6。SPARTAN6集成开发环境用ISE,不能用Vivado,各自对应的版本不同。安装

xfacexx点点记录 5508

大疆司空 2 私有化部署:FH2、Terra、4G 三大服务区别详解

摘要: 司空2私有版包含三大模块:FH2(核心平台,必选)、Terra(建模算力,需NVIDIA显卡)、4G(内网图传)。FH2是基础,支持设备管理与任务调度;Terra适用于测绘建模场景,依赖GPU算力;4G模块保障复杂环境下的图传稳定性,适合纯内网部署。选择逻辑:先部署FH2,再按需添加Terra(需显卡)或4G(需内网支持),避免资源浪费。

2501_93651177的博客 576

【笔记】操作系统(十一)——文件系统实现

文件系统实现前言一、文件系统结构二、文件系统实现1. 概述2. 分区与安装3. 虚拟文件系统(virtual file system ,VFS)三、目录实现1. 线性列表2. 哈希表四、分配方法1. 连续分配2. 链接分配3. 索引分配五、空闲空间管理1. 位向量(bit vector)2. 链表3. 组4. 计数 前言 文件系统提供了在线存储和访问包括数据和程序在内的文件内容的机制。文件系统永久地驻留在外存上,外存可以永久存储大量数据。 本章主要讨论在最常用的外存即磁盘上,如何存储和访问文件的有关问题。讨

夜的第七章 1232

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

操作系统原理第十一章 文件系统实现

第十一章 文件系统实现11.1 文件系统1、文件系统概述2、文件系统层次架构3、文件系统实现4、磁盘文件系统5、内存文件系统6、虚拟文件系统7、网络文件系统8、常用文件系统11.2 存储空间分配方式连续分配链接分配索引分配11.3 空闲空间管理空闲表空闲链表位示图成组链接慕课单元作业 11.1 文件系统 1、文件系统概述 在存储设备上组织文件的方法和数据结构 操作系统中负责管理和存储文件信息的模块 文件系统 大多数存在于操作系统之中,但是一些微内核没有文件系统 系统角度: 对存储设备的空间进行组织和分配

weixin_45788387的博客 1494

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

操作系统概念(第十一章) 文件系统实现

文件系统结构(File System Structure)磁盘提供大量的外存空间来维持文件系统。磁盘的下述两个特点使得其成为存储多个文件的方便介质。 ①可以原地重写; ②可以直接访问磁盘上的任意一块信息。 为了提供对磁盘的高效且便捷的访问,操作系统通过文件系统来轻松地存储、定位、提取数据。文件系统有两个设计问题。 ①定义文件系统对用户的接口 ②创建数据结构和算法来将逻辑文件系统映射到物理外存设备上。

Mr.Phoebe的专栏 7510

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

操作系统概念笔记——第十一章:文件系统实现

文章目录第十一章:文件系统实现11.1 文件系统结构11.3 目录实现11.3.1 线性列表11.3.2 哈希表11.4 分配方法11.4.1 连续分配 第十一章:文件系统实现 文件系统永久地驻留在外存上,外存可以永久存储大量数据。 本章主要讨论在最为常用的外存(磁盘)上,如何存储和访问文件的有关问题 11.1 文件系统结构 磁盘提供大量的外存空间来维持文件系统。 磁盘有下列两个特点,这两个特点使其可以称为存储多个文件的方便介质 可以原地重写。可以从磁盘上读一块,修改该块,并将它写回原来的位置 可以直接访

叶卡捷琳堡的博客 2063

操作系统概念第十一章 文件系统实现

文件系统实现概述文件系统结构文件系统实现创建一个文件的过程打开一个文件分区与安装虚拟文件系统目录实现线性列表哈希列表分配方法连续分配链接分配索引分配空闲空间管理位图/位向量链表组计数效率和性能效率性能恢复一致性检查备份和恢复基于日志的文件系统NFS 概述 文件系统驻留在外存上,在外存上,如何存储和访问文件?如何组织文件,分配磁盘空间,恢复空闲空间,跟踪数据位置,以及相关的性能? 这些在文件系统中,如何实现? 文件系统结构 磁盘称为存储多个文件的方便介质的两个特点: 可以原地重写 可以直接访问磁盘的任意一处

人间烟火的博客 827

操作系统学习笔记——第十一讲——文件系统实现(11.1文件系统)

1. 文件系统 2. 文件系统的层次架构 3. 基本文件系统 4. 文件组织模块 5. 逻辑文件系统 6. 文件系统实现——基本概念 7. 典型文件系统 8. 文件系统的实现 9. 磁盘文件系统 10. 内存文件系统 11. 内存文件系统结构 12. 虚拟文件系...

预见未来to50的专栏 330

操作系统概念_第十一章_文件系统实现

概述 文件系统驻留在外存上,在外存上,如何存储和访问文件?如何组织文件,分配磁盘空间,恢复空闲空间,跟踪数据位置,以及相关的性能? 这些在文件系统中,如何实现? 文件系统结构 磁盘称为存储多个文件的方便介质的两个特点: 可以原地重写 可以直接访问磁盘的任意一处位置,无论是按顺序还是随机读取文件都可以通过移动磁头直接完成。 另外,与内存管理的部分方式相同,磁盘同样是以块为单位进行...

sailist的记录站 1071

操作系统复习笔记——第十一章 文件系统实现

11.4 分配方法 11.4.1 连续分配 连续分配方法要求每个文件在磁盘上战友一组连续的块。磁盘地址为磁盘定义了一个线性序列。 文件的连续分配可以用第一块的磁盘地址和连续块的数量来定义。如果文件有n块长并从位置b开始,那么该文件将占有块b,b+1,b+2…,b+n-1。一个文件的目录条目包括开始块的地址和该文件所分配区域的长度, 对一个连续分配文件的访问很容易。要顺序访问,文件...

种花家的奋斗兔的博客 872
上一篇: 操作系统十文件系统接口
下一篇: 操作系统十二大容量存储的结构
壞得彻底
博客等级 码龄14年 17粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值