Setting the record straight - *nixe's what is what - an family tree.

Status
Not open for further replies.

Kharn

Lord Techie,
Messages
7,638
OK please bare in mind for lack of a better term this White Paper is not Final, I am writing it as a experiment / demo of other Technical papers I hope to publish on the forums for the whole world to enjoy.

*nix What is it?

*nix is a generic term used to encompass the various versions of the Unix Operating system, this can be Unix it's self or BSD (and forks there of) Linux based Operating systems, Solaris (formerly SunOS), OSX (Apples operating system) and the GNU Hurd (made by the GNU project).

*nix is not by any stretch of the imagination a windows based OS - all current windows based operating systems are NT based there has been attempts to make free or open source OS's based on the NT system but being Free / Open Source is not a qualifying factor in making a OS a *nix family member.

How did we end end up with so many Unix variants.

There are so many variations of Unix has a lot of miss understanding an many story's associated with it, but the main factor has to be because it was at one time the most common operating systems in educational and milertery establishments during the golden age of computing. There was during this time a great sharing eathos programs where shared freely cash didn't allways change hands for programs an you got the source code along with it. This lead people to want to have a system like the one they where used to at school or work this lead to the Free Unix campaings like the GNU project as the original unix was prohbitivly expensive for a single home or small scail user to foot the bill for.

Lots of people had Tshirts and other sysmbols to say they belongd to a free Unix camp one interesting item was the Licence plate (sadly this is a reproduction but i will find a picture of a orginal one).

n900cov.jpg


There was no centeral group at the time that was co ordinating the development of what can now tentitivly be called The Unix standard, there is sadly no such thing it is a ethos / principal and also a OS design standard.

What the principal is.

Make programs that do one thing an do it well.
Write programs that work together.
Write programs to handle text streems as they are a universal interface.

This can be choped down to "Do one thing, an do it well"

The principal I have quoted is the shortend version an is the best on i have found a more indepth version of the principal can be atributed to Mike Gancarz in 1994.

Mike Gancarz said:
  1. Small is beautiful.
  2. Make each program do one thing well.
  3. Build a prototype as soon as possible.
  4. Choose portability over efficiency.
  5. Store data in flat text files.
  6. Use software leverage to your advantage.
  7. Use shell scripts to increase leverage and portability.
  8. Avoid captive user interfaces.
  9. Make every program a filter.

There are 10 lesser points that are not totaly agreed on by all people, an are some times hotly debaited in the micro kernal vs monolithinckernal arguments.
  1. Allow the user to tailor the environment.
  2. Make operating system kernels small and lightweight.
  3. Use lowercase and keep it short.
  4. Save trees.
  5. Silence is golden.
  6. Think parallel.
  7. The sum of the parts is greater than the whole.
  8. Look for the 90-percent solution.
  9. Worse is better.
  10. Think hierarchically.

Paused till I can orgernise some more technical details / check some facts.
 
each section of the paper will be large nearly the limmit for a post so i reserved a few for the guide an one will be for the change log.
 
Status
Not open for further replies.
Back
Top Bottom