考研OSchap4文件管理chap5磁盘管理(部分)

news2024/11/26 14:44:05

目录

一、整体认知

1.文件的定义 250

2.文件的属性 251

3.文件内部应该如何被组织(逻辑结构) 256

4.文件之间应该如何被组织起来(目录结构) 252

5.OS应该向上提供哪些功能 253

6.文件应该如何存放在外存中(物理结构) 258

7.OS如何管理外存中的空闲块(存储空间的管理) 258

8.OS需要提供的其他文件管理功能- 文件共享283+文件保护255

二、文件的逻辑结构 256

1.无结构文件

2.有结构文件

(1)顺序文件

1)串结构

2)顺序结构(default)

(2)索引文件

(3)索引顺序文件

(4)直接文件(散列文件)(Hash File)

三、文件目录

1.文件目录的实现 252

2.目录结构 280

(1)单级目录结构

(2)两级目录结构

(3)多级目录结构(树形)

(4)无环图目录结构

3.索引结点 252

四、文件的物理结构 258

1.连续分配

2.链接分配

(1)隐式链接

(2)显示连接

(3)索引分配

1)单级索引

1+)链接方案

2)多级索引

3)混合索引

五、逻辑 vs 物理

六、文件存储空间管理 294

1.空闲表法

2.空闲链表法

1)空闲盘块链

2)空闲盘区链

3.位示图法

4.成组链表法

5.考点

七、文件的操作 253

1.创建

2.打开

3.读

4.写

5.关闭

6.删除

7.打开 vs 读

八、文件共享 283

1.利用索引节点实现的文件共享(硬链接)

2.利用符号链实现的文件共享(软连接)

九、文件保护 255

1.口令保护

2.加密保护

3.访问控制

十、文件系统的层次结构  293

十一、文件系统的全局结构(布局) 294

十二、虚拟文件系统  VFS297

1.background

2.特点

(1)屏蔽了不同FS的差异和操作细节,为上层用户提供了文件操作

(2)VFS要求下层FS实现基本的函数操作。新加入的FS必须满足该系统中VFS的要求

(3)每打开一个file,VFS会在内存中创建一个vnode,用统一的DS表示文件data。创建vnode的时候会将该文件的属性copy到vnode中,并指向对应FS的函数区

十三、disk的结构 336  

1.磁盘、磁头、磁道、扇区

2.读写disk

3.柱面、盘面

4.disk的物理地址

5.classification

(1)根据磁头是否可动

(2)根据磁盘是否可更换

十四、disk调度算法 339

1.一次disk读写花费的时间

2.磁盘调度算法

(1)先来先服务(FCFS)

(2)最短寻道时间优先(SSTF)

(3)扫描算法(电梯算法)(SCAN)

(4)循环扫描(C-SCAN)

(5)LOOK

(6)C-LOOK

十五、减少延迟的方法 342

(1)交替编号

(2)错位编号

(3)disk地址结构的设计

十六、disk管理 337

1.disk初始化

2.引导快

3.坏块

十七、固态硬盘SSD 343

1.原理

2.组成

3.读写性能

4. vs 机械硬盘

(1)随机读写速度快,连续读写慢

(2)安静

(3)擦除多了坏了

5.磨损均衡技术

(1)动态

(2)静态


一、整体认知

chap4整体上分为文件、目录、文件系统;此blog根据王道讲课顺序编写,so包括chap5磁盘管理的部分内容

1.文件的定义 250

2.文件的属性 251

3.文件内部应该如何被组织(逻辑结构) 256

4.文件之间应该如何被组织起来(目录结构) 252

5.OS应该向上提供哪些功能 253

6.文件应该如何存放在外存中(物理结构) 258

7.OS如何管理外存中的空闲块(存储空间的管理) 258

8.OS需要提供的其他文件管理功能- 文件共享283+文件保护255

二、文件的逻辑结构 256

1.无结构文件

eg:文本文件 text.txt

2.有结构文件

根据记录长度 分成定长记录 or 变长记录

根据物理上分为顺序存储 or 链式存储  ana ->线性表

(1)顺序文件

顺序存储,根据是否跟kw有关分成串(无关) or 顺序

1)串结构

与kw无关,通常按照时间顺序排列

2)顺序结构(default)

all:是否可随机存取,是否可快速找到kw

(2)索引文件

利用索引表

disa:只能顺序查找,效率低

(3)索引顺序文件

先分组,后索引 ,1:多  -> 1:1

(4)直接文件(散列文件)(Hash File)

根据散列函数进行映射,

disa:可能会冲突

三、文件目录

1.文件目录的实现 252

由FCB、索引结点组成

