408强化(番外)文件管理

news2025/1/13 8:00:12

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章

Python进阶教学——多线程高级应用

目录 一、线程间的通讯机制 二、线程中的消息隔离机制 三、线程同步信号量 四、线程池和进程池 一、线程间的通讯机制 1、Queue消息队列 消息队列是在消息的传输过程中保存消息的容器,主要用于不同线程间任意类型数据的共享。消息队列最经典的用法就是消费者和…

【Linux】项目自动化构建工具 make/Makefile

1、背景原理 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功…

Day 01 web前端基础知识

首先我们要了解什么事前端? 先简单用文字介绍一下: 一、入门知识 Web前端是指网站或应用程序的用户界面部分。它包括HTML、CSS、JavaScript等语言和技术,用于创建用户可浏览和交互的网页。Web前端的特点在于其交互性和动态性,可…

富芮坤蓝牙FR801xH GPIO

通过规格书,可查看到芯片共有32个引脚,如图: 除如电源、晶振等固定用途的引脚外,开发板已引出其余引脚。 通常情况下,一个IO口除了可作普通输入输出口外,还有可能作其它用途,如作I2C接口的数据…

Linux static_key原理与应用

文章目录 背景1. static-key的使用方法1.1. static-key定义1.2 初始化1.3 条件判断1.4 修改判断条件 2、示例代码参考链接 背景 内核中有很多判断条件在正常情况下的结果都是固定的,除非极其罕见的场景才会改变,通常单个的这种判断的代价很低可以忽略&a…

18 自增长主键的实现 以及 记录的插入

前言 这里主要是 探索一下 mysql 的自增长主键 和 insert into tz_test (field1) values ("12111111111"); 的实现 这里 有一些地方 会有不求甚解的地方, 不然 篇幅 就有点太长了 测试表结构 mysql 主键自增长 读取自增长值的地方, 读取 table->autoinc 作…

激活函数总结(三十四):激活函数补充(FReLU、CReLU)

激活函数总结(三十四):激活函数补充 1 引言2 激活函数2.1 FReLU激活函数2.2 CReLU激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swish、ELU、SELU、GELU、Softmax、Sof…

React 全栈体系(七)

第四章 React ajax 一、理解 1. 前置说明 React本身只关注于界面, 并不包含发送ajax请求的代码前端应用需要通过ajax请求与后台进行交互(json数据)react应用中需要集成第三方ajax库(或自己封装) 2. 常用的ajax请求库 jQuery: 比较重, 如果需要另外引入不建议使用axios: 轻…

AI无法提振台积电股价

来源:猛兽财经 作者:猛兽财经 总结: (1)台积电的股价已经从最高点下跌了18%,很多期权交易员正在押注台积电的股价会进一步下跌。 (2)华尔街分析师目前也下调了台积电的收入和盈利预期…

EasyUI combobox 实现搜索(模糊匹配)功能

很简单的一个下拉框搜索模糊匹配功能&#xff0c;在此记录&#xff1a; 1&#xff1a;页面实现&#xff1a; <select class"easyui-combobox" name"combobox" id"combobox" style"width:135px;height:25px;" headerValue"请选…

9.19-21,openEuler与您相约2023欧洲开源峰会

2023年9月19日-21日&#xff0c;openEuler将参加在西班牙毕尔巴鄂举办的 OSSUMMIT 2023&#xff08;Open Source Summit Europe 2023&#xff09;&#xff0c;这是openEuler继去年正式亮相后的第二次全面参加该峰会。 Open Source Summit Europe是由Linux基金会主办&#xff0…

来喽!!炒鸡详细的“数据在内存中的存储”真的来喽!

目录​​​​​​​ 1. 整数在内存中的存储 1.1 ⼆进制介绍 1.1.1 2进制转10进制 1.1.2 10进制转2进制 1.1.3 2进制转8进制 1.1.4 2进制转16进制 1.2 原码、反码、补码 2. ⼤⼩端字节序和字节序判断 2.1 什么是⼤⼩端&#xff1f; 2.2 为什么有⼤⼩端? 2.3 练习 …

01目标检测-问题引入

目录 一、目标检测问题定义 二、目标检测过程中的常见的问题 三、目标检测VS图像分类区别 目标检测&#xff1a; 图像分类&#xff1a; 总结&#xff1a; 四、目标检测VS目标分割 目标分割&#xff1a; 目标检测是计算机视觉领域的一个重要任务&#xff0c;旨在从图像或…

[管理与领导-93]:IT基层管理者 - 扩展技能 - 5 - 职场丛林法则 -7- 复杂问题分析能力与复杂问题的解决能力:系统化思维

目录 前言&#xff1a; 一、系统化思维 VS 分解思维 1.1 系统化思维 1.2 分解思维 二、中医与西医思维模式的区别 三、正向闭环/正反馈 VS 负向闭环/负反馈 VS 开环 3.1 开环与管理 3.2 闭环与管理 3.3 生态系统是闭环系统 3.4 团队是一个闭环系统 3.5 正向闭环/正反…

有趣的设计模式——适配器模式让两脚插头也能使用三孔插板

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 场景与问题 众所周知&#xff0c;我们国家的生活用电的电压是220V而笔记本电脑、手机等电子设备的工作压没有这么高。为了使笔记本、手机等设备可以使用220V的生活用电就需…

API(九)基于协程的并发编程SDK

一 基于协程的并发编程SDK 场景&#xff1a; 收到一个请求会并发发起多个请求,使用openresty提供的协程说明&#xff1a; 这个是高级课程,如果不理解可以先跳过遗留&#xff1a; APSIX和Kong深入理解openresty 标准lua的协程 ① 早期提供的轻量级协程SDK ngx.thread ngx…

国内外交通数据集介绍(附参数说明)

国外数据集 NGSIM数据集 NGSIM数据集采集自美国&#xff0c;数据集中包含两条高速公路&#xff08;US-101&#xff0c;I-80&#xff09;及两条城市道路&#xff08;lankershim&#xff0c;peachtree&#xff09;的数据&#xff0c;每条道路的采集时间为45min。数据集中包含包含…

荣耀亲选耳机Wingcloud X5s Pro新品上市:9月15日首次亮相

荣耀亲选耳机Wingcloud X5s Pro以其46dB自适应主动降噪、Hi-Res高保真音质和40小时超长续航的特点而备受期待。首次亮相的新品外观圆润流畅&#xff0c;充满了现代感和时尚气息&#xff0c;无论是冰岛白的典雅大方&#xff0c;还是钛银色的成熟经典&#xff0c;每一个细节显示着…

记录crack某IDE插件过程

声明&#xff1a;本文仅记录学习过程&#xff0c;已对关键位置脱敏处理&#xff0c;未提供任何工具&#xff0c;请支持正版。 反编译jar包 使用cfr进行对插件核心jar包MyBxxxxxx-obfuss.jar进行反编译&#xff0c;在本地生成a.txt。 java -jar cfr-0.152.jar MyBxxxx-obfuss.…

车云一体化数字孪生再跨步!数据「精准反哺」整车定制化开发

汽车智能化竞争焦点&#xff0c;已经从单车智能延伸至云端。 尤其是在软件定义汽车的驱动下&#xff0c;汽车软件开发贯穿整个汽车生命周期。而基于SOA的车云一体化软件开发能力&#xff0c;通过跨车云的服务化架构、数据闭环等&#xff0c;支撑着传统V型瀑布式开发&#xff0…