3 ms·
"The most important role for UNIX is to provide a file system." I looked up TGM which is mentioned in this manual (TGML). Apparently this was what Thompson us
by aplorbust 11y ago
"The most important role for UNIX is to provide a file system."
I looked up TGM which is mentioned in this manual (TGML). Apparently this was what Thompson used to write the B compiler.
Anyway, I ended up on the Multicians site. Some online accounts of computing history suggest UNIX was an alternative to the Multics project.
On the Multicians site it suggests Multics had a very different concept of "files", which could also be "segments". There was apparently potential ambiguity regarding the term "file".
Here's my question for anyone who was there:
Today we often see the phrase "Everything is a file" being cited when introducing people to UNIX. But I have never seen anyone attempt to explain why. What was the context in the 1970's?
Was the UNIX notion of "files" a reaction to the approach taken by Multics?
Again, this early manual says: "The most important role for UNIX is to provide a file system."
- nickpsecurity 11y ago"On the Multicians site it suggests Multics had a very different concept of "files", which could also be "segments". There was apparently potential ambiguity regarding the term "file"." Segments are a hardware mechanism often used then for accessing or protecting things in memory due to simplicity & speed of mechanism. Several modern techniques in INFOSEC use segments to protect programs. Here's how the MULTICs filesystem worked, though. Gist of it seems like MULTICS came up with all the key concepts I recognize for hierarchical, filesystems. http://www.multicians.org/fjcc4.html http://www.multicians.org/fjcc4.html Hansen's history shows the Titan System also had a similar filesystem: http://brinch-hansen.net/papers/2001b.pdf http://brinch-hansen.net/papers/2001b.pdf Both predate UNIX with Thompson and Ritchie actually using MULTIC before writing UNIX. So, it's probably main influence. "Today we often see the phrase "Everything is a file" being cited when introducing people to UNIX. But I have never seen anyone attempt to explain why. What was the context in the 1970's?" It's explained here: https://superuser.com/questions/364152/why-is-everything-is-a-file-unique-to-the-unix-operating-systems https://superuser.com/questions/364152/why-is-everything-is-... More detail from authors (see 3.3): http://www.scs.stanford.edu/nyu/04fa/sched/readings/unix.pdf http://www.scs.stanford.edu/nyu/04fa/sched/readings/unix.pdf "Again, this early manual says: "The most important role for UNIX is to provide a file system."" Ritchie was clear in other writings that there wasn't a single goal for UNIX at all other than to be usable and more than what they were working with. It was designed to be efficient and enable programmers rather than hold them back. The rest fell into place from there.
- aplorbust 11y agoI can appreciate the response from "alvin" in the superuser comments. Too bad networking was not part of early UNIX; sockets could perhaps have been part of the "carefully selected set of fertile ideas" that could be "keys to the implementation of a _small_ yet powerful operating system." "carefully selected" (i.e., things are deliberately left out) "small" (i.e., smaller than the alternatives) These are ideas in programming that seem to have been lost over time.
- nickpsecurity 11y agoYeah, it's unfortunate. There were a number of systems in the past that got very clever with networking and it made everything easier for developers/users. Mostly happened in the 1990's. Most are aware of Plan 9. More interesting were Amoeba distributed OS and Convergent's CTOS. The CTOS was a commercial, alternative to mainframes that distributed the system among cheaper computers. Had a lot of take-up before it was canned by Unisys after an acquisition. Couldn't have innovative products threatening their mainframe profits. ;) https://en.wikipedia.org/wiki/Amoeba_%28operating_system%29 https://en.wikipedia.org/wiki/Amoeba_%28operating_system%29 https://en.wikipedia.org/wiki/Convergent_Technologies_Operating_System https://en.wikipedia.org/wiki/Convergent_Technologies_Operat...
- aplorbust 11y agoAmoeba was mentioned toward the end of the Hanson paper you cited above. I have read about Convergent in the past, but had not read the Hanson paper. Thank you for that.
- hga 11y agoIndeed, Multics segments were mapped into your address space on demand, and the standard way to access them was as memory. As a '60s architecture, they had a maximum size of 1 MiB (of 9 bit bytes), and by the time I showed up on the scene there was a "multi-segment file" abstraction for those with data that fit into that model that was bigger than 1 MiB.
- devdas 11y agoThe name Unix is a pun on Multics.