文件目录
1.操作系统的概念与功能2.操作系统的特征3.操作系统的发展与分类4.操作系统的运行机制5.中断和异常6.系统调用7.计算机系统体系结构8.操作系统引导 (Boot)9.虚拟机10.进程的概念、组成、特征11.进程的状态与转换、进程的组织12.进程控制13.进程通信14.线程的概念、作用和属性15.线程的实现方式和多线程模型16.线程的状态与转换、组织与控制17.调度的概念与层次18.进程调度的时机、方式、切换与过程19.闲逛进程20.调度算法的评价指标21.调度算法22.调度算法(一)23.调度算法(二)24.调度算法(三)25.进程同步与进程互斥26.进程互斥的软件实现方法27.进程互斥的硬件实现方法28.互斥锁29.信号量机制30.信号量实现进程互斥、同步、前驱关系31.生产者-消费者问题32.多生产者-多消费者问题33.吸烟者问题34.读者-写者问题35.哲学家进餐问题36.管程37.死锁38.死锁的处理策略39.(一)预防死锁40.(二)避免死锁41.(三)死锁检测和解除42.内存的基础知识43.内存管理的概念44.覆盖与交换45.连续分配管理方式46.动态分区分配算法47.基本分页存储管理的基本概念48.基本地址变换机构49.具有快表的地址变换机构50.两级页表51.基本分段存储管理方式52.段页式管理方式53.虚拟内存的基本概念54.请求分页管理方式55.页面置换算法56.页面分配策略57.内存映射文件58.初识文件管理59.文件的逻辑结构
60.文件目录
61.文件的物理结构(文件分配方式)62.逻辑结构与物理结构63.文件存储空间管理64.文件的基本操作65.文件共享66.文件保护67.文件系统的层次结构68.文件系统的全局结构(布局)69.虚拟文件系统&文件系统挂载(安装)70.IO设备的概念和分类71.IO控制器72.IO控制方式73.IO软件层次结构74.IO应用程序接口&设备驱动程序接口75.IO核心子系统76.假脱机技术(SPOOLing技术)77.设备的分配与回收78.缓冲区管理79.磁盘的结构80.磁盘调度算法81.减少延迟时间的方法82.磁盘的管理83.固态硬盘文件目录
一、文件目录的实现
目录结构使文件之间的组织结构清晰,易于查找,使编程时也可以很方便地用文件路径找到一个文件。
目录本身是一种有结构文件,由一条条记录组成。每条记录对应一个放在该目录下的文件。
一条记录即一个文件目录项,对应一个 FCB 文件控制块 File Control Block。
对目录需要进行如下操作:
- 搜索:当用户要使用一个文件时,系统要根据文件名搜索目录,找到该文件对应的目录项
- 创建文件:创建一个新文件时,需要在其所属的目录中增加一个目录项
- 删除文件:当删除一个文件时,需要在目录中删除相应的目录项
- 显示目录:用户可以请求显示目录的内容,如显示该目录中的所有文件及相应属性
- 修改目录:某些文件属性保存在目录中,因此这些属性变化时需要修改相应的目录项(如:文件重命名)
二、目录结构
(一)单级目录结构
特征:
- 实现了“按名存取”
- 不允许文件重名
(二)两级目录结构
特征:
- 分为 MFD 主文件目录 Master File Directory 和 UFD 用户文件目录 User File Directory
- 允许不同用户的文件重名
- 可以通过登录时的用户名是否匹配在目录上实现访问限制
- 缺乏灵活性,用户不能对自己的文件进行分类
(三)多级目录结构(树形目录结构)
特征:
- 访问某个文件要用文件路径名表示文件
- 路径分为“绝对路径”和“相对路径”
相对路径的设立是因为在用户会连续访问同一目录内的多个文件的场景下,每次都从根目录开始查找需要进行多次读磁盘 I/O 操作,极其低效。
- 层次结构清晰,更有效地进行文件的管理和保护
- 不便于实现文件的共享(提出了下面的无环图目录结构)
(四)无环图目录结构
特征:
- 目录结构通常为有向无环图
有向无环图 DAG :首先它是一个图,然后它是一个有向图,其次这个有向图的任意一个顶点出发都没有回到这个顶点的路径,是为有向无环。DAG 可以执行拓扑排序。
- 可以更方便地实现多个用户间的文件共享
共享文件 ≠ 复制文件
三、索引节点(FCB的改进)
特征:
- 保留 FCB 的最基本和最关键的文件名项,将其他信息封装为指针,减少目录表占用的内存空间大小
- 只有在需要某个文件且找到了对应文件名的目录项时,才将索引节点调入内存
- 分为存放在外存的 “磁盘索引节点” 和调入内存后的 “内存索引节点” (需要增加信息)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现