Anda di halaman 1dari 1

Applications (Processes)

direct I/O
(O_DIRECT)
VFS
Page
Cache
nvme
hooked in Device Drivers
(hook in similar like
stacked devices like
mdraid/device mapper do)
iomemory-vsl
with module option
LVM
Block I/O Layer
optional stackable devices on top
of normal block devices work on bios
mdraid device
mapper
drbd
...
I/O Scheduler
maps bios to requests
deadline cfq noop
request-based
device mapper targets
dm-multipath
SCSI mid layer
virtio_blk iomemory-vsl
Physical devices
HDD SSD
DVD
drive
Micron
PCIe Card
Fusion-io
PCIe Card
LSI
RAID
Adaptec
RAID
Qlogic
HBA
Emulex
HBA
...
anonymous pages
(malloc)
r
e
a
d
(
2
)
w
r
i
t
e
(
2
)
o
p
e
n
(
2
)
s
t
a
t
(
2
)
c
h
m
o
d
(
2
)
.
.
.
BIOs (Block I/O)
sysfs
(transport attributes)
/dev/vd*
SCSI upper layer
/dev/sda
...
/dev/sdb
/dev/o*
SCSI low layer
megaraid sas aacraid qla2xxx
...
libata
ahci
ata_piix
...
lpfc
Transport Classes
scsi_transport_fc
scsi_transport_sas
scsi_transport_...
lvm
/dev/o*
/dev/nvme#n#
mtip32xx
/dev/rssd*
The Linux I/O Stack Diagram (version 0.1, 2012-03-06)
http://www.thomas-krenn.com/en/oss/linux-io-stack-diagram.html
Created by Werner Fischer and Georg Schnberger
License: CC-BY-SA 3.0, see http://creativecommons.org/licenses/by-sa/3.0/
block based FS
ext2 ext3
btrfs
ext4
xfs ifs
iso9660
...
NFS coda
Network FS
gfs ocfs
smbfs
...
pseudo FS
special
purpose FS
proc sysfs
futexfs
usbfs
...
tmpfs ramfs
devtmpfs
pipefs
network
nvme
device
The Linux I/O Stack Diagram
version 0.1, 2012-03-06
outlines the Linux I/O stack as of Kernel version 3.3

Anda mungkin juga menyukai