408强化(番外)文件管理

有点看不下去书,408,哎好久没看了,死磕数学时完全不想看其他科目,数学分数也尚未质变。

突然想到一个好点子,只看大纲尝试回忆一下这章的内容。

文件就是为了方便用户使用,按名访问而提出的,从组成上来看,是一系列的数据元素构成的,就是各种记录的集合吧,反正是组织一些数据。

文件管理主要是聚焦物理结构,用户关心的是逻辑结构,操作系统要做的是逻辑结构转换为物理结构和物理结构怎样安排。

先看逻辑结构,无结构文件又称流式文件,是一类相同的记录构成的,比如一堆二进制代码和文本文件,读取就是挨个读,可以说是集合这种逻辑结构。有结构文件的逻辑结构就不再是集合这种没有关系的结构了,记录定长与非定长,顺序存储还是链式存储,记录本身顺序还是无序,一共八种组合,链式存储都无法随机存取,非定长的要知道前面每个记录的长度才能计算给定记录的存储位置,顺序文件在408中默认是顺序存储的顺序文件,可以支持随机存取和折半查找。然后就是索引文件,一个索引表项对应一个记录。索引顺序文件是一个索引表项对应一组记录,索引顺序文件和分块查找是类似的,可以大大简化查找记录的查找次数。还有哈希文件,按内容访问。

文件管理更重要的是物理结构,大题也全部都是考的是物理结构,一种是Unix使用的索引结点的模型,一种是使用文件分配表FAT的模型。先看物理结构都分为什么,顺序结构,某文件的数据块在外存中必须连续存储,这种方式方便访问但是不易扩容。链式结构,一种就是普通的在一个数据块中分出几字节链接到下一个数据块,这种就不支持随机访问了,必须一个一个全部给我调入内存,还有一种链式结构就是使用FAT,开机后在内存中打开一个文件分配表FAT,根据FAT就能找到所有数据块的位置,它使用的是静态数组,就是单链表用数组实现的那种方式,这个印象很深,有一年的真题第一题就是考这个,第一次做是知道的,第二次模拟时忘了这种方式了,死活不知道那个表到底表示什么意思。此外树的双亲表示法也是用的这个数据结构,还有并查集,扯远了。FAT查找想访问数据块的地址因为是在内存中实现的,耗时几乎可以忽略。此外就是索引分配方式,提到这里不由吐槽,把物理结构和逻辑结构起的名字搞这么像干嘛,像就算了,课后题一堆错题垃圾题,混着考你。索引分配就是把一个外存块作为一个索引块,每个索引表项能表示一个外存块的地址,这样能大大提高可寻址的数据块的多少,应该是支持随机访问的把,读索引块的表项就能知道想访问的逻辑块号在哪一个外存块。此外还有二级乃至多级索引。这里又想到了王道课后题的几个错题,问多级索引能表示的数据块多少,它的答案不能超过一个索引表项位数能表示的数据块的多少,真题考过好几次这种,但都没有超过,出题老头应该是设计好的。然后就是混合索引分配,这就引出了大题最爱考的Unix的那个结构,10个直接地址索引,一个一级索引,一个二级,一个三级。物理结构应该就这么点内容,剩下的都是小题内容。

一个文件对应一个PCB,一个PCB就是一个目录项,多个目录项组成目录文件,也是一种文件。文件分为三种:普通文件,目录文件,特殊也就是I/O文件。查找文件是只需读名字,把PCB中的其他信息一块读出来浪费开销,于是引入了索引结点,只保留名字,然后指向一个什么什么区,固定位置,你去那找全部的目录信息然后再读数据块。文件的操作没啥好说的,主要是读和写文件之前要先打开文件,整个系统有一张打开文件表,每个进程维护各自的打开文件表,打开文件就是把对应的索引项的信息读入内容,然后对应于进程打开文件表中的一项,这个项有个什么什么编号,Open操作就是访问整个编号。文件的保护,记得课后题有几个说法一直记不清,文件的属性和用户的访问权限好像是最重要的。访问矩阵的每一个比特表示某用户针对某功能是否有权限。

目录,根目录文件很重要,开机时好像就到内存中了,目录的结构记不清怎么分的了,一开始是不允许重名,然后是根目录下不同用户才允许重名,也就是树形结构,最后还有个图型结构应该不考。目录的操作有啥啊,这个是真不知道了,更改还是添加目录或是添加普通文件把。软链接就是快捷方式,不会改变计数指针,硬链接当计数指针为0时才能删除。

外存空闲空间的管理方法就是用数组存储,用链表存储,还有位示图法,这个真题爱考,行列代表什么有点不清楚了,最后有个超级块,基本方式是什么,然后临界情况,一轮的时候清楚了,现在肯定是说不清了,有点复杂的一个过程,感觉不如多级反馈队列好记。剩下的内容就是新大纲的考点了,其中还包括操作系统引导吧,这个是考过的。剩下的真的是太抽象了,连背题都不好背,这个再过一遍基础课视频吧,11月再看吧,不然还要忘。

