IO、存储、硬盘、文件系统相关常识
文章目录
- 输入/输出 (I/O)
- 存储
- 硬盘
- 文件操作系统
输入/输出 (I/O)
定义:IO(Input/Output)是指计算机与外部设备之间的数据传输过程。输入是指从外部设备(如 键盘、鼠标)向计算机传输数据,输出是指从计算机向外部设备(如显示器、打印机)传输数据
类型:
同步IO:程序在IO操作完成之前会一直等待,直到操作完成才继续执行后续代码。
异步IO:程序在发起IO操作后,不会等待操作完成,而是继续执行后续代码。IO操作完成后,系统会通知程序。
阻塞与非阻塞:
阻塞IO:程序在IO操作完成之前会被挂起,无法执行其他任务。
非阻塞IO:程序在发起IO操作后,可以继续执行其他任务,不会等待IO操作完成。
常见 IO 操作:
读取文件
写入文件
网络通信
用户输入
存储
定义:存储是指计算机系统中用于保存数据的设备或介质。存储设备可以分为易失性存储和非易失性存储。
类型:
易失性存储:断电后数据会丢失,如内存(RAM)。
非易失性存储:断电后数据不会丢失,如硬盘、固态硬盘(SSD)、U盘等。
存储层次结构:
寄存器:CPU内部的高速存储,速度最快,容量最小。
缓存(Cache):位于CPU和内存之间,用于加速数据访问。
内存(RAM):用于临时存储正在运行的程序和数据。
硬盘/SSD:用于长期存储数据,容量大,速度较慢
硬盘
硬盘 (HDD):
工作原理: 通过旋转的磁盘和磁头读写数据。
优点: 成本较低,容量大。
缺点: 速度较慢,易受震动影响,噪音较大。
固态硬盘 (SSD):
工作原理: 使用闪存存储数据,没有机械部件。
优点: 速度快,抗震动,低噪音。
缺点: 成本较高,写入寿命有限(虽然现代 SSD 的寿命已经足够长)。
选择: SSD 更适合需要高性能的场景(例如,操作系统盘、运行频繁的应用程序),而 HDD 更适合需要大容量存储的场景(例如,存储媒体文件)。
硬盘的性能指标
容量:硬盘能够存储的数据总量,通常用字节(B)、千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)等单位来表示。
转速(仅适用于HDD):硬盘盘片每分钟的旋转速度,常见的有5400转/分钟(RPM)和7200转/分钟(RPM),转速越高,读写速度越快。
接口类型:常见的硬盘接口有SATA、SAS、PCIe等,不同的接口类型决定了硬盘的数据传输速率。
文件操作系统
定义:文件操作系统用于组织和管理存储设备上文件和目录的方法和数据结构。它负责文件的存储、检索、权限管理等操作、为用户和应用程序提供了统一的文件访问接口。
常见的文件系统:
FAT32:早期广泛使用的文件系统,兼容性好,支持多种操作系统,但最大单个文件不能超过4GB,分区最大容量为32GB。
NTFS:Windows操作系统使用的主流文件系统,支持更大的文件和分区容量,具有更好的安全性和可靠性,支持文件加密、压缩等功能。
ext4:Linux操作系统使用的主流文件系统,具有高性能、高可靠性和扩展性,支持大文件和大分区。
HFS+:苹果公司Mac OS X操作系统使用的文件系统,支持Unicode字符集,具有较好的文件管理功能。
文件系统的功能:
文件组织:将文件和目录按照一定的层次结构进行组织,方便用户查找和管理文件。
空间管理:负责分配和回收存储设备上的存储空间,确保文件能够有效地存储在磁盘上。
权限管理:对文件和目录设置
不同的访问权限,保护文件的安全性和隐私性。
文件管理:创建、删除、重命名、移动文件等。
目录管理:创建、删除、移动目录等。
存储空间管理:分配和回收存储空间,管理磁盘碎片。