计算机存储设备

news2024/11/19 0:50:45

缓存为啥比内存快

内存使用 DRAM 来存储数据的、也就是动态随机存储器。内部使用 MOS 和一个电容来存储。

需要不停地给它刷新、保持它的状态、要是不刷新、数据就丢掉了、所以叫动态 、DRAM

缓存使用 SRAM 来存储数据、使用多个晶体管(比如6个)就是为了存储1比特

内存编码

内存控制器:作为 CPU 和 内存的中介、为两位提供服务。

CPU 给内存存储空间统一编址、以字节为单位、然后要读取数据的时候直接把地址交给内存控制器、然后内存控制器再映射成内存的哪个芯片哪个分片哪些位置。

后面将这个内存控制器直接集成到 CPU 内部了

NUMA

Non Uniform Memory Access 非一致性内存访问

16 个车间拆分位两部分,成为两个 CPU、组成两个 NUMA 节点。每个 cpu 里面有 8 个核心。

每个节点直接连接一部分内存、两个节点之间有专门的inter-connect(内连接)通道。

各个节点访问自己管理的内存叫作本地访问 Local Access,通过 inter-connect 通道反问其他节点管理的内存叫作远程访问 remote Access。很显然、前者的访问速度要比后者快很多。

操作系统对此的支持

首先是缓存的问题、操作系统的进程和线程调度管理部门需要尽量不要跨 NUMA 节点调度线程、不然都话、缓存都失效了。

还有就是内存亲和性的问题、线程在哪个 NUMA 节点内执行、就把内存分配到那个节点直接连接的内存中、避免跨节点内存访问。

NUMA 节点和物理 CPU 并不是意义对应的、实际情况可能会更复杂

机械硬盘

金属磁粒

磁道、磁头、每个扇区固定存储 512 字节

机械硬盘每次读写都是以扇区作为单位、即使你只想读取一字节、也得把我所在的整个扇区一起读取出去。

操作系统把几个连续的扇区当作一个整体、叫作块、读写都是以块为单位进行的。

最常见的是以 8 个扇区构成的块、也就是4096字节。4kb

块位图

为了知道哪些块是空着的、哪些块是已经使用的、文件系统使用位图进行记录、0表示空闲、1表示占用。

位图放在专门的块中、比如放在第一个块中。

inode

每个文件都有一个 inode 对象

inode 对象中包含文件的大小、所在块的位置、权限、时间等数据、只要拿到 inode 数据就能找到文件了。

inode 对象存在哪?

inode 表、每个 inode 对象都是 128 字节、整整齐齐的列在表格中、每个 inode 对象都哟一个号码、拿着 inode 号码就能查找到 inode 对象、进而找到文件。

那怎么知道 inode 表哪些是空闲的哪些是已经使用了的?

inode 位图块

在这里插入图片描述

目录

有个表格、记录的是文件名和 inode 号的映射关系

可以使用单独一个文件来存储这个表格、并把它叫作目录、里面的每一项都是一个目录项、目录文件里面记录的内容就是属于这个目录下的所有文件、通过这个目录项就能将文件名翻译成 inode 号

如何找到根目录文件?

把它放到 inode 表格开头固定的位置

描述符

inode 对象的大小是 128字节、一个块的大小是 4096、那么可以存放 32 个 inode 对象、但是一个硬盘怎么可能只有 32 个对象

所以只用一个块来做 inode 表肯定不够的、要有多个才行、既然多个、那么就要把它的位置信息记录下来、

那就再拿一个块来记录这些信息吧、叫做描述符、顺便把位图块、inode 位图块的位置信息记录下来。

超级块

一个块才 4k 用它来充当块位图、最多能表示 8 x *4096 = 32768 个数据块、也即是 32768 *x 4k = 128M

硬盘空间肯定会比这个大的。

那就将硬盘空间进行分组、每个块组就是 128M

但是分成多个块组之后、又有一个新的问题、如果想知道所有块组总共使用了多少块、剩余多少块、怎么去统计?

一个个块组去遍历吗?干脆再拿一个块来记录这些全局信息、那就叫它超级块、放在第一个块组的最前面。

这样子之后、一个完整的文件系统存储格局就出来了

引导块、分区DBR 和 MBR

一个硬盘可以有多个分区、每个分区都可以使用不同的文件系统、所以上面所说的规则、只对硬盘的某个分区有效的。

每个分区的开头、需要一个启动扇区 DBR 安装操作系统的时候、引导程序久被写到这里、所以还需要在分区的最前面准备一个引导块。

最后还要找个地方将所有的分区信息记录起来、它位于硬盘的第一个扇区、同时还肩负着引导操作系统的重要使命、它的名字叫主引导记录 – MBR

上面这个文件系统叫做 ext2

https://book.douban.com/subject/36428782/

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

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

相关文章

【python】python全国数据人均消费数据分析(代码+报告+数据)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化 👉荣__誉👈:阿里云博客专家博主、51CTO技术博主 &#x…

bio、nio、aio、io多路复用

BIO-同步阻塞IO NIO-同步非阻塞IO 不断的重复发起IO系统调用,这种不断的轮询,将会不断地询问内核,这将占用大量的 CPU 时间,系统资源利用率较低 IO多路复用模型-异步阻塞IO IO多路复用模型,就是通过一种新的系统调用&a…

前端开发者都应知道的 网站

1、ransform.tools 地址:transform.tools/ transform.tools 是一个网站,它可以让你转换几乎所有的东西,比如将HTML转换为JSX,JavaScript转换为JSON,CSS转换为JS对象等等。当我需要转换任何东西时,它真的帮…

Java反射机制概述

Java反射的概述 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一…

