 |
|
| |
|
 |
 |
at Global Oneness Community.
Share your dreams and let others help you with the interpretation!
Dream Sharing Forum
|
 |
Unix philosophy - Worse is better |  | Unix philosophy - Worse is better: Encyclopedia II - Unix philosophy - Worse is better |  | Richard P. Gabriel suggests that a key advantage of Unix was that it embodied a design philosophy he termed "Worse is better". In the "Worse is better" design style, simplicity of both the interface and the implementation is more important than any other attribute of the system — including correctness, consistency and completeness. Gabriel argues that this design style has key evolutionary advantages, though he questions the quality of some results.
For example, in the early days UNIX was a monolithic kernel (which means that ...
See also:Unix philosophy, Unix philosophy - McIlroy: A Quarter Century of Unix, Unix philosophy - Pike: Notes on Programming in C, Unix philosophy - Mike Gancarz: The UNIX Philosophy, Unix philosophy - Worse is better, Unix philosophy - Raymond: The Art of Unix Programming, Unix philosophy - Quotes |  | | Unix philosophy, Unix philosophy - McIlroy: A Quarter Century of Unix, Unix philosophy - Mike Gancarz: The UNIX Philosophy, Unix philosophy - Pike: Notes on Programming in C, Unix philosophy - Quotes, Unix philosophy - Raymond: The Art of Unix Programming, Unix philosophy - Worse is better, Plan 9 – Designed as a successor to Unix., Pipes and filters, The Elements of Style – One of the sources of inspiration for the Unix philosphy., UNIX-HATERS Handbook, Software engineering |  | |
|  |  | Unix philosophy: Encyclopedia II - Unix philosophy - Worse is better
Unix philosophy - Worse is better
Main article: Worse is better
Richard P. Gabriel suggests that a key advantage of Unix was that it embodied a design philosophy he termed "Worse is better". In the "Worse is better" design style, simplicity of both the interface and the implementation is more important than any other attribute of the system — including correctness, consistency and completeness. Gabriel argues that this design style has key evolutionary advantages, though he questions the quality of some results.
For example, in the early days UNIX was a monolithic kernel (which means that user processes carried out kernel system calls all on the user stack.) If a signal was delivered to a process while it was blocked on a long-term I/O in the kernel, such as sleep (10*60), then what should be done? Should the signal be delayed, possibly for a long time (maybe indefinitely) while the I/O completed? The signal handler could not be executed when the process was in kernel mode, with sensitive kernel data on the stack. Should the kernel back-out the system call, and store it, for replay and restart later, assuming that the signal handler completes successfully?
In these cases Ken Thompson and Dennis Ritchie favored simplicity over perfection. The UNIX system would occasionally return early from a system call with an error stating that it had done nothing - the "Interrupted System Call" - an error number 4 (EINTR) in today's systems. Of course the call had been aborted in order to call the signal handler. This could only happen for a handful of long-running system calls, i.e. read(), write(), open(), select(), etc. On the plus side, this made the I/O system many times simpler to design and understand. The vast majority of user programs were never affected because they didn't handle or experience signals other than SIGINT/^C and would die right away if one was raised. For a very few number of programs - things like shells or text editors - that respond to job control keypresses - these programs could put small wrappers on their system calls and retry the call right away if this EINTR error was raised. Problem solved, in a simple way.
Because of the Unix Philosophy, for much of UNIX's early years it was the OS that crashed several times every day, while also being the OS with the shortest reboot times.
Within a decade, because of the Unix Philosophy and resultant simplicity of the system, it was common for UNIX systems to outperform all other commercial operating systems with mean time to failure measured in months rather than hours.
Other related archives90-percent solution, Bruces sketch, Dennis Ritchie, Doug McIlroy, Eric S. Raymond, Fred Brooks, Generation, KISS, KISS Principle, Ken Thompson, Microkernels, Modularity, Monolithic kernel, Monty Python's Flying Circus, Optimization, Pipes and filters, Plan 9, Prototype, Richard P. Gabriel, Rob Pike, Software engineering, The Art of Unix Programming, The Elements of Style, The Mythical Man-Month, Tony Hoare, UNIX-HATERS Handbook, Unix, Unix pipes, Worse is better, X Window System, algorithms, brute force, data structures, monolithic kernel, operating system, optimization, programming, programs, shell scripts, software, text
 Adapted from the Wikipedia article "Worse is better", under the G.N U Free Docmentation License. Please also see http://en.wikipedia.org/wiki |
|
|
More material related to Unix Philosophy can be found here:
|
|
« Back
|
Search the Global Oneness web site |
|
|
|
|
 |
Sneak-Peek of Global Oneness Community
Hi friend! The Global Oneness Community, the place for information and sharing about Oneness is not really launched yet (you will see there is still some clean up to do) ...but it is now open for a sneak-peek! And if you wish - please register and become one of the very first members to do so! Jonas
Forum Home,
Articles,
Photo Gallery,
Videos,
News,
Sitemap
...and much more!
|