操作系统(Operating System)知识点复习——第十二章 文件管理

目录

0.前言

1.Overview

2.文件的组织方式

①The Sequential File 顺序文件

②The Pile堆

③The  Indexed Sequential File 索引顺序文件

④The Indexed File 索引文件

⑤The Direct or Hashed File 直接文件或者散列文件

3.文件目录

Structure 1:简单目录结构 Simple Structure for a Directory:目录项列表

Structure 2:两级目录 Two-level Scheme for a Directory

Structure  3:层次/树状结构目录 Hierarchical, or Tree-Structured Directory

4.文件共享

5.辅助存储管理

5.1 文件分配

①连续分配 Contiguous allocation

②链式分配 Chained allocation

③索引分配 Indexed allocation

5.2 空闲空间管理

①Bit tables 位表

②Chained free portions 链式空闲区

③Indexing 空闲索引表

④Free block list 空闲列表


0.前言

本系列文章旨在记录操作系统的知识点,可用于期末复习,笔者理解尚浅,文中不正之处静待批正。加粗高亮部分为重点。

1.Overview

文件系统的特性:

  • 长期存在
  • 进程共享
  • 结构化存储

File Management Systems 文件管理系统:用户和程序使用文件的唯一方式

2.文件的组织方式

文件组织评价标准:

  • 短的存取时间
  • 易于修改
  • 存储经济性
  • 维护简单
  • 可靠性

文件基础知识:

  • 文件操作:Create/Delete/Open/Close/Read/Write
  • 术语:Field (域) < Record (记录) < File (文件) < Database (数据库)
  • 文件的存储结构是指文件在外存上的组织方式

5种不同的组织方式:

①The Sequential File 顺序文件

  • 域都是相同的(长度,顺序)
  • 第一个域为关键域(key filed)
  • 新记录被放在日志文件(log file)事务文件(transaction file)
  • Batch update (成批更新):合并log file与主文件
  • 顺序文件多用于磁带
  • 顺序存储器(磁带)只能顺序查找
  • 直接存取存储器(磁盘)可以顺序查找,也可以分块查找二分查找

②The Pile堆

  • 到达时间存放
  • 域的长度不一定相同
  • 缺点:搜索不方便,只能穷举搜索(exhaustive search)无结构

③The  Indexed Sequential File 索引顺序文件

  • Sequential file + index + overflow file
  • 新纪录加入溢出文件中(overflow file)
  • 索引提供了快速查询的能力,索引查找关键字小于或者等于目标关键字的最大记录
  • 只有一个关键域
  • 采用batch update
  • Multiple level indexes 多级索引对于相同域可提高效率
  • 缺点:基于单个域

④The Indexed File 索引文件

  • 对于不同域用多级索引
  • 索引本身是顺序的,但记录非顺序
  • 索引查找记录
  • 可能包含完全索引exhaustive index部分索引partial index

⑤The Direct or Hashed File 直接文件或者散列文件
  • 每个记录均有一个关键域
  • 哈希函数基于关键域
  • 优点:文件可随机存放,不用排序;插入删除方便存取速度快不用索引区,节省存储空间
  • 缺点:不能进行顺序存取,只能按关键字随机存取

3.文件目录

目录:

  • 一个目录本身是一个文件
  • 提供文件名和文件之间的映射

结构:Directory entry 目录表项

操作:Search搜索、Create file创建、Delete file删除、List directory目录列表、Update directory更新目录

Structure 1:简单目录结构 Simple Structure for a Directory:目录项列表
  • 顺序文件代表目录,该目录下的文件名做该顺序文件的关键字
  • 文件不能重名

Structure 2:两级目录 Two-level Scheme for a Directory
  • master directory 主目录+One directory for each user 用户目录(简单列表)
  • 不能建子目录可重名

Structure  3:层次/树状结构目录 Hierarchical, or Tree-Structured Directory

  • 主目录下有用户目录
  • 每个文件均有路径名pathname,每个用户目录有子目录及可作为主目录的文件
  • 不同路径下文件可重名

文件系统挂载:启动时挂入根节点

4.文件共享

两个问题:存取权限同时存取控制

Access Rights:

  • None 无
  • Knowledge 知道
  • Execution 执行
  • Reading 读
  • Appending 追加
  • Updating 更新
  • Changing protection 更改保护
  • Deletion 删除
  • Owners 所有者(最大)

Simultaneous Access:更新时要上锁文件,更新中可锁定个人记录,需要考虑互斥与死锁

5.辅助存储管理

5.1 文件分配

portions 文件分区:

  • 一个分区对于一组连续的块,大小为block的倍数
  • 一个文件对应一个或多个分区
  • 文件分配表(FAT)来追踪文件分区

  • 预分配 Preallocation:需知道创建文件时的文件最大大小
  • 动态分配 Dynamic allocationallocation:当需要时再分配

