操作系统(五)

本文详细介绍了操作系统中的文件系统,包括文件和文件系统的概念、文件分配方式(连续分配、链式分配、索引分配)、提高I/O速度的策略(高速缓存、提前读、延迟写、RAID)以及磁盘调度算法(FCFS、SSTF、SCAN系列)。通过对文件别名、文件系统类别、虚拟文件系统和磁盘调度的探讨,揭示了操作系统如何管理和优化文件存储与访问效率。
摘要由CSDN通过智能技术生成

 引言

由于内存是易失的,断电就会丢失,所以需要文件来保存数据。而文件系统就是用于管理操作系统中的文件。
这篇文章是写得最懵的...知识点都比较杂乱,可能逻辑性没有组织的特别好。
见谅呀(>﹏<)

文章导读

  • 文件和文件系统相关概念
  • 文件别名与文件系统类别
  • 文件分配(连续分配,链式分配,索引分配)
  • 提高I/O速度的方法(高速缓存,提前读,延迟写,优化物理块分布,虚拟盘,RAID)
  • 磁盘调度算法(FCFS,SSTF,SCAN系列)

一、文件和文件系统相关概念

文件系统:一种用于持久性存储的系统抽象。
文件:系统中一个单元的相关数据在操作系统中的抽象。

文件系统的功能
1.分配文件磁盘空间
管理文件块;管理空闲空间;分配算法。

2.管理文件集合
定位文件及其内容;命名(通过名字找到文件的接口);最常见的是分层文件系统。

3.提供便利及特征
保护数据安全 ;保持文件的持久即使发生崩溃,媒体错误攻击,也要减少数据的丢失等。

文件头
文件头存储文件的元数据信息,属性以及跟踪哪一块存储块属于逻辑上文件结构的哪个偏移。

文件描述符
文件描述符用于内核跟踪每个进程打开的文件,操作系统为每个进程维护一个打开文件表,一个打开文件描述符就是这个表中的索引。C语言中的open()函数返回的就是一个文件描述符。

对于一个文件,需要许多的元数据来对其进行管理。其中包括:

  • 文件指针:指向最近一次读写位置,每个打开了这个文件的进程都是这个指针。
  • 文件打开计数:记录文件打开的次数,当最后一个进程关闭了文件时,允许将其从打开文件表中移除。
  • 文件磁盘位置:缓存访问信息。
  • 访问权限:每个程序访问模式信息。

如果将所有文件进行线性的显示,则显得杂乱无章,所以需要目录来组织文件。下面看看目录相关的概念。

目录

文件是以目录的方式组织起来,目录也是一类特殊的文件。值得注意的是,操作系统只允许内核状态下修改目录,以确保映射的完整性。

根据目录找到对应文件的过程叫做名字解析。是将逻辑名字转换成物理资源的过程,遍历文件目录直到找到目标文件。

二、文件别名与文件系统类别

2.1 文件别名

文件别名可分为软链接硬链接。软链接是以“快捷方式”指向其他文件,通过存储文件的逻辑名称来实现;而硬链接是多个文件项指向一个文件。后续会讲,多个硬链接文件对应一个inode,当这个inode改变时,硬链接文件中的内容也会同步。

2.2 文件系统的类别

文件系统主要分为磁盘文件系统(文件存储在数据存储设备上),数据库文件系统(文件根据其特征是可被寻址的),日志文件系统(记录文件系统的修改/事件),网络/分布式文件系统特殊/虚拟文件系统。下面主要说虚拟文件系统。

2.2.1 虚拟文件系统

虚拟文件系统是对所有不同文件系统的一层抽象,通过虚拟文件系统来屏蔽底层文件系统的差异。

<
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值