详解Linux文件系统

news2024/12/26 14:31:00

先来研究一下磁盘:

LBA

磁头=面数  所有磁头是共进退的。

每个扇区的大小假设为:512

磁盘的总容量:盘面*t*s*512

数组的下标范围:盘面*t*s

 LBA:xxx 假设xxx为LBA地址

xxx/1000=h  及为h号盘面

xxx/100=c  及c号磁道

xxx%100=s 及s号扇区

OS为什么进行逻辑抽象

1.便于管理

2.防止OS的代码和硬件抢耦合!!!

虽然对应的磁盘访问的基本单位为512字节,但是任然很小。

OS内的文件系统会定制一种方案,同时进行多个扇区的读取。其大小通常为1KB,2KB,4KB

stat index.html

即使想要读取或修改1bit,也必须将4KBload到内存,进行读取或修改,然后在将其写入磁盘。

内存是被划分成为4KB大小的空间-----页框

磁盘中的文件尤其是可执行文件------按照4KB大小划分的块------页帧

ls -l读取存储在磁盘上的文件信息,然后显示出来

ls -li

显示文件的inode编号。

任何一个文件都在目录下,目录有属性和内容,故目录的数据块中放的是当前目录下文件名和iNode的印射关系。

在一个目录下创建文件,必须得有写入权限,向当前目录的内容中写文件名和iNode的印射关系。

读取时,必须通过文件名找到iNode,访问目录的数据块。

定位扇区

磁盘中定位任何一个扇区,采用的硬件基本的定位方式:CHS定位法。

柱面(磁道): 多盘磁盘,每盘都是双面,大小完全相等。那么同半径的磁道,整体上便构成了一个柱 面

每个盘面都有一个磁头,那么磁头和盘面的对应关系便是1对1的

所以,我们只需要知道,磁头(Heads)、柱面(Cylinder)(等价于磁道)、扇区(Sector)对应的编 号。即可在磁盘上定位所要访问的扇区。这种磁盘数据定位方式叫做 CHS 。不过实际系统软件使用 的并不是 CHS (但是硬件是),而是 LBA ,一种线性地址,可以想象成虚拟地址与物理地址。系统 将 LBA 地址最后会转化成为 CHS ,交给磁盘去进行数据读取。不过,我们现在不关心转化细节,知 道这个东西,让我们逻辑自洽起来即可。

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

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

相关文章

国产化框架PaddleYOLO结合Swanlab进行作物检测

1. 项目介绍 粮食安全,作为人类生存与发展的基石,始终是全球关注的焦点。它不仅仅关乎粮食的充足供应,更涉及粮食的质量安全、营养健康以及可持续生产等多个维度。在全球化、气候变化和资源环境约束日益加剧的背景下,如何确保粮食…

ComfyUI物品移除讲解

实现效果 一、下载插件 comfyui inpaint nodes 提供重绘功能节点,效果比自带的好很多 官方介绍 使用ComfyUI更好地进行修补的节点:用于SDXL,LaMa,MAT和各种其他工具的Foocus修补模型,用于预填充修补和去除区域。 插件…

Android调用科大讯飞语音转写 API以及解析踩坑之旅

需求 需要对本地音频文件,调用科大讯飞的api进行转文字,本来呢,以为很简单,结果坑不少。 语音转写 API 文档 坑1:解析 下载demo,代码也挺简单,放到idea中,替换一下key&#xff0c…