更正及补充:目录项仅有文件名和索引结点指针的对应,索引结点是在外存中Inode区中,固定区域。打开操作返回的那个编号是文件描述符,fd。 

不是有序的那个叫串结构。索引文件的提出是为了针对可变长记录不能随机存取。链式分配那个叫隐式链接和显式链接FAT。

单机目录结构,两级目录结构,树形目录结构:绝对路径和相对路径。软链接速度更慢。

口令保护不安全,加密保护安全性高。

位示图法是用一个二进制位表示一个盘块,0表示空闲。成组链接法是使用超级块,第一行是显示下一块的空闲盘块数,然后各行是空闲块号。

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

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

相关文章

OPC是通讯协议吗安全性

目录 1 安全防护 1.1 防火墙 1.2 网闸 2 OPC是通讯协议吗 2.1 什么通讯协议 2.2 那么OPC又是什么? OPC官方说明文档 1 安全防护 本文阐述了控制网络以OPC接口接入信息网络应当采用的安全防护。 1.1 防火墙 防火墙是大家熟知的网络安全产品,并被用作控制网…

分布式事务解决方案之可靠消息最终一致性

分布式事务解决方案之可靠消息最终一致性 什么是可靠消息最终一致性事务 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能 够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终…

SpringMVC多文件上传

文章目录 一、文件上传1.1 导入pom依赖1.2 配置文件上传解析器1.3 设置文件上传表单1.4 实现文件上传 二、文件下载三、多文件上传四、JRebel的使用 一、文件上传 1.1 导入pom依赖 <commons-fileupload.version>1.3.3</commons-fileupload.version><dependency…

LeetCode(力扣)435. 无重叠区间Python

LeetCode435. 无重叠区间 题目链接代码 题目链接 https://leetcode.cn/problems/non-overlapping-intervals/ 代码 class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:if not intervals:return 0intervals.sort(keylambda x: x[0])co…

关于content-type的理解

一.content-type的结论 告诉后端传过去的数据是什么类型的数据 二.没有请求体 (1)没有请求体的情况下content-type没有意义。 (2):图示 里面是没有请求体的 (3)有请求体的情况 二.常见的三种方式 (1)application/x-www-form-urlencoded(默认) 参数的表现形式: 传递之前可以…

如何将一个字符串转换为驼峰命名法(camel case)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 思路⭐ 示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领…

揭秘弹幕游戏制作

最近好多人问弹幕游戏&#xff0c;甚至是招人的也要DOTS做弹幕游戏... 实际上目前的弹幕游戏绝大多数应该和DOTS没有半点关系&#xff0c;别忘了DOTS这项技术渲染问题还没能够被合理解决呢 所以目前用的全都是GPU Instance这项技术&#xff0c;于是乎我决定下场写这篇帖子&am…

2000-2018年各省能源消费和碳排放数据

2000-2018年各省能源消费和碳排放数据 1、时间&#xff1a;2000-2018年 2、范围&#xff1a;30个省市 3、指标&#xff1a;id、year、ENERGY、COAL、碳排放倒数*100 4、来源&#xff1a;能源年鉴 5、指标解释&#xff1a; 2018年碳排放和能源数据为插值法推算得到 碳排放…

【SpringMVC】自定义注解与AOP结合使用

目录 一、SpringMVC之自定义注解 1.1 Java注解简介 1.2 为什么要用注解 1.3 注解的分类 ⭐ 1.3.1 JDK基本注解 1.3.2 JDK元注解 1.3.3 自定义注解 1.4 自定义注解三种使用案例 1.4.1 案例一&#xff08;获取类与方法上的注解值&#xff09; 1.4.2 案例二&#xff0…

Linux中使用Docker安装ElasticSearch7.10.x集群

使用Docker安装ElasticSearch7.10.x单节点请访问这里 一、集群环境说明 服务器IP地址192.168.137.1&#xff0c;192.168.137.2&#xff0c;192.168.137.3 二、前期准备 1. 拉取镜像 docker pull elasticsearch:7.10.12. 首先需要创建一个用于生成秘钥的初始容器&#xff0…

rocketmq

&#x1f353;代码仓库 https://gitee.com/xuhx615/rocket-mqdemo.git &#x1f353;基本概念 ⭐生产者(Producer)&#xff1a;消息发布者⭐主题&#xff08;Topic&#xff09;&#xff1a;topic用于标识同一类业务类型的消息⭐消息队列&#xff08;MessageQueue&#xff09…

徐亦达机器学习:Kalman Filter 卡尔曼滤波笔记 (一)

P ( x t P(x_t P(xt​| x t − 1 ) x_{t-1}) xt−1​) P ( y t P(y_t P(yt​| x t ) x_t) xt​) P ( x 1 ) P(x_1) P(x1​)Discrete State DM A X t − 1 , X t A_{X_{t-1},X_t} AXt−1​,Xt​​Any π \pi πLinear Gassian Kalman DM N ( A X t − 1 B , Q ) N(AX_{t-1}B,Q)…