| The TipMe page,
for understanding basic
*nix things. |
| All examples are in
the Training
column pages. |
| Q: Ok. Describe any
Unix-Compatible
OS with one word. A: Portable. Since the beginning, nearly any *nix os (corporate or academic) was distributed by source code. If corporate, a licence had to be paid.
Then it could be compiled to any hardware, or better, processor family. This is a tradition that is followed even now, but not as a ritual. There are too many platforms for a code developer to compile for all. So, this task is left to 3rd party (individuals, companies, communities). Learning to compile and install software for your *nix is a must! |
|
| Q: Ok, Second word
then? A: Unified. These operating systems handle everything (meaning everything) as a file. They organize everything in a single filesystem tree , starting from root "/". Directories, files, devices, local and remote filesystems, swap files and the pseudo-filesystem "/proc" belong to that ever-expandable tree. So, the primary master hard disk is the /dev/hda file. The wave device of our first soundcard is /dev/dsp. And a user can (if permitted to) access them from the command line. And a file can be formatted and mounted as a filesystem. Please be aware that not all things are unified, but most of them are. For example, to access a web server, going to: /mnt/http/users.hol.gr/~micro/index.html would be the most unified method. In reality, we use the Uniform Resource Locator method: http://users.hol.gr/~micro/index.html But there is a project common to Linux and *BSD called PortalFS which might solve the situation. |
|
| Q: Ok, ok. Third
word? A: Transparent. You can browse local directories and network ones without knowing the difference!
|
|
| Q: Fourth? A: Multiuser. Every user has permissions and privileges, so do the programs he/she runs. Every file or dir he/she owns (like /home/foo for user foo) can be: Fully accessible by him Only readable by the group Unaccessible to world (all others) A directory of his can be writable to all (as a public dir) but not erasable whatsoever! And many users in parallel can be served, not just one. |
|
| Q: Fifth? A: Stable! There are some (mostly *BSD) servers that run for 2 years without restarting! Furthermore, theoretically, a need to restart is only for kernel change. As root (Unix Administrator) you can:
And all this without restarting! |
|
| Q: Siiixth? A: Modular. Programs for unices are specialized and economic. Specialized: They perform greatly in a single task. Economic: Output is not verbose unless stated otherwise. There is a common philosophy: Not to extend a programs purpose, but to create another one specialized instead. A way of interaction between them is therefore developed. So, the output of a programs can either: be redirected to the input of another or: passed as parameters to another. The next program can also check the exit status of the previous one, so conditions can be checked.
Note: In MacOSX, which is based on BSD, some "compromises" may exist considering the modularity of its graphics mechanism against the whole system. In general, Guis attached to an OS kernel lose modularity in favor of simplicity. (This is not a case in Unices, GNU/Linux or *BSD of course) |
|
| Q: Seeeeeventh??? A: Powerful. Programs in unices are generally non-interactive unless stated otherwise. This (as well as the sixth description helps to create scripts to operate these programs. |
|
| Q: What is a script
then? A: A script is a high (human level) batch of commands that can use specialized utilities (like the ones described in the Helpme page) to do a complicated work. Q: Wouldn't a big program do the same thing without pain? A: Yes and no. Big multipurpose programs tend to be buggy. A script (or a frontend) adds interactivity as well as a way of completing a complicated task with simple programs. We can then do things that in other operating systems would need more and more special applications created. Q: But scripts are text mode. A: tcl/tk scripts are graphical, and give the impression of Gui applications. A script can be automated with the same ease as it could be interactive. Q: And what else uses scripts?? A: The OS boots through scripts! Login procedure runs with scripts! Servers initialize with scripts! Sql server is a big example. X-Window System is brought up with scripts. Q: Like my registry? A: No. Managing a big binary database file and editing it with special tools is not the case in *nix. A more universal, textual approach with a configuration file for every application, edited with a simple text editor IS the case!
---------------- To Be Continued ------------------------- |