基于Springboot+Vue的网上书店(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 在这个…

用户体验测试——21条UX设计原则

根据心理学的研究和发展,对应理论不断被完善到用户体验设计领域,以下21条UX设计原则即为心理学在用户体验设计中的应用,在设计和测试中应用这些原则,可以提高用户体验质量特性,如下所示: 21条UX设计原则 有效性 特斯勒定律(最小复杂度定律) 这个定律也被称为“复杂性…

数据转换新利器,开启企业高效之路

Maria是 S 公司的采购专员,最近需要进行公司设备的采购,这可让她犯了难:公司多个部门提交采购申请,但每个部门都有着不同的需求。一时间她就收到了大量的申请单,却难以高效整合处理(比如哪些申请可以合并采…

环境变量

见一见环境变量: 查看环境变量的命令 命令行: echo &PATH echo &HOME env ps ajx ps aux ps -f -o pid code.c中获取环境变量 main(char* env[]) char* getenv(env_name) 本地变量 shell…

App模拟下载场景的demo

摘要 目的:提供一个稳定的下载场景,可以手动触发和定时触发下载,每次下载相同大小文件,研究下载场景的功耗影响 原理:把电脑当做服务器,手机测试App固定下载电脑存放的某个XXXMB的大文件,基于…

如何使用ssm实现校园体育赛事管理系统的设计与实现+vue

TOC ssm713校园体育赛事管理系统的设计与实现vue 绪论 课题背景 身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化。目前,人们在追求较高物质生活的同时,也在想着如何使自身的精神内涵得…

PE节表中是否存在misc.VirtualSize 比SizeofRawData还要大的情况

确实是存在的,这是win10自带记事本,可以看到 确实是大.所以在申请imagebuffer的时候,还是需要比较大小.但是在还原的时候.只考虑sizeofRawData即可>

【Android 14源码分析】WMS-窗口显示-第一步:addWindow

忽然有一天,我想要做一件事:去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

项目管理专业资质认证ICB 3中关于项目经理素质的标准

项目管理专业资质认证ICB 3中关于项目经理素质的标准,的确很全面,下面摘录之:

三款专业的英文文献翻译工具,翻译论文不在话下

阅读英文论文文献时免不了要借用一些翻译软件来帮助理解,但因为论文文献的特殊性,普通的翻译软件不能很好的翻译一些专业名词和术语,所以这里给大家分享三款可以胜任文献翻译的专业翻译工具,可以快速准确的完成英文文献翻译工作。…

CDGA|2024年数据治理的六个关键建议

随着数字经济的快速发展,数据已成为企业运营和决策的核心资产。在2024年,做好数据治理对于提升企业的竞争力和运营效率至关重要。以下是六个关键建议,帮助企业有效应对数据治理的挑战。 1. 制定明确的数据治理策略 首先,企业需要…

遥感影像-实例分割数据集:iSAID 从切图到YOLO格式数据集制作详细介绍

背景介绍 开源数据集isaid标注包含实例分割,但是原始影像太大,很吃显存,一般显卡无法用原始影像直接训练,所以需要对影像进行裁剪,并生成对应的标签,因为想用yolo系列跑模型,所以将标签需要转为…

【设计模式-模板】

定义 模板方法模式是一种行为设计模式,它在一个方法中定义了一个算法的骨架,并将一些步骤延迟到子类中实现。通过这种方式,模板方法允许子类在不改变算法结构的情况下重新定义算法中的某些特定步骤。 UML图 组成角色 AbstractClass&#x…

Java 为什么使用 UTF-16 而不是更节省内存的 UTF-8?

Java 选择 UTF-16 编码而不是更节省内存的 UTF-8 这一决定,涉及多个层面的设计权衡,包括历史原因、虚拟机(JVM)实现的复杂度、性能和字符处理的一致性。要理解这个问题,我们需要从 Java 语言的设计初衷、JVM 的工作机制…

C++:笔试题

1.什么是虚函数?什么是纯虚函数? 虚函数是类中的一个成员函数,使用关键字virtual在函数名前声明。 虚函数主要目的是允许子类重写父类中的同名函数,从而实现多态性,并且子函数重写的是虚函数表中的函数。 当通过父类的…

七、添加攻击音效

一、添加动画事件 1、在动画事件中添加音效 2、添加音频组件 3、代码 public void PlayAttackSound() {AudioSource1.PlayOneShot(AudioClip1, SoundValue);//PlayOneShot播放一个音频剪辑(AudioClip)一次 }

Oracle 日志文件多路复用

多路复用 PRODCDB 数据库的所有日志组中的 redo log 文件,存放目录: /u01/app/oracle/oradata/MREDO 1.创建目录 mkdir -p /u01/app/oracle/oradata/MREDO 2.查看日志文件路径 select group#,member from v$logfile; 3.增加日志组文件 alter database a…