关于 IO、存储、硬盘和文件系统

news2024/10/7 11:27:05

关于IO、存储、硬盘和文件系统

  • 0.引入
  • 1.了解IO
    • 1.1.存储器IO
    • 1.2.设备IO
  • 2.存储介质和存储类型
    • 2.1.内存
    • 2.2.硬盘
    • 2.3.固态硬盘(SSD)
    • 2.4.U盘
  • 3.硬盘的工作原理
    • 3.1.磁头
    • 3.2.盘片
    • 3.3.电动机
    • 3.4.硬盘的读写操作
  • 4.文件系统概述
    • 4.1.文件系统的类型
    • 4.2.文件系统的相关概念
    • 4.3.文件系统的优化
  • 5.总结

0.引入

在计算机领域,IO(Input/Output)指的是将数据从一个设备传输到另一个设备的过程。而存储指的是将数据保存在内存或硬盘等设备中的过程。硬盘则是存储设备的一种,用于长期存储数据。同时,为了更有效地管理和组织硬盘或其他存储设备中的数据,我们需要使用文件系统。

1.了解IO

IO是计算机中最重要的部分之一,它涉及所有数据的输入和输出操作。在计算机系统中,IO通常分为两类:存储器IO和设备IO。存储器IO指的是CPU与主内存之间的数据传输,而设备IO指的是外设(例如硬盘、键盘、鼠标、显示器等)与计算机之间的数据传输。

外设IO

1.1.存储器IO

在存储器IO中,CPU会将数据从寄存器读取,然后将其存储到内存中。当需要读取数据时,CPU会从内存中读取数据,然后将其存储到寄存器中。存储器IO是非常快速和高效的,因为内存的访问速度很快,通常可以达到每秒数GB的速度。

1.2.设备IO

设备IO涉及到外设向计算机中传输数据,如硬盘读取和写入数据。在设备IO方面,最重要的因素是设备的传输速度。设备传输速度通常比内存传输速度慢得多,在某些情况下,速度可能只有数kb/s。而设备IO操作也非常耗费CPU资源,因此需要进行合理管理和优化。

2.存储介质和存储类型

计算机中,常用的存储介质有内存、硬盘、固态硬盘(SSD)和U盘等。各种存储介质都有其自身的优点和缺点,可以针对不同的需求进行选择。

2.1.内存

内存是计算机中用于暂时储存程序和数据的地方。内存的读写速度非常快,可以达到每秒GB的速度,但它的容量相对较小。内存中存储的数据在计算机关闭后会丢失,因此,它仅适用于临时存储数据。

内存条

2.2.硬盘

硬盘是一种用于长期存储数据的设备。与内存不同,硬盘的容量较大,可以存储TB级别的数据,而且可以在计算机关闭和重新启动后保留数据。但是,硬盘的读写速度较慢,通常在每秒数百MB的范围内。

硬盘

2.3.固态硬盘(SSD)

固态硬盘是一种新型的存储设备,在速度上比传统的机械硬盘快得多。SSD没有机械部件,因此速度更快、噪音更小,并且可以在温度较高的环境下运行。但SSD相对较贵,容量也不如机械硬盘那么大。

2.4.U盘

U盘是一种便携式存储设备,它非常小巧轻便,可以轻松地将文件从一台计算机传输到另一台计算机。U盘价格便宜,容量适中,适合存储小型文件和临时数据。

3.硬盘的工作原理

硬盘是一种机械设备,它使用磁盘来存储数据。硬盘由许多不同的部件组成,包括磁头、盘片、电动机等。

机械硬盘细节

3.1.磁头

磁头是硬盘中最重要的部件之一,它负责读取和写入磁盘上的数据。磁头以非常高的速度飞过磁盘表面,将信息写入磁介质或从中读取信息。

3.2.盘片

盘片是硬盘中存储数据的主要部件。一个硬盘通常有多个盘片,每个盘片都可以分成许多轨道和扇区。轨道是由同心圆组成的,而扇区是由一条弧线和两条半径直线组成的一个小块。

3.3.电动机

电动机是硬盘中的一个关键部件,它带动磁盘旋转。磁盘必须非常精确地旋转,以便磁头可以在正确的位置读取和写入数据。

3.4.硬盘的读写操作

当需要读取硬盘上的数据时,计算机会发送一个读取请求到硬盘,然后磁头飞过磁盘表面找到正确的轨道和扇区,并读取相应的数据。当需要写入数据时,磁盘会接收一个写入请求,并将数据存储到正确的磁盘扇区中。

4.文件系统概述

文件系统是计算机中用于管理和组织硬盘或其他存储设备中数据的技术。文件系统的作用是让计算机能够方便地对存储在硬盘或其他存储设备中的数据进行管理、存储、读取和写入等操作,以及保证数据的安全性、完整性和可靠性。

Linux文件系统

4.1.文件系统的类型

Linux支持的文件系统种类非常多。按照存储位置的不同,可以将文件系统分为以下三类:

  1. 磁盘文件系统:把数据直接存储在磁盘中。常见的磁盘文件系统包括EXT2、EXT3、EXT4、ReiserFS、XFS、NTFS等。
  2. 内存文件系统:数据存储在内存中而不是硬盘中。常见的内存文件系统包括/tmpfs、/proc、/dev/shm、/sys等。
  3. 网络文件系统:可以将硬盘中的数据通过网络分享给其他计算机使用。常见的网络文件系统包括NFS、Samba等。

4.2.文件系统的相关概念

  • inode:包含了文件或目录的元数据信息,每个文件或目录都有一个唯一的inode号码,操作系统可以通过inode号码来找到文件或目录。
  • 超级块:文件系统中的一个非常重要的数据结构,它存储了文件系统的基本信息,如文件系统的大小、块大小、inode数量等等。
  • 块:文件系统中的基本单位,文件系统把一个大文件分成若干个块进行存储。

4.3.文件系统的优化

为了提高文件系统的性能,可以采取以下几种优化方法:

  1. 分区和格式化:合理的分区和格式化可以提高文件系统的性能。我们可以根据数据的不同特点、使用场景等,来选择合适的分区大小、格式化方式等参数。
  2. 选择合适的文件系统:不同的文件系统有不同的特点和应用场景,选择合适的文件系统可以提高系统的性能和稳定性。
    • 例如,对于大容量的磁盘,Ext4是一个比较好的选择,而对于USB闪存盘,则可以选择FAT32或NTFS。
  3. 调整inode_size:inode_size是一个非常重要的参数,它定义了每个inode节点占用的字节数。通常情况下,inode_size的值与块大小相同,也可以通过调整inode_size的大小来优化文件系统的性能。
  4. 缓存:缓存是一个非常有用的优化手段,它可以提高文件系统的访问速度。缓存可以分为内存缓存和磁盘缓存两种。内存缓存是指使用内存来缓存热点数据,以提高访问速度。磁盘缓存是指使用硬盘空间来作为缓存,以提高数据的访问速度。

5.总结

IO是计算机中最重要的部分之一,它涉及所有数据的输入和输出操作。

存储包括内存、硬盘、固态硬盘(SSD)和U盘等,各种存储介质都有其自身的优点和缺点。

硬盘是一种重要的长期存储设备,它由许多不同的部件组成,包括磁头、盘片、电动机等。

文件系统是管理和组织硬盘或其他存储设备中数据的技术,它的作用是让计算机能够方便地对存储在硬盘或其他存储设备中的数据进行管理、存储、读取和写入等操作,以及保证数据的安全性、完整性和可靠性。

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

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

相关文章

vagrant virtualbox 复制

菜鸟学习,记录一下 vagrant virtualbox 虚拟机复制。 目录 第一步,使用 virtualbox 复制虚拟机 第二步,复制 vagrant 文件 第三步,重命名相关文件夹及文件并修改配置: 第四步,注册运行复制后的虚拟机 第…

ImageJ实践——测量大小/长短(以细胞为例)

ImageJ是一款功能强大的图像处理软件。毫无疑问它在测量方面提供了十分便利的功能。下面我将以测量细胞的长短、大小(面积)为例,详细介绍ImageJ的测量操作流程。 1. ImageJ打开图像文件 在弹出的文件选择对话框中选择目标文件,即…

Spring Data Elasticsearch--ElasticsearchRestTemplate--使用/教程/实例

原文网址:Spring Data Elasticsearch--ElasticsearchRestTemplate--使用/教程/实例_IT利刃出鞘的博客-CSDN博客 简介 说明 本文用实例来介绍如何使用Spring Data Elasticsearch的ElasticsearchRestTemplate来操作ES。包括:索引的增删等、文档的增删改查…

【拓扑排序】课程表系列

文章目录 课程表(环检测算法)1. DFS2. BFS 课程表 II(拓扑序列)1. DFS2. BFS 课程表 IV(记忆化搜索)1. DFS2. BFS 课程表(环检测算法) 1. DFS 先修课程之间的关系可以用有向图表示&…

AI题目整理

1、网络配置时batchsize的大小怎样设置?过小和过大分别有什么特点? Batch size是指一次迭代过程中,输入到神经网络的样本数量。 batchsize太小的缺点: ①耗时长,训练效率低。 ②训练数据就会非常难收敛,从而导致欠拟合。 batch…

MySQL后台线程详解

前言 MySQL的服务实现通过后台多个线程、内存池、文件交互来实现对外服务的,不同线程实现不同的资源操作,各个线程相互协助,共同来完成数据库的服务。本章简单总结MySQL的一些后台线程以及主要作用。 本章收录在MySQL性能优化原理实战专栏&am…