分配策略:

①连续分配 Contiguous allocation
  • 文件创建时分配一组连续的块(预分配适用)
  • 文件分配表中只有一个项:起始块及文件长度
  • 优点:支持顺序访问直接访问(随机访问)
  • 缺点:会产生外部碎片(利用压缩),不便于扩展

②链式分配 Chained allocation
  • 基于单个块进行分配
  • 每个块都包含指向链中下一个块的指针
  • 文件分配表中只有一个项:起始块及文件长度
  • 优点:无外部碎片,适合顺序文件
  • 缺点:不支持随机访问,会破坏局部性查找效率低

③索引分配 Indexed allocation
  • 每个文件在文件分配表中有一个一级索引
  • 文件分配表指向该文件在磁盘上的索引块
  • 分配给文件的每个分区都在索引中都有一个表项
  • 优点:可顺序访问,也可直接访问

变长索引分配:

多层索引

混合索引

5.2 空闲空间管理
①Bit tables 位表

使用一个包含磁盘上每个块一个比特的向量(vetcor)

②Chained free portions 链式空闲区

通过在每个空闲部分中使用指针和长度值(pointer and length),可将空闲部分串联起来

③Indexing 空闲索引表

使用index table

④Free block list 空闲列表

Maintain the list of the numbers of all free blocks

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物联网应用技术综合实训室解决方案

一、背景 随着物联网技术的快速发展和广泛应用&#xff0c;物联网产业已经成为新的经济增长点&#xff0c;对于推动产业升级、提高社会信息化水平具有重要意义。因此&#xff0c;培养具备物联网技术应用能力的高素质人才成为了迫切需求。 传统的教育模式往往注重理论教学&…

Git--多人协作

目录 一、多人协作一二、多人协作二三、 远程分⽀删除后&#xff0c;本地git branch -a依然能看到的解决办法 一、多人协作一 ⽬前&#xff0c;我们所完成的⼯作如下&#xff1a; 1.基本完成Git的所有本地库的相关操作&#xff0c;git基本操作&#xff0c;分⽀理解&#xff0c;…

网站漏洞有哪些方法检查,网站常见漏洞扫描检测方案

在数字化时代&#xff0c;随着互联网的飞速发展&#xff0c;网站已经成为人们获取信息、交流互动的重要平台&#xff0c;网站安全对于企业和个人而言至关重要。但随着技术的不断发展&#xff0c;网站漏洞问题也日益凸显&#xff0c;给网络安全带来了严重威胁。 为了及时发现并…

【软考】设计模式之策略模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 优缺点5.1 优点5.2 缺点 6. 适用性 1. 说明 1.定义一系列的算法&#xff0c;把它们一个个封装起来&#xff0c;并且使它们可以相互替换。2.此模式使得算法可以独立于使用它们的客户而变化。3.策略模式&#xff08;Strategy Pattern…

《HCIP-openEuler实验指导手册》1.7 Apache虚拟主机配置

知识点 配置步骤 需求 域名访问目录test1.com/home/source/test1test2.com/home/source/test2test3.com/home/source/test3 创建配置文件 touch /etc/httpd/conf.d/vhost.conf vim /etc/httpd/conf.d/vhost.conf文件内容如下 <VirtualHost *.81> ServerName test1.c…

CONSOB 又下令封锁5个未经授权的投资网站,总数达1065

FX110讯&#xff1a;意大利金融市场监管局 CONSOB 已下令关闭 5 个非法提供金融服务/金融产品的网站。自2019年7月CONSOB有权下令封锁欺诈性金融网站以来&#xff0c;被封禁的网站数量已升至1065个。 以下是 CONSOB 下令新屏蔽的 5个网站&#xff1a; “Luno Invest” Vantage …

JSP:操作指令

目录 1.jsp:useBean操作 语法格式&#xff1a; 属性说明&#xff1a; scope作用域&#xff1a; 1.page&#xff1a; 2.request&#xff1a; 3.session&#xff1a; 4.application 案例&#xff1a; 2.jsp:setProperty操作 语法格式&#xff1a; 属性说明&#xf…

吾日三省吾身---对平常遇到的错误总结

✨个人主页&#xff1a; 不漫游-CSDN博客 前言 本篇文章是对平常练习遇到的问题总结&#xff0c;多吸取经验教训才能避免未来再犯~ Java语法部分 &#xff08;一&#xff09;多态 思考&#xff1a;这道题很明显考察的是多态的知识点&#xff0c;即一个对象可以被赋值给其父类…

【PyTorch 实战3:YOLOv5检测模型】10min揭秘 YOLOv5 检测网络架构、工作原理以及pytorch代码实现(附代码实现!)

YOLOv5简介 YOLOv5&#xff08;You Only Look Once, Version 5&#xff09;是一种先进的目标检测模型&#xff0c;是YOLO系列的最新版本&#xff0c;由Ultralytics公司开发。该模型利用深度学习技术&#xff0c;能够在图像或视频中实时准确地检测出多个对象的位置及其类别&…

鸿蒙内核源码分析(时钟任务篇)

时钟概念 时间是非常重要的概念&#xff0c;我们整个学生阶段有个东西很重要,就是校园铃声. 它控制着上课,下课,吃饭,睡觉的节奏.没有它学校的管理就乱套了,老师拖课想拖多久就多久,那可不行,下课铃声一响就是在告诉老师时间到了,该停止了让学生HAPPY去了. 操作系统也一样&…

LLM大语言模型(十三):ChatGLM3-6B兼容Langchain的Function Call的一步一步的详细转换过程记录

# LangChain&#xff1a;原始prompt System: Respond to the human as helpfully and accurately as possible. You have access to the following tools: Calculator: Useful for when you need to calculate math problems, args: {\calculation\: {\description\: \calcul…

自动化爬虫工具:you-get安装与使用

Windows下的安装命令&#xff1a; pip install you-get linux下的安装命令&#xff1a; pip3 install you-get 下载完成后&#xff0c;我们可以看到如下的警告&#xff0c;意思就是这个工具并未被添加到环境变量中&#xff0c;如果我们想在命令行中直接调用&#xff0c;需要…

vim的IDE进阶之路

一 ctags 1 安装 安装ctags比较简单&#xff0c;我用的是vim-plug&#xff0c;网络上随便一搜应该就有很多教程&#xff0c;而且没有什么坑 2 使用 vim之函数跳转功能_nvim函数跳转-CSDN博客https://blog.csdn.net/ballack_linux/article/details/71036072不过针对cuda程序…

2024年电子商务与大数据经济国际会议 (EBDE 2024)

2024年电子商务与大数据经济国际会议 (EBDE 2024) 2024 International Conference on E-commerce and Big Data Economy 【会议简介】 2024年电子商务与大数据经济国际会议即将在厦门召开。本次会议旨在汇聚全球电子商务与大数据经济领域的专家学者&#xff0c;共同探讨电子商务…

nacos-redis-springboot

新项目 准备工作 nacos 版本 2.0.3 redis 最终版本说明 springcloud-alibaba&#xff1a;2.2.7RELEASE springcloud&#xff1a;Hoxton.SR12 springboot&#xff1a;2.3.12.RELEASE Nacos&#xff1a;2.0.3 步骤 启动nacos和redis 准备nacos配置文件 server: port…

使用frp实现内网穿透教程

文章目录 简介frp 是什么&#xff1f;为什么选择 frp&#xff1f; 概念工作原理代理类型 内网穿透教程服务端安装和配置本地Windows&#xff08;客户端&#xff09;安装和配置本地Linux虚拟机&#xff08;客户端&#xff09;安装和配置使用 systemd 管理服务端注意事项 简介 f…

GPT学术优化推荐(gpt_academic )

GPT学术优化 (GPT Academic):支持一键润色、一键中英互译、一键代码解释、chat分析报告生成、PDF论文全文翻译功能、互联网信息聚合GPT等等 ChatGPT/GLM提供图形交互界面&#xff0c;特别优化论文阅读/润色/写作体验&#xff0c;模块化设计&#xff0c;支持自定义快捷按钮&…

在线培训考试系统在线考试功能注意事项

在线培训考试系统在线考试功能注意事项 考试前务必注意是否开启防切屏、摄像头监考等防作弊措施&#xff0c;系统一旦检测到触发了疑似作弊行为会立刻自动交卷&#xff0c;考试终止&#xff1b; 答题者准备好后&#xff0c;可点击“开始答题”按钮进入考试&#xff0c;注意考…

【Vue】如何创建一个Vue-cli程序

一、准备工作 1、下载Node.js 官网地址 https://nodejs.org/en 2、查看版本 cmd下通过node-v,查看版本号&#xff1b; cmd下通过npm-v,查看是否打印版本号。 3、安装淘宝加速器 npm install cnpm -g 4、安装Vue-cli cnpm install vue-cli -g 二、创建Vue程序 1、创建一个V…

Aurora-64B/10B、XDMA与DDR结合设计高速数据流通路设计/Aurora光纤设计/XDMA读取DDR设计/基于FPGA的高速数据传输设计

因最近想通过FPGA把数据从光纤传到PC&#xff0c;借此机会和大家一起学习Aurora、XDMA结合DDR 制作不易&#xff0c;记得三连哦&#xff0c;给我动力&#xff0c;持续更新&#xff01;&#xff01;&#xff01; 完整工程文件下载&#xff1a;XDMA读写DDR工程 提取码&…