Greg, it is very interesting what you've said about the origin of file
descriptors... it might be worth looking into the history of this a
bit deeper, but from what you've said the earlier systems didn't have
the polymorphic file descriptors that unix has, from what I understand
of your post the device nodes in the filesystem were new with unix? I
totally agree that the text format and the filesystem work together to
promote inter-operability and user `ownership' of their data (a recent
phenomenon along the same lines is XML so we might say that unix
predicts current trends by 20-25 years in this respect as well).
Another really important thing to mention is the Bourne shell, it's
kind of the glue that sticks it all together, and a bit of a
masterpiece in itself, being fraught with compromise but having
programmability and a batch capability without taking away from its
main purpose of being a useable interactive shell.
cheers, Nick
On Tue, Jun 28, 2011 at 2:13 PM, Greg 'groggy' Lehey <grog(a)lemis.com>
wrote:
On Tuesday, 28 June 2011 at 10:11:40 +1000, Warren
Toomey wrote:
I'm having some trouble thinking of the right way to explain what is
an elegant design at the OS/syscall level, so any inspirations/ideas
would be most welcome. I might highlight a couple of syscall groups:
open/close/read/write, and fork/exec/exit/wait.
The system call interface is one thing, but I'm not sure it's the most
important one. Older operating systems (in my experience, IBM OS/360
and UNIVAC Omega and OS 1100) had similar interfaces. Omega also had
the concept of integer file descriptors (including 0, 1 and 2
preassigned). All of these systems had open/close/read/write, for
example.
I came to UNIX relatively late, and my first impression wasn't
favourable. It took me a while to realise what the real advantages
were. For me, they're:
- Text files. At the time, any data of any importance was stored in
custom-designed file formats. That was more efficient, both in
terms of processing time and space, but it made things difficult if
anything went wrong.
- The file system itself. I think the design of the file system,
especially the separation of names and the files themselves, but
also special files, is one of the most far-reaching designs I've
ever come across. To this day, I haven't found anything that even
comes close.
You might also get some ideas from
http://en.wikipedia.org/wiki/Unix_philosophy
Greg
--
Finger grog(a)FreeBSD.org for PGP public key.
See complete headers for address and phone numbers.
This message is digitally signed. See
http://www.lemis.com/grog/email/signed-mail.php for more details.
If your Microsoft MUA reports problems, please read
http://tinyurl.com/broken-mua
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs