Linux is Obsolete and follow up postings Linux Inside
[Prev][Next][Index][Thread]

Linux is Obsolete and follow up postings



 As an observer interested in operating system design, I couldn't resist this
 thread.  Please realize that I am not really experienced with minux
 or linux: I have been into unix for many years.  First, a few observations:
 
 Minix was written to be an educational tool for ASTs' classes, not a commercial
 operating system. It was never a design parameter to have it run freely
 available source code for unix systems.  I think it was also a statement of
 how operating systems should be designed, with a micro kernel and seperate 
 processes covering as much of the required functionality as possible.
 
 Linux was written mostly as a learning exercise on Linus part - how to 
 program the 386 family.  Designing the ultimate operating system was not
 an objective.  Providing a usable, free platform that would run all sorts
 of widely available free software was a consideration, and one that appears
 to have been well met.
 
 Criticism from anyone that either of these systems isn't what *they* would
 like it to be is misplaced. After all, anybody that has a computer that will
 run either system is free to do what Linus and Andrew did: write your own!
 
 I, for one, applaud Linus for his considerable effort in developing Linux
 and his decision to make it free to everybody.  I applaud AST for his 
 effort to make minix affordable - I have real trouble relating to complaints
 that minix isn't free.  If you can afford the time to explore minix, and a
 basic computer system, $150 is not much more - and you do get a book to go
 with it.
 
 Next, a few questions for the professor:
 
 Is minix supposed to be a "real operating system" or an educational tool ?
 As an educational tool it is an excellent work.  As a real operating system
 it presents some terribly rough edges (why no malloc() ?, just for  starters)
 My feeling from reading The Book and listening to postings here is that you
 wanted a tool to teach your classes, and a lot of others wanted to play with
 an affordable operating system.  These others have been trying to bolt on 
 enough features to make it a "real operating system", with less than 
 outstanding success.
 
 Why split fundemental os functions, such as memory management, into user
 processes?  As all good *nix gurus know, the means to success is to
 divide and conquer, with the goal being to *simplify* the problem into
 managable, well defined components.  If splitting basic parts of the
 operating system into user space processes complicates the function by
 introducing additional mechanisms (message passing, complicated signals),
 have we met the objective of simplifying the design and implementation?
 
 I agree that *nix has suffered a bad case of feature-itis - especially
 sysVr4.  Perhaps the features that people want for either functionality
 or compatibility could be offered by run-time loadable modules/libraries
 that offer these features.  The micro-kernel would still be a base-level
 resource manager that also routes function requests to the appropriate
 module/library. The modules could be threads or user processes. (I think
 - os hackers please correct me :-) )
 
 Just my $.04 worth - please feel free to post or email responses.
 I have no formal progressive training in computer science, so I am really 
 asking these questions in ignorance.  I suspect a lot of others on the
 net have similar questions in their own minds, but I've been wrong before.
 
 
 
 -- 
 -- David
 David Miller                Phone: (207) 873-3317
 Applied Computer Group      Fax:   (207) 872-5018
 5 Kimball Street            UUCP:  uunet!acg!dmiller