2.目录结构 280

(1)单级目录结构

只能建立一张目录表

disa:不允许多用户

(2)两级目录结构

两级目录,一级为用户,二级为文件

disa:不能对文件进行分类

(3)多级目录结构(树形)

常用的,现在OS中

disa:I/O次数较多,不便于实现文件共享

可以使用相对path减少I/O读写次数

(4)无环图目录结构

使用共享计数器count表示有多少user使用该文件,当count=0,才删除该文件

3.索引结点 252

FCB优化,索引结点中存在除文件名以外的信息

四、文件的物理结构 258

表示文件在空闲磁盘块上如何分配并记录

1.连续分配

连续分配,用目录表示空闲块

2.链接分配

(1)隐式链接

从一个空闲块开始,依次链接后面的空闲块

(2)显示连接

使用FAT表示,根据文件进行分类,FAT仅记录文件块的初始地址,之后通过链接后面的空块

(3)索引分配

1)单级索引

利用一个索引块表示所有空块,目录中表示索引块是多少号,so查空闲块就找目录即可

disa:大文件索引块太多了(索引块大小有限)

1+)链接方案

将所有索引块链式存储

disa:查找后一个必须前面的全部查完,效率低

2)多级索引

一级一级的

3)混合索引

综合使用,适用小、中、大、特大型文件

五、逻辑 vs 物理

逻辑是给用户看的,物理是OS实际的

六、文件存储空间管理 294

文件存储在disk中,那磁盘中的空闲块如何知道呢?

1.空闲表法

用一个table表示空闲块

2.空闲链表法

链式存储表示

1)空闲盘块链

2)空闲盘区链

第一个表示序号,第二个表示空闲块块数

3.位示图法

用0 1 表示空闲/使用

要求会相互转换,直观上算行列即可,不记公式

4.成组链表法

将空块分成一组一组的,之后多级索引分开

每一号栈中,头部第一块表示这一块有多少空闲块,之后每一块表示空闲块号

第一号栈(空闲块号栈),之后的每一块表示整个disk中所有磁盘块组的头号

5.考点

①位示图法会算位号、行号及对应位置的相互转换计算

②分配和回收

七、文件的操作 253

1.创建

create 系统调用

2.打开

open 系统调用

3.读

read 系统调用

4.写

write 系统调用

5.关闭

close 系统调用

6.删除

delete 系统调用

7.打开 vs 读

open 系统调用仅是将文件目录读入内存,读的时候才将文件data放入内存

八、文件共享 283

1.利用索引节点实现的文件共享(硬链接)

索引结点中指向该文件,链接的是实际的file

利用count计数器表示有多少系统引用了该file

2.利用符号链实现的文件共享(软连接)

创建了一个快捷方式

九、文件保护 255

1.口令保护

用一个口令表示user正确

adv:开销小

disa:口令保存在系统中,so不安全

2.加密保护

使用正确密码解密

adv:开销小,安全

disa:费时间

3.访问控制

使用ACL对不同user or class 进行权限的分配

adv:实现灵活,可以实现负责的文件保护

十、文件系统的层次结构  293

十一、文件系统的全局结构(布局) 294

看图

十二、虚拟文件系统  VFS297

1.background

多种FS的存在导致user使用时需要将一份file编写成对应的格式

so为了解决,引入 VFS

2.特点

(1)屏蔽了不同FS的差异和操作细节,为上层用户提供了文件操作

(2)VFS要求下层FS实现基本的函数操作。新加入的FS必须满足该系统中VFS的要求

(3)每打开一个file,VFS会在内存中创建一个vnode,用统一的DS表示文件data。创建vnode的时候会将该文件的属性copy到vnode中,并指向对应FS的函数区

十三、disk的结构 336  

tip:看图

1.磁盘、磁头、磁道、扇区

2.读写disk

step:

step1:根据柱面号移动磁臂,让磁头指向指定磁面

step2:激活磁头

setp3:disk旋转,磁头划过,就完成了

3.柱面、盘面

4.disk的物理地址

采用(柱面号·盘面号·扇面号)

reason:减少磁头移动次数(物理移动开销较大) ,与(盘·柱·扇)相比

5.classification

(1)根据磁头是否可动

活动头磁盘 or 固定头磁盘

(2)根据磁盘是否可更换

可换盘磁盘 or 固定盘磁盘

十四、disk调度算法 339

1.一次disk读写花费的时间

寻道时间+旋转延迟时间+传输时间

寻道:移动磁头到对应磁道,启动磁头

旋转延迟:找到data开始扇区位置

传输:读写

so能够优化的主要是寻道时间,减少磁头移动的磁道即可减少寻道时间