js常见混淆加密技术

下面,我将通过一个案例来演示如何使用JavaScript混淆加密技术来保护你的网站。 假设你有一个网站,其中包含一个登录页面,该页面的JavaScript代码如下所示: function login(username, password) {if (username "admin"…

Doris(21):Doris的函数—日期函数

1 CONVERT_TZ(DATETIME dt, VARCHAR from_tz, VARCHAR to_tz) 转换datetime值dt,从 from_tz 由给定转到 to_tz 时区给出的时区,并返回的结果值。 如果参数无效该函数返回NULL。 select convert_tz(2019-08-01 13:21:03, Asia/Shanghai, America/Los_Angeles); select co…

大数据-玩转数据-初识FLINK

一、初识Flink Flink采用一只松鼠的彩色图案作为logo Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算 二、Flink的重要特点 1、事件驱动…

mysql与redis区别

一、.redis和mysql的区别总结 (1)类型上 从类型上来说,mysql是关系型数据库,redis是缓存数据库 (2)作用上 mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢 redis用于存储使…

一篇你看得懂的SNP

单核苷酸多态性,(Single Nucleotide Polymorphism,简称SNP)指的是由单个核苷酸—A,T,C或G的改变而引起的DNA序列的改变,造成包括人类在内的物种之间染色体基因组的多样性。是指在基因组上单个核苷酸的变异,…

朴素贝叶斯分类器with案例:基于SMS Spam Collection数据集的广告邮件分类

目录 贝叶斯分类器何为朴素案例:基于SMS Spam Collection数据集的广告邮件分类SMS数据集词向量表示Laplacian平滑训练过程分类过程 完整代码 贝叶斯分类器 首先要理解贝叶斯决策的理论依据,引用西瓜书上的原话:对于分类任务,在所…

(基础算法)高精度加法,高精度减法

高精度加法 什么叫做高精度加法呢?包括接下来的高精度减法,高精度乘法与除法都是同一个道理。正常来讲的话加减乘除,四则运算的数字都是整数,也就是需要在int的范围之内,但当这个操作数变得非常"大"的时候&…

《面试1v1》java反射

我是 javapub,一名 Markdown 程序员从👨‍💻,八股文种子选手。 面试官: 你好,请问你对 Java 反射有了解吗? 候选人: 是的,我了解一些。 面试官: 那你能简单…

离散数学集合论

集合论 主要内容 集合基本概念 属于、包含幂集、空集文氏图等 集合的基本运算 并、交、补、差等 集合恒等式 集合运算的算律,恒等式的证明方法 集合的基本概念 集合的定义 集合没有明确的数学定义 理解:由离散个体构成的整体称为集合&#xff0c…

【五一创作】【Midjourney】Midjourney 连续性人物创作 ② ( 获取大图和 Seed 随机种子 | 通过 seed 随机种子生成类似图像 )

文章目录 一、获取大图和 Seed 随机种子二、通过 seed 种子生成类似图像 一、获取大图和 Seed 随机种子 注意 : 一定是使用 U 按钮 , 在生成的大图的基础上 , 添加 信封 表情 , 才能获取该大图的 Seed 种子编码 ; 在上一篇博客生成图像的基础上 , 点击 U3 获取第三张图的大图 ;…

电子数据取证之宝塔面板

一、宝塔面板介绍 1、官网bt.com,是提升运维效率的服务器管理软件,支持一键WAMP/LAMP/LNMP等100多项服务器管理功能;是跨平台的软件,同时支持Windows和Linux。开源永久免费。提高工作效率,对小白比较友好。 2、怎么看服…

【网络socket编程----预备知识和UDP服务器模拟实现】

文章目录 一、预备知识1.1 理解IP地址和端口号1.2 认识TCP协议和UDP协议1.3 网络字节序1.4 socket编程接口和sockaddr结构 二、封装 UdpSocket 一、预备知识 1.1 理解IP地址和端口号 众所周知,每台主机都有一个IP地址。而主机和主机之间通信,也需要依赖…

对比学习论文阅读:CoCLR算法笔记

标题:Self-supervised Co-training for Video Representation Learning 会议:NIPS2020 论文地址:https://dl.acm.org/doi/abs/10.5555/3495724.3496201 官方代码:https://www.robots.ox.ac.uk/~vgg/research/CoCLR/ 作者单位&…

软考算法-排序篇-上

数据排序 一:故事背景二:直接插入排序2.1 概念2.2 画图表示2.3 代码实现2.4 总结提升 三:希尔排序3.1 概念3.2 画图表示3.3 代码实现3.4 总结提升 四:直接选择排序4.1 概念4.2 画图表示4.3 代码实现4.4 总结提升 五:堆…