3 ms·
Interesting idea, might be important to brush up on the implementation rationale of Unix. To that end there is The Design of The Unix Operating System, Bach [1
by riazrizvi 6y ago
Interesting idea, might be important to brush up on the implementation rationale of Unix.
To that end there is The Design of The Unix Operating System, Bach [1]. Or A Fast File System for Unix [2]. Or The Design and Implementation of a Log-Structured File System [3]. It seems to me that files solve for the problem of how to deliver an economic memory management system, and they do it by paging cheap disk space so that it's an effective proxy for fast-but-expensive memory. Also files, with their file pointers, can certainly be used as data structures, but this 'understanding' of what each section means is clearly variable, so is best left to specific applications and it's not good to build into the system as a default. Different applications will want different structures for optimal performance...
[1] https://www.amazon.com/Design-UNIX-Operating-System/dp/0132017997 https://www.amazon.com/Design-UNIX-Operating-System/dp/01320...
[2] https://people.eecs.berkeley.edu/~brewer/cs262/FFS.pdf https://people.eecs.berkeley.edu/~brewer/cs262/FFS.pdf
[3] https://people.eecs.berkeley.edu/~brewer/cs262/LFS.pdf https://people.eecs.berkeley.edu/~brewer/cs262/LFS.pdf