当前位置: 首页 > news >正文

408强化(番外)文件管理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章:

408强化(番外)文件管理

有点看不下去书,408,哎好久没看了,死磕数学时完全不想看其他科目,数学分数也尚未质变。 突然想到一个好点子,只看大纲尝试回忆一下这章的内容。 文件就是为了方便用户使用,按名访问而提出的,从…...

iptables 防火墙配置

文章目录 iptables 防火墙配置规则链的分类–五链处理的动作iptables 常用参数和作用iptables 防火墙配置查看规则链清空规则链设置默认规则将流入的流量丢弃允许ICMP协议流量通过删除默认策略允许所以流量通过设置将所有流入22端口的流量全部拒绝允许指定网段的22端口通过设置…...

面试官:我们深入聊聊Java虚拟机吧

哈喽!大家好,我是奇哥,一位专门给面试官添堵的职业面试员 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟! 文章目录 前言面试Java虚拟机内存模型垃圾收集器…...

【电源专题】案例:异常样机为什么只在40%以下电量时与其他样机显示电量差异10%,40%以上电量差异却都在5%以内。

本案例发生在一个量产产品的测试中,因为产品带电池,所以需要测试产品对于电池电量显示的精确程度。产品使用的是最简单的开路电压查表法进行设计。 案例测试报告的问题在于不同样机之间电量百分比存在差异,大部分是在3%~4%之间。但在7.2V电压时,能够差异10%左右。 在文章:…...

React 全栈体系(七)

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

NVIDIA 显卡硬件支持的精度模式

很多炼丹师不知道自己英伟达显卡支持哪些精度模式,本文整理了NVIDIA官网的数据,为你解开疑惑。 1. 首先了解CUDA计算能力及其支持的精度模式; 2. 查看自己显卡(或其它NVIDIA硬件)的计算能力值为多少。 表1 CUDA计算…...

【Java|golang】210. 课程表 II---拓扑排序

一、拓扑排序的定义&#xff1a; 先引用一段百度百科上对于拓扑排序的定义&#xff1a; 对一个有向无环图 ( Directed Acyclic Graph 简称 DAG ) G 进行拓扑排序&#xff0c;是将 G 中所有顶点排成一个线性序列&#xff0c;使得图中任意一对顶点 u 和 v &#xff0c;若边 <…...

STM32CubeMX systick bug?

发觉用新版&#xff08;V6.9.1&#xff09;的它生成代码&#xff0c;会有问题。可能是 BUG。具体如下&#xff1a; 一个简单的点灯程序&#xff0c;用 Keil MDK 5.38a&#xff08;compiler version 6&#xff09;编译。 如果在变量前&#xff0c;不加上关键字“volatile”&am…...

徐亦达机器学习: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)…...

Java和vue的包含数组组件contains、includes

List<String> tempList Arrays.asList("10018","1007","10017","1012"); if(tempList.contains(initMap.get("asset_type_id").toString())){// todo 计算运营终点桩号-起点桩号BigDecimal diffSum collectNum(col…...

OpenCV_CUDA_VS编译安装

一、OpenCV 我这里是下载的OpenCV4.5.4&#xff0c;但是不知道到在vs里面build时一直报错&#xff0c;后面换了4.7.0的版本测试&#xff0c;安装成功。 Release OpenCV 4.5.4 opencv/opencv GitHub 这个里面有官方预编译好的OpenCV库&#xff0c;可以直接食用。 扩展包&am…...

基于减法优化SABO优化ELM(SABO-ELM)负荷预测(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

记录第一个启动代码的诞生

核使用R52&#xff0c;参考汇编模板&#xff0c;一步一步来实现。 首先是ld文件&#xff0c;这个没啥好说的&#xff0c;主要是关注给vector_table划一块地址、stack地址&#xff0c;如下&#xff1a; .text.intvec :{_vectors_start .;KEEP(*(.text.intvec))_vectors_end .;…...

基于STM32的简化版智能手表

一、前言 本文的OLED多级菜单UI为一个综合性的STM32小项目&#xff0c;使用多传感器与OLED显示屏实现智能终端的效果。项目中的多级菜单UI使用了较为常见的结构体索引法去实现功能与功能之间的来回切换&#xff0c;搭配DHT11&#xff0c;RTC&#xff0c;LED&#xff0c;KEY等器…...

揭秘弹幕游戏制作

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

2327. 知道秘密的人数;1722. 执行交换操作后的最小汉明距离;2537. 统计好子数组的数目

2327. 知道秘密的人数 核心思想&#xff1a;动态规划&#xff0c;每天的人可以分为三种&#xff0c;可分享秘密的人&#xff0c;不可分享秘密的人&#xff0c;忘记秘密的人。定义f[i]为第i天可分享秘密的人&#xff0c;那么第(idelay ,iforget)天&#xff0c;会增加f[i]个可分…...

【TCPDF】使用TCPDF导出PDF文件

目录 一、安装TCPDF类库 二、安装字体 三、使用TCPDF导出PDF文件 目的&#xff1a;PHP通过TCPDF类库导出文件为PDF。 开发语言及类库&#xff1a;ThinkPHP、TCPDF 效果图如下 一、安装TCPDF类库 在项目根目录使用composer安装TCPDF&#xff0c;安装完成后会在vendor目录下…...

MacBook苹果电脑重装、降级系统

1、下载balenaEtcher镜像启动盘制作工具 https://tails.net/etcher/balenaEtcher-portable.exe 2、选择从文件烧录选择下载好的Mac 镜像文件 百度网盘 请输入提取码&#xff08;Mac OS 10.10-12版本镜像文件&#xff09; 第二步选择目标磁盘&#xff0c;这里需要准备一块1…...

Java 解决long类型数据在前后端传递失真问题

问题&#xff1a;雪花算法的id长度为19位&#xff0c;前端能够接收的数字最多只能是16位的&#xff0c;因此就会造成精度丢失&#xff0c;得到的ID不是真正的ID。 解决&#xff1a; 在拦截器中加入Long类型转换&#xff0c;返回给前端string package io.global.iot.common.c…...

IDEA的快捷键大全

快捷键 说明 IntelliJ IDEA 的便捷操作性&#xff0c;快捷键的功劳占了一大半&#xff0c;对于各个快捷键组合请认真对待。IntelliJ IDEA 本身的设计思维是提倡键盘优先于鼠标的&#xff0c;所以各种快捷键组合层出不穷&#xff0c;对于快捷键设置也有各种支持&#xff0c;对…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...

鸿蒙HarmonyOS 5军旗小游戏实现指南

1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;采用DevEco Studio实现&#xff0c;包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...