操作系统中的文件系统概念和实现&磁盘结构和调度算法

文件系统

文件系统概念

文件系统是操作系统中管理持久数据的核心子系统。它提供了一种抽象机制,使用户能够方便地在磁盘上存储和检索信息,而无需了解底层存储细节。

文件

文件定义

文件是字节序列的抽象,为操作系统提供了最大的灵活性。

文件命名

不同操作系统采用不同的文件系统和命名约定:

  • FAT16/32: MS-DOS和早期Windows系统
  • NTFS: 较新的Windows系统
  • exFAT: 微软优化的FAT系统
  • ext2/3/4: Linux系统常用文件系统

文件结构

  • 字节序列: 最简单和最灵活的结构
  • 记录序列: 具有固定长度记录的序列
  • 树状结构: 按键字段排序的记录树

文件类型

  • 普通文件: 用户创建的数据文件
  • 目录: 包含其他文件信息的特殊文件
  • 字符特殊文件: 用于I/O的设备文件(UNIX系统)
  • 块特殊文件: 用于块设备的文件(UNIX系统)

文件访问方法

  • 顺序访问: 按顺序读取所有字节,早期操作系统只有这种类型
  • 随机访问: 可以直接访问文件中的任意位置

文件属性

包括创建日期、修改时间、所有者、大小等元数据信息。

文件操作

主要的文件操作系统调用包括:create, delete, open, close, read, write, append, seek, get attributes, set attributes, rename

目录

在很多操作系统中,目录本身也是文件

目录结构

  • 一级目录系统: 所有文件都在一个目录中
  • 层级目录系统: 树状结构,允许更好的文件组织

路径名

  • 绝对路径: 从根目录开始的完整路径
  • 相对路径: 相对于当前工作目录的路径

目录操作

主要的目录操作包括:create, delete, opendir, closedir, readdir, rename, link, unlink

文件系统实现

文件存储实现的关键问题是记录各个文件分别用到哪些磁盘块。不同的操作系统用到不同的方法

文件系统布局

  • 主引导记录(MBR): 包含分区表和引导代码。结尾是分区表。该表给出每个分区的起始结束地 址
  • 分区: 每个分区包含独立的文件系统

文件实现方式

定义 优点 缺点
连续分配 文件占用连续的磁盘块 实现简单&操作性能较好
链表分配 文件块通过链表连接 充分利用磁盘块&随机访问快 占用字节,每个磁盘块存储数据的字节数不再是2的整数次幂</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值