【Linux】磁盘文件

news2024/12/26 11:35:10

思维导图

学习目标

       了解磁盘的物理结构和存储结构,并将其存储结构进行抽象!!

一、了解一下磁盘及其物理结构

1.1 计算机只认识二进制

       什么是二进制??0,1是被规定出来的,在计算机里面我们用高低电平规定0, 1,或者表示有或区等……因此,0, 1在物理中有不同的表示。

1.2 磁盘的物理结构

  • 盘片:一个磁盘(如一个 1T 的机械硬盘)由多个盘片(如下图中的 0 号盘片)叠加而成。盘片的表面涂有磁性物质,这些磁性物质用来记录二进制数据。因为正反两面都可涂上磁性物质,故一个盘片可能会有两个盘面
  • 磁头:硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。
  • 磁道:每个盘片被划分为一个个磁道 
  • 扇区:每个磁道又划分为一个个扇区

1.3 盘片和磁头的关系

  1. 盘片和磁头有一定的距离
  2. 磁头悬浮在盘片上,距离很近
  3. 磁盘中不能有灰尘,避免损伤盘片
  4. 盘片和磁头容易进行损坏,不能有巨大的碰撞

1.4 磁盘的分类

  • 桌面级磁盘(民用)
  • 企业级磁盘(企业)

1.5 磁盘的放置位置

       放置磁盘的位置,因为磁盘在运行中,磁盘会发热,所以磁盘大多数在水中,利用水的流动将热气带走。

1.6 磁盘的速度

       磁盘是机械设备,磁盘还是一个外设,速度是很慢的,因此磁盘的速度会比较慢,差距很大。磁盘的性价比高!

二、磁盘的存储结构

2.1 磁盘的存储结构

  • 盘片:一个磁盘(如一个 1T 的机械硬盘)由多个盘片(如下图中的 0 号盘片)叠加而成。盘片的表面涂有磁性物质,这些磁性物质用来记录二进制数据。因为正反两面都可涂上磁性物质,故一个盘片可能会有两个盘面
  • 磁头:硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。
  • 磁道:每个盘片被划分为一个个磁道 
  • 扇区:每个磁道又划分为一个个扇区
  • 一个盘片上有n个磁道,一个磁道上有m个扇区

       读写的基本单位是扇区,扇区的容量一般为512字节。怎么理解读写的基本单位是扇区呢??即使只修改一个比特的数据,我们也要将512字节的数据进行更新。

2.2 如何在磁盘中找到特定位置的数据?

       在这之前,我们先来看一看结构的英语单词:磁头(Head),柱面(Cylinder),扇区(Sector),这个方法称之为CHS定址法。

具体步骤:

  1. 先确定数据在哪一个面上,确定磁头(Head)
  2. 然后,在确定数据在哪个磁道(柱面)上,缩小磁道的半径(Cylinder)
  3. 最后确定数据在哪一个扇区中(Sector)

三、对磁盘的存储进行逻辑抽象

3.1 为什么要对磁盘的存储进行逻辑抽象?

       如果OS直接使用CHS,会导致耦合度太高,并且要方便内核进行磁盘管理。

3.2 利用磁带来引入对磁盘的抽象理解

       在以前的时候,会有一个磁带的东西。我很喜欢将磁带中的那一圈圈的东西给拉直,这样,我们就将圆形存储结构变成了线性存储结构。

       一般来说,操作系统直接访问4KB(8个连续的扇区)

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

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

相关文章

巩固学习6

正则表达式 又称规则表达式,Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”&…

革新机器人任务规划:TREE-PLANNER引领高效、准确的机器人动作生成新趋势

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! 引言 任务规划在机器人技术中扮演着至关重要的角色。它涉及到为机器人设计一系列中级动作(技能),使其能够完成复杂的高级任…

Scratch四级:第08讲 排序算法

第08讲 排序算法 教练:老马的程序人生 微信:ProgrammingAssistant 博客:https://lsgogroup.blog.csdn.net/ 讲课目录 常考的排序算法项目制作:“三个数排序”项目制作:“成绩查询”项目制作:“排序”项目制…

微信小程序发送订阅消息sendMessage

微信小程序发送订阅消息sendMessage 请注意订阅消息一次性订阅只只能授权一次接受一条消息多次授权会累加接受次数,wx.requestSubscribeMessage调用授权 目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放 //授权弹框,只弹出…

【Redis7】10大数据类型之Stream类型

文章目录 1. Stream简介2. 生产消息命令(XADD)3. 查询相关命令3.1 获取指定范围内的消息(XRANGE)3.2 逆序获取指定范围内的消息(XREVRANGE)3.3 返回消息的数量(XLEN) 4. 删除消息命令(XDEL)5. 截取消息命令(XTRIM)6. 消费消息命令(XREAD)7. 消费者组管理命令7.1 创建消费者组(X…

给centos机器打个样格式化挂载磁盘(新机器)

文章目录 一、先安装lvm2二、观察磁盘三、磁盘分区四、建PV五、建VG六、创建LV七、在LV上创建文件系统八、挂载到/home(1)临时挂载(2)永久挂载 九、最后reboot一下 一、先安装lvm2 yum install lvm2二、观察磁盘 三、磁盘分区 四…

Springboot + xxlJob注意事项

1. 部署 就是这个地址: https://gitee.com/xuxueli0323/xxl-job 由于xxl-job的思想是 调度中心负责调度任务,然后有执行器负责接受调度的信息,然后根据调度,执行任务中的具体逻辑 将 xl-job-admin 启动起来,操作xl-job-admin这个文件夹下的配置文件即可: 创建数据库 执行sql…

如何防止公司内部人员有意或无意的把内部核心文件资料泄露,拷贝,打印,上传,社交工具等途径外泄?

防止公司内部人员有意或无意泄露核心文件资料,需要采取一系列综合性的管理和技术措施。 以下是一些有效的策略: 加强员工意识教育:定期举办信息安全培训,提高员工对数据保护的意识,让员工了解数据泄露的风险和后果&…

冯喜运:5.13黄金原油震荡整理是涨还是跌?今日走势分析

【黄金消息面分析】;自5月初以来,黄金和白银一直在享受需求的回归,买家在过去几天加大了力度,一度推动金价重返2370美元上方,白银重返28.5美元上方。不过,经过几天的盘整后,黄金白银价格双双下跌。然而&…

leetcode经典例题之环形队列

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 目录 1、题目展示2、问题分析3、完整代码展示4、结语 1、题目展示 在拿到题目时,通…

SSH常用功能介绍-高级功能

一、介绍 SSH(Secure Shell)是一种用于远程登录和执行命令的网络协议,它提供了加密的连接,保证了数据的安全性。除了基本的远程登录功能外,SSH还提供了许多高级功能,以下是一些常用的高级功能介绍&#xf…

26版SPSS操作教程(高级教程第二十章)

目录 前言 粉丝及官方意见说明 第二十章一些学习笔记 第二十章一些操作方法 神经网络与支持向量机 人工神经网络(artificial neural network,ANN) 假设数据 具体操作 结果解释 对案例的进一步分析 结果解释 ​编辑 尝试将模型复…

mmdetection在训练自己数据集时候 报错‘ValueError: need at least one array to concatenate’

问题: mmdetection在训练自己数据集时候 报错‘ValueError: need at least one array to concatenate’ 解决方法: 需要修改数据集加载的代码文件,数据集文件在路径configs/base/datasets/coco_detection.py里面,需要增加meta…

水经微图万能版、专业版与企业版的区别?

水经微图(以下简称“微图”)的版本,主要分为万能版、专业版和企业版三个版本。 什么是万能版? 万能版是指“水经注万能地图下载器”软件功能的授权,虽然该软件已经停止更新,但购买过该软件的用户&#xf…

简单的DbUtils工具类【精细】

目录 单条通用增删改方法 1.创建maven项目,并加载依赖 2.创建数据库连接工具类(Dbutils类) 3.创建一个执行器(SqlExecutor类) 4.通用(增,删,改)方法 1.创建方法 2.创建userInfo实体类 3.创建测试类,测试增,删&#xf…

leetcode-最长公共子序列(二)-103

题目要求 思路 step 1:优先检查特殊情况。 step 2:获取最长公共子序列的长度可以使用动态规划,我们以dp[i][j]dp[i][j]dp[i][j]表示在s1中以iii结尾,s2中以jjj结尾的字符串的最长公共子序列长度。 step 3:遍历两个字…

C++——缺省参数与重载函数

目录 ​前言 一.缺省参数 1.1缺省参数概念 1.2缺省参数分类 注意事项: 二.函数重载 2.1函数重载概念 2.2c支持函数重载原理——命名修饰 前言 本篇文章主要讲述c中有关于缺少参数与函数重载的相关概念与实例,以下是本人拙见,如有错误…

文件夹重命名高效批量技巧:轻松实现在文件夹名称左边添加关键字

在日常工作和生活中,我们经常需要对大量的文件夹进行重命名,以便更好地组织和管理文件。然而,手动一个接一个地修改文件夹名称既费时又费力。幸运的是,有一些高效的批量重命名技巧可以帮助我们快速实现这一目标,特别是…

算法学习笔记(3)-差分

#差分 差分和前缀和互为逆运算: 给定一个原数组s,差分数组h,两者的关系如下所示: s[i] h[1] h[2] h[3] …… h[i] 针对于上面的公式,由差分数组h推导而来 h[1] s[1] h[2] s[2] - s[1] h[3] s[3] - [2] …… h[…

vue前端时间段选择控件

实现效果: 可选具体的某天的某时某分某秒 vue前端代码: <el-form-item label"日期"><el-date-pickerv-model"daterangerq"style"width: 240px"value-format"yyyy-MM-dd HH:mm:ss"type"datetimerange"range-separat…