PyTorch: 池化-线性-激活函数层

文章和代码已经归档至【Github仓库:https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 pytorch教程 也可获取。 文章目录 nn网络层-池化-线性-激活函数层池化层最大池化:nn.MaxPool2d()nn.AvgPool2d()nn.MaxUnpool2d()线性层激…

腾讯云2核4G服务器性能如何?能安装几个网站?

腾讯云2核4G服务器能安装多少个网站?2核4g配置能承载多少个网站?一台2核4G服务器可以安装多少个网站?阿腾云2核4G5M带宽服务器目前安装了14个网站,从技术角度是没有限制的,只要云服务器性能够用,想安装几个…

Acrel-3200远程预付费电能管理系统在某医院的应用 安科瑞 许敏

摘要:介绍张家港第一人民医院远程预付费电能管理系统,采用智能远程预付费电度表,采集各租户实时用电量、剩余电量,通过智能远程预付费电度表进行远程分合闸控制,进而实现先售电后用电。系统采用现场就地组网的方式&…

【Java】Tomcat、Maven以及Servlet的基本使用

Tomcat什么是TomcatTomcat的目录结构启动Tomcat MavenMaven依赖管理流程配置镜像源 Servlet主要工作实现Servlet添加依赖实现打包分析 配置插件 Tomcat 什么是Tomcat Tomcat 是一个 HTTP 服务器。前面我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务…

Storage、正则表达式

1 LocalStorage 2 SessionStorage 3 正则表达式的使用 4 正则表达式常见规则 5 正则练习-歌词解析 6 正则练习-日期格式化 Storage-Storage的基本操作 // storage基本使用// 1.token的操作let token localStorage.getItem("token")if (!token) {console.log(&q…

海洋水质参数提取

目录 1数据预处理 2 水色参数反演 第一步整理采样点 第二步获取采样星上数据 第三步模型参数反演 第四步叶绿素反演 1数据预处理 第一步安装自定义扩展工具。本节中使用两个自定义扩展工具:ENⅥ_HJ1A1B_Tools.sav,用于环境一号卫星数据读取、辐射定标和波…

《数学模型(第五版)》学习笔记(2)第3章 简单的优化模型 第4章 数学规划模型

第3章 简单的优化模型 关键词:简单优化 微分法 建模思想 本章与第4章连续两章都是优化、规划的问题,可以看成一类问题——内容上也是由简单到复杂。在第3章中,主要是几个简单的优化模型,可以归结到函数极值问题来求解&#xff0…

MySql 数据空洞

大家在使用MySQL数据库的时候经常会发现新建的数据库及表用起来非常的流畅,但是当数据库使用一段时间后,随着数据量的增大再进行数据操作时经常会出现卡顿的现象,哪怕你的表中只有几十条数据也会出现查询时间过长的问题。 下图就是对一张表的…

如何修改电脑中图片的分辨率及DPI提高方法?

​当我们需要上传电子证件照到一些网上报名考试平台时,可能会发现这些平台对于电子证件照的分辨率有一定的限制,那么怎么改图片分辨率(https://www.yasuotu.com/dpi)呢?想要提高图片dpi可以使用压缩图的修改图片分辨率…

CocosCreator 之翻页容器(PageView)和滚动容器(ScrollView)的触摸冲突处理

来自博客 在开发的时候,我们需要一个既能翻页又能上下滑动的界面,这时候就会遇到翻页容器和滚动容器触摸冲突的情况。以下是博主这里的解决方法。 ScrollView和PageView层级关系如下: 在不做任何处理前,在ScrollView区域(上图白色区域)滑动,ScrollView可以正常上下滑动…

成功解决wget下载报错 : wget HTTP request sent, awaiting response... 403 Forbidden

成功解决wget下载报错 : wget HTTP request sent, awaiting response... 403 Forbidden 问题描述解决方案原理什么是User Agent解决 问题描述 –2023-07-15 02:32:57-- https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.03-Linux-x86_64.sh Resolving mi…

设计模式——状态模式

状态模式 定义 当一个对象内在的状态改变时,允许其改变行为,这个对象看似改变了其类 状态模式的核心是封装,状态的变更引起行为的变更,从外部看来就好像这个对象对应的类发生了变化一样。 优缺点、应用场景 优点 结构清晰。…

MiniGPT4系列之三模型推理 (Web UI):在RTX-3090 Ubuntu服务器推理

MiniGPT4系列之一部署篇:在RTX-3090 Ubuntu服务器部署步骤详解_seaside2003的博客-CSDN博客 MiniGPT4系列之二推理篇:在RTX-3090 Ubuntu服务器推理详解_seaside2003的博客-CSDN博客 MiniGPT4系列之三模型推理 (Web UI):在RTX-3090 Ubuntu服…

华为OD机试真题 Java 实现【红黑图】【2023Q1 200分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、补充说明五、解题思路六、Java算法源码七、效果展示1、输入2、输出 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》。 刷的越多,抽中的概率越大&…

百度留痕是什么方法排名的

百度留痕是什么方法排名的,黑帽seo教学:谷歌外推搜索留痕关键词秒收录排名软件技术培训 #外推留痕 #黑帽seo #黑帽seo培训 今天给大家看一个百度留痕的一个链接,东西也很简单,其实就是前面的一个地址加后面的一个你的联系方式,你…

三菱plc以太网连接电脑步骤

大家好,今天要和大家分享一个在生产管理系统中的常见问题:如何更方便地上位机访问PLC。我们知道,三菱FX系列PLC好多型号常常不带网口,这给上位机访问带来了不小的麻烦。但是,通过一款名为捷米特JM-ETH-FX的转换器&…