2.磁盘调度算法

target:优化寻道时间

(1)先来先服务(FCFS)

公平

(2)最短寻道时间优先(SSTF)

贪心算法思想,只顾眼前优,会产生饥饿

ATTN:前一两个移动需要比较,不是一开始确定了方向就一直走

(3)扫描算法(电梯算法)(SCAN)

到磁道头才转向,中途路过请求就进行处理

存在两个问题

ques1:不用到磁道头再掉头

ques2:每个请求处理的频次不同,也就是可能频繁处理一边的请求

(4)循环扫描(C-SCAN)

开始朝向某方向时路过请求时进行处理,掉头回来之后直接到另一头,中间路过的请求不进行处理

eg:18 38 39 55 58 90 150 160 184 200 初始100,往右走

(5)LOOK

SCAN优化,不用到磁道头,读写请求头即可掉头

eg:18 38 39 55 58 90 150 160 184 200 初始100,往右走

(6)C-LOOK

LOOK优化,同C-SCAN处理方式

eg:18 38 39 55 58 90 150 160 184 200 初始100,往右走

十五、减少延迟的方法 342

在一次读写disk之后,磁头都需要准备一段时间

(1)交替编号

 if连续读两块连在一起的disk块的话,还没准备好就已经到了下一块的内容了,so将逻辑上相邻的disk块在物理上间隔,就可以避免这个问题

(2)错位编号

同一柱面位置上的编号按道理来说是相同的,但是if读完上一个盘面的扇区上的data后需读下一个盘面上相邻的扇区data,就会错过

so 编号进行错位

(3)disk地址结构的设计

使用(柱面号·盘面号·扇面号)

磁头的移动次数少,与(盘面号·柱面号·扇面号)相比

十六、disk管理 337

1.disk初始化

低级(物理)初始化:分成相同大小块

高级初始化:包括具体data和功能块

2.引导快

3.坏块

十七、固态硬盘SSD 343

1.原理

闪存技术

2.组成

闪存翻译区,存储介质

3.读写性能

以页为单位读写,以块为单位擦除

4. vs 机械硬盘

(1)随机读写速度快,连续读写慢

(2)安静

(3)擦除多了坏了

5.磨损均衡技术

先用年轻的,老的歇着

(1)动态

先使用擦除次数少的

(2)静态

根据文件读写次数,不经常写的放在老的,经常写的放年轻的

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

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

相关文章

基于数据挖掘与机器学习揭秘脱发主因

🌟欢迎来到 我的博客 —— 探索技术的无限可能! 🌟博客的简介(文章目录) 基于数据挖掘与机器学习揭秘脱发主因 目录 一、绪论背景描述数据说明内容大概 二、导入包以及数据读取三、数据预览四、探究导致脱发的因素4.1…

Java随笔1

1.编程中组件的概念: 在编程中,组件(Component)通常指的是一种可重用的、模块化的代码单元,它封装了特定的功能或用户界面元素,并提供了与其他代码进行交互的接口。组件可以看作是对数据和方法的简单封装&…

docker-compose安装emqx集群(最新)(host模式)

机器: 10.60.0.20 10.60.0.21 10.60.0.22 一、三台机子都配置域名(/etc/hosts) 10.60.0.20 node1.emqx.io 10.60.0.22 node3.emqx.io 10.60.0.21 node2.emqx.io 二、docker-compose.yml(10.60.0.21) 其他两台机子自…

机器学习(五) ----------决策树算法

目录 1 核心思想 2 决策树算法主要步骤 3 决策树算法的分类 3.1 ID3算法(Iterative Dichotomiser 3): 3.1.1 基本步骤 3.1.2 原理 信息增益 3.1.3 注意事项 3.2 C4.5算法: 3.2.1. 信息增益率 计算公式 3.2.2. 构建决策…

Xshell 7官网免费版下载与安装详细教程!学校/家庭使用免费哦~

一、 安装 1 卸载之前安装的xshell, 未安装忽略此步骤 2 解压本地文件,双击运行xshell**.exe, 按照提示安装 等候引导完成 3 点击下一步 4接受下一步 5 选择安装的路径 改成你自己的安装路径 6程序文件夹选择默认 7 取消勾选,激活之后操作 8 激活&…

基础ArkTS组件:帧动画,内置动画组件,跑马灯组件(HarmonyOS学习第三课【3.6】)

帧动画 帧动画也叫序列帧动画,其原理就是在时间轴的每帧上逐帧绘制不同的内容,使其连续播放而成动画。ArkUI开发框架提供了 ImageAnimator 组件实现帧动画能力,本节笔者介绍一下 ImageAnimator 组件的简单使用。 官方文献 说明 该组件从A…

