[$] A block layer introduction part 1: the bio layer
One of the key values provided by an operating system like Linux isthat it provides abstract interfaces to concrete devices. Though theoriginal "character device" and "block device" abstractions have beensupplemented with various others including "network device" and"bitmap display", the original two have not lost their importance. Theblock device interface, in particular, is still central to managingpersistent storage and, even with the growth of persistent memory, thiscentral role is likely to remain for some time. Unpacking andexplaining some of that role is the goal of this pair of articles.