主要内容:

  • 块设备简介
  • 内核访问块设备的方法
  • 内核I/O调度程序

 

1. 块设备简介

I/O设备主要有2类:

  • 字符设备:只能顺序读写设备中的内容,比如 串口设备,键盘
  • 块设备:能够随机读写设备中的内容,比如 硬盘,U盘

字符设备由于只能顺序访问,所以应用场景也不多,这篇文章主要讨论块设备。

块设备是随机访问的,所以块设备在不同的应用场景中存在很大的优化空间。

 

块设备中最重要的一个概念就是块设备的最小寻址单元。

块设备的最小寻址单元就是扇区,扇区的大小是2的整数倍,一般是 512字节。

扇区是物理上的最小寻址单元,而逻辑上的最小寻址单元是块。

为了便于文件系统管理,块的大小一般是扇区的整数倍,并且小于等于页的大小。

 

查看扇区和I/O块的方法:

[wangyubin@localhost]$ sudo fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
View Code

相关文章:

  • 2021-10-05
  • 2022-12-23
  • 2021-08-08
  • 2021-06-10
  • 2021-08-02
  • 2021-11-21
猜你喜欢
  • 2021-08-27
  • 2021-09-30
  • 2022-01-12
  • 2022-12-23
  • 2022-03-09
相关资源
相似解决方案