能否詳細說說問什么Block協(xié)議會比File協(xié)議快呢? 如果說底層的協(xié)議當然會比應用層的快這個原因的話, 那么為什么RAID 3用的Strip就沒有RAID4用的Block好呢?
答:這個block,不是Raid里面那種block
block和file,其實就是數(shù)據(jù)結構,協(xié)議。
直接和磁盤打交道,或者和fs打叫道,利用的數(shù)據(jù)結構和協(xié)議是不一樣的。但是他們的payload很大程度上是一樣的。
只不過他們的數(shù)據(jù)交互邏輯,交互格式,不太一樣
Linux kernel
一般順序是vfs->mapping layer(filesystem)->generic block layer->IO scheduler layer->block device driver
上層的進程只知道vfs,具體的活由mapping layer做,例如一個文件系統(tǒng)。
具體的文件系統(tǒng)知道generic block layer,具體的活由IO scheduler layer和block device driver做。
IO scheduler是操作系統(tǒng)對IO的最后調度的部件,剩下的事情由device driver做,比如生成SCSI指令。