编写Ansible角色实现分布式LNMP安装

前言 本文将介绍如何使用 Ansible 编写角色,在分布式环境下完成 LNMP(Linux、Nginx、MySQL、PHP)的自动化(编译)安装和配置,并验证 PHP 与 MySQL 数据联通性,实现博客和论坛页面的展示。 常规…

[数据集][目标检测]电力场景安全帽检测数据集VOC+YOLO格式295张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):295 标注数量(xml文件个数):295 标注数量(txt文件个数):295 标注类别…

Web自动化 - selenium

文章目录 一、selenium的使用selenium的安装 二、元素1. 定位选择元素1.id 定位2. class_name 定位find_element 和 find_elements的区别3. TAG_NAME 定位4. 超链接 定位 2. 操控元素1. 查询内容2. 获取元素文本内容3. 获取元素属性 3. 浏览器常用操作API4. 鼠标操作 - perform…

微信小程序 17:小程序使用 npm 包和组件应用

目前,小程序中已经支持实用 npm 安装第三方包,从而提高小程序的开发效率,但是在小程序中使用 npm 包有三个限制: 不支持 Node.js内置库的包不支持依赖于浏览器内置对象的包不支持依赖于 C插件的包 Vant Weapp Vant Weapp是有赞…

合专家模型 (MoE) 详解

本文转载自:混合专家模型 (MoE) 详解 https://huggingface.co/blog/zh/moe 英文版:https://huggingface.co/blog/moe 文章目录 一、简短总结二、什么是混合专家模型?三、混合专家模型简史四、什么是稀疏性?五、混合专家模型中令牌的负载均衡…

战火重燃!全球仓储机器人内卷大盘点~

导语 大家好,我是智能仓储物流技术研习社的社长,老K。专注分享智能仓储物流技术、智能制造等内容。 新书《智能物流系统构成与技术实践》 随着全球经济的持续发展和电子商务的迅速崛起,仓储和物流行业正面临着前所未有的挑战与机遇。 在这个背…

LeetCode 题目 121:买卖股票的最佳时机

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…

【C语言项目】贪吃蛇(下)

个人主页~ 源码在Gitee仓库~ 上一篇贪吃蛇(上)~ 贪吃蛇 四、核心的实现游戏测试1、GameStart(1)控制台窗口大小和名字设置(2)光标隐藏(3)打印欢迎界面(4)创建…

18 【Aseprite 作图】工具栏介绍

1 在没有输入法的情况下, 按住Shift 大写的N,就可以快速新建图层 ctrl z 撤回这个图层 2 双击图层,可以修改图层名称和属性 3 按住图层,拖动图层,可以把图层拉到 组,就可以方便一组一组管理图层 4 保存的…

Windows Docker 使用 httpd 部署静态 Web 站点

一、简介 httpd 是 Apache超文本传输协议(HTTP)服务器的主程序,是一个独立运行的后台进程,专门负责处理 HTTP 请求。它通过建立子进程或线程的池来高效管理请求,确保服务器能够迅速响应客户端的需求。httpd 因其高效率…

创新案例|为何农夫山泉创新战略升级为一家零售科技公司

农夫山泉上市的消息被公之于众后,几乎所有人都将目光投向了这家国内家喻户晓的饮料公司,谁都想第一时间内窥探它的庐山真面目。 当然,在此之前已经有多路消息通过旁敲侧击,从管窥中获取了一些农夫山泉的真实数据。 去年6月&…

全面了解 LLM 微调——根据应用场景独特需求定制大型语言模型

1.概述 截至2023年,大型语言模型(LLM)的发展确实在不断进步,涌现出了多种新的模型,如ChatGLM、Alpaca、Falcon以及Llama 2,还有GPT-4等。这些模型在自然语言处理领域展现出了强大的潜力,它们能…

Zookeeper 注册中心:单机部署

序言 本文给大家介绍 Zookeeper 单机部署流程、 如何与 Spring 整合使用。除此之外,还有 Zookeeper 作为注册中心与 SpringCloud 的整合流程。 一、部署流程 官网下载 Zookeeper 安装包 解压安装包到指定目录 进入 apache-zookeeper-3.8.4-bin/conf 目录&…

最大子矩阵:前缀和、动态规划

最近在学习动态规划,在牛客上刷题时碰到了这一题。其实最初的想法是暴力和前缀和,但是时间复杂度极高,需要套4层循环。后来去网上搜了一下相关的题解和做法,进而了解到了前缀和+线性动态规划的做法。但是在成功做出这题…