In Tanenbaum's Modern OS book, for Linux file systems, there are two sketches:
In both sketches, specific file systems (e.g. ext4 type) ( "File systems" in the first sketch, and "File system 1" in the second sketch) is listed under "Virtual file system".
The difference is that
- in the first sketch, "File systems" is listed at the same level as "Terminals" and "Sockets", and doesn't include the latter two,
- in the second sketch, "File system 1" includes "Regular file", "Block special file", "Char special file", and "Network socket".
My understanding is that the two sketches are showing the same thing, so they should be consistent.
My question is
Do specific file systems (e.g. ext4) implement device files and make them treat the same as regular files, or is it the job of the "virtual file system"?
How shall I understand the difference between the two sketches, mentioned above for relation between "File systems" and "Network sockets", "Block/Char special file"?