点创网站建设品牌营销
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:25
当前位置: 首页 > news >正文
点创网站建设,品牌营销,貴阳建设银行网站,2021互联网公司100强文件系统
概述
文件系统#xff1a;一种用于持久性存储的系统抽象
在存储器上#xff1a;组织、控制、导航、访问和检索数据大多数计算机包含文件系统
文件#xff1a;文件系统中一个单元的相关数据在操作系统中的抽象
文件系统功能 分配文件磁盘空间 管理文件块管理空…文件系统
概述
文件系统一种用于持久性存储的系统抽象
在存储器上组织、控制、导航、访问和检索数据大多数计算机包含文件系统
文件文件系统中一个单元的相关数据在操作系统中的抽象
文件系统功能 分配文件磁盘空间 管理文件块管理空闲空间分配算法 管理文件集合 定位文件及内容命名通过名字找到文件的接口最常见分层文件系统文件系统类型 提供的便利及特征 保护分层来保护数据安全可靠性和持久性保持文件的持久即使发生崩溃 文件和块 文件属性名称、位置、大小、保护、创建者、创建时间、最近修改时间等文件头 在存储数据中保存了每个文件的信息保存文件的属性跟踪那一块存储块属于逻辑上文件结构的那个偏移
文件描述符 文件使用模式 使用程序必须在使用之前打开文件 内核跟踪每个进程打开的文件 操作系统为每个进程维护一个打开文件表一个打开的文件描述符是这个表中的索引 需要元数据来管理打开文件 文件指针指向最近的一次读写位置每个打开了这个文件的进程都是这个指针文件打开计数记录文件打开的次数 - 当最后一个进程关闭文件的时候才允许其从打开文件表中移除文件磁盘位置缓存数据访问信息访问权限每个程序访问模式信息 用户视图持久的数据结构 系统访问接口 字节 的集合系统不会关系你想存储在磁盘上的任何数据结构 操作系统内部视角 块的集合块是逻辑转换单元而扇区是物理转换单元块大小扇区大小在unix中块大小是4kb
用户怎么访问文件在系统层面需要知道用户的访问模式
顺序访问按照字节依次读取 几乎所有的访问都是这种方式 随机访问从中间读写 不常用但是仍然重要例如虚拟内存支持文件内存页存储在文件中更加快速 - 不希望获取文件中间的内容的时候也必须先获取块内所有的字节 基于内筒访问通过特征 许多系统不提供此种访问方式相反数据库是建立在索引内容的磁盘访问上实现的需要高效的随机访问
文件内部结构
无结构 单词、比特的队列 简单记录结构 列固定长度可变长度 复杂结构 格式化文档可执行文件其他
文件共享和访问控制
多用户系统中的文件共享是很必要的访问控制 谁能够获得那些文件的哪些访问权限访问模式读、写、执行、删除、列举等 文件访问控制列表(ACL) 文件实体权限 Unix模式 用户|组|所有人 读|写|可执行用户ID识别用户表明每个用户所允许的权限以及保护模式组ID允许用户组成组并指定了组访问权限 指定多用户/客户如何同时访问共享文件 和过程同步算法相似因磁盘I/O网络延时而设计简单 Unix文件系统语义 对打开文件的写入内容立即对其他打开同一文件的其他用户可见共享文件指针允许多用户同时读取和写入文件 会话语义 写入内筒只有当文件关闭时可见 锁 一些操作系统和文件系统提供该功能
目录 文件以目录方式组织起来 目录是一类特殊的文件 每个目录都包含了一张表 目录和文件的树形结构 早期的文件系统时扁平的只有一层目录 层次名称空间 典型操作 搜索文件创建文件删除文件枚举目录重命名文件在文件系统中遍历一个路径 操作系统应该只允许内核模式修改目录 确保映射完整性应用程序能够读目录 文件名的线性列表包含了指向数据块的指针 编程简单执行耗时 Hash表 - hash数据结构的线性表 减少目录搜索时间碰撞 - 两个文件名的hash值相同固定大小
一个文件系统需要先挂载才能被访问
一个未挂载的文件系统被挂载在挂载点上
文件别名 两个活多个文件管理同一个文件 硬链接多个文件项指向一个文件 软连接以快捷方式指向其他文件 通过存储真是文件的逻辑名来实现 如果删除了一个有别名的文件会如何 这个别名将成为悬空指针 Backpointers 方案 每个文件有一个包含多个backpointers的列表所以删除所有的backpointersbackpointers使用菊花链管理 添加一个间接层目录项数据结构 连接 - 已经存在文件的另外一个名字连接处理 - 跟随指针来定位文件
文件系统的种类
磁盘文件系统 文件处处在数据存储设备商如磁盘FATNTFS ext2/3等 数据库文件系统 文件根据其特征是可被寻址的如WinFS 日志文件系统 记录文件系统的修改/事件例如journaling file system 网络/分布式文件系统 NFS SMB AFS GFS分布式文件系统 文件可以通过网络被共享 文件位于远程服务器客户算远程挂载服务器的文件系统标准文件系统访问被转换成远程访问标准的协议NFS CIFS 分布式文件系统的问题 客户端和客户端上的用户辨别起来很复杂NFS是不安全的一致性问题错误处理模式 特殊/虚拟文件系统
虚拟文件系统
分层结构 上层虚拟(逻辑)文件系统底层特定文件系统模块 目的 对所有的不同文件系统的抽象 功能 提供相同的文件和文件系统接口管理所有的文件和文件系统关联的数据结构高效的查询例程遍历文件系认与特定的文件系统模块的交互
需要包含那些内容
卷控制块 每个文件系统一个文件系统详细信息块块大小空余块、计数指针等 文件控制块 每个文件一个文件详细信息许可、拥有者、大小、数据库位置等 目录节点 每个目录项一个将目录项数据结构和树形布局编码成树形数据结构指向文件控制块父节点和项目列表
数据块缓存
数据块需要按需读入内存
提供read操作预读预选读取后面的数据块
数据块使用后被缓存
假设数据将会被使用写操作可能被缓存和延时写入
两种数据块的缓存方式 普通缓冲区缓存 页缓存统一缓存数据块和内存页 分页要求 当需要一个页的时候才将其载入内存 支持存储 一个页可以被映射到一个本地文件中
打开文件
打开文件描述 每个被打开的文件一个文件状态信息目录项当前文件指针、文件操作设置等 打开文件表 一个进程一个一个系统级的每个卷控制块也会保存一个列表所以如果有文件被打开将不能被卸载
锁的保护机制
一些操作系统和文件系统提供该功能调节对文件的访问强制和劝告 强制根据锁保持情况和需求拒绝访问劝告进程可以查找锁的状态来决定怎么做
文件分配
大多数文件都很小 需要对小文件提供强力的支持块空间不能太大 一些文件非常大 必须支持大文件(64-bit文件偏移)大文件访问需要相当高效
如何为一个文件分配数据块
分配方式 连续分配 文件头指定起始块和长度位置/分配策略 最先匹配最佳匹配 优势文件读取表现好 高效的顺序和随机访问劣势碎片 文件增加问题预分配按需分配 链式分配 文件以数据块链表方式存储文件头包含了到第一块和最后一块的指针优点创建、增大、缩小很容易没有碎片缺点不可能进行真正的随机访问可靠性不强破坏一个链然后… 索引分配 为每个文件创建一个名为索引数据块的非数据数据块文件头包含了索引数据块优点创建增大缩小很容易没有碎片支持直接访问缺点当文件很小时存储索引的开销如何处理大文件链式索引快多级索引块 指标 高效如存储利用率表现如访问速度
空闲空间管理
跟踪在存储中所有未分配的数据块
空闲空间列表存储在哪里空闲空间列表的最佳数据结构是什么样的
用位图代表空闲数据块列表 使用简单但是可能会是一个big vector需要保护 执行空闲列表的指针位图 必须保存在磁盘上在内存和磁盘拷贝可能有所不同不允许block在内存中的状态为bit而在磁盘中bit 解决 在磁盘上设置bit[i]为1分配block[j]在内存中设置bit[i] 1 链式列表分组列表
RAID多磁盘管理
通常磁盘通过分区来最大限度减小寻道时间 一个分区是一个柱面的集合每个分区都是逻辑上独立的磁盘 分区硬件磁盘的一种适合操作系统指定格式的划分卷一个拥有一个文件系统实例的可访问的存储空间使用多个并行磁盘来增加 吞吐量可靠性和可用性 RAID - 冗余磁盘阵列 各种磁盘管理技术RAID levels:不同RAID分类 实现 在操作系统内核存储、卷管理RAID硬件控制器
RAID0
数据块分成多个子块存储在独立的磁盘中 和内存交叉相似 通过更大的有效块大小来看提供更大的磁盘带宽
RAID1
可靠性城北增长读取性线性增加 向两个磁盘写入从任何一个读取
RAID3
存储Bit-string 作奇偶校验
RAID4
数据块级磁带配有专用奇偶校验磁盘 允许从任意一个故障磁盘中恢复
RAID5
每个条带块有一个奇偶校验块 允许一个磁盘出错
RAID6
两个冗余块 有一种特殊的编码方式允许两块磁盘错误
组合方式
RAID01RAID10
其他
磁盘调度
读取或者写入时磁头必须被定为在期望的磁道并从所期望的扇区开始寻道时间定为到期望磁道所花费的时间旋转延迟从扇区的开始处到达目的处花费的时间平均班旋转延时时间磁盘旋转一周时间的一半
调度手段 先进先出 按顺序处理请求公平对待所有进程在很多进程的情况下接近随机调度性能 最短服务优先 选择从磁臂当前位置需要移动最少的I/O请求总选择最低端的寻道时间 SCAN方式 磁臂在一个方向上个移动满足所有未完成的请求知道磁臂到达该方向上的最后的磁道调换方向有时被称为 elevator algorithm C-SCAN 限制了仅在一个方向上的扫描当最后一个磁道也被访问过之后磁臂返回到磁盘的另外一端再进行扫描 C-LOOK C-SCAN的改进版本磁臂先到达该方向上最后一个请求处然后立即反转 N-step-SCAN 在SSTF/SCAN和CSCAN几种调度算法中都可能出现磁臂停留在某处不动的情况例如进程反复请求对某一个磁道的IO操作。我们把这一现象称为磁臂粘着N-step-SCAN算法是将磁盘请求队列分为若干个长度为N的字队列磁盘调度将按照FCFS算法依次处理这些子队列。而每处理一个队列时优势按照SCAN算法对每一个队列处理完成之后再处理其他队列当正在处理某个子队列时如果出现新的磁盘I/O请求便将新的请求进程放入其他队列这样就可以避免出现粘着现象 FSCAN FSCAN算法实质上是N步SCAN算法的简化即FSCAN只将磁盘请求队列分成两个子队列一个是由于当前所有请求磁盘I/O的进程形成的队列由磁盘调度按照SCAN算法仅此呢个处理。在处理某个队列期间将新出现的所有请求磁盘I/O的进程放入另一个等待处理的请求队列。这样所有的新请求都将被推迟到下一次扫描时处理
- 上一篇: 点创网站建设可以打开任何网站的软件
- 下一篇: 点击一个网站跳转到图片怎么做镇江网友之家
相关文章
-
点创网站建设可以打开任何网站的软件
点创网站建设可以打开任何网站的软件
- 技术栈
- 2026年03月21日
-
点菜网站模板wordpress 自定义文章
点菜网站模板wordpress 自定义文章
- 技术栈
- 2026年03月21日
-
典型的企业网站wordpress 自定义内容类型 pan
典型的企业网站wordpress 自定义内容类型 pan
- 技术栈
- 2026年03月21日
-
点击一个网站跳转到图片怎么做镇江网友之家
点击一个网站跳转到图片怎么做镇江网友之家
- 技术栈
- 2026年03月21日
-
点卡网站怎么做网站建设制作作业
点卡网站怎么做网站建设制作作业
- 技术栈
- 2026年03月21日
-
点评类网站建设wordpress购买用户组
点评类网站建设wordpress购买用户组
- 技术栈
- 2026年03月21日






