Next: What's Unixanyway?
Up: Introduction
Previous: What's the Linux Documentation
An operating system's primary purpose is to
support programs that actually do the work you're insterested in. For
instance, you may be using an editor so you can create a document. This
editor could not do its work without help from the operating system--it
needs this help for interacting with your terminal, your files, and the
rest of the computer.
If all the operating system does is support your applications, why do you
need a whole book just to talk about the operating system? There are lots
of routine maintenance activities (apart from your major programs) that you
also need to do. In the case of Linux, the operating system also contains
a lot of ``mini-applications'' to help you do your work more efficently.
Knowing the operating system can be helpful when you're not working in one
huge application.
Operating systems (OS, for short) can be simple and minimalist, like
DOS , or big and complex, like OS/2 or
VMS . Unix tries to be a
middle ground. While it supplies more resources and does more than
early operating systems, it doesn't try to do everything like
some other operating systems.
The original design philosophy for Unix was to distribute
functionality into small parts, the programs. That way, you can relatively easily achieve new
functionality and new features by combining the small parts (programs)
in new ways. And if new utilities appear (and they do), you can
integrate them into your old toolbox. Unfortunately, programs grow
larger and more feature-packed on Unix as well these days, but some
of the flexibility and interoperability is there to stay. When I write
this document, for example, I'm using these programs actively;
fvwm to manage my ``windows'', emacs to edit the text,
LaTeX to format it, xdvi to preview it, dvips to prepare
it for printing and then lpr to print it. If I got a new, better
dvi previewer tommorow, I could use it instead of xdvi without
changing the rest of my setup.
When you're using an operating system, you want to minimize the amount
of work you put into getting your job done. Unix supplies many
tools that can help you, but only if you know what these tools do.
Spending an hour trying to get something to work and then finally
giving up isn't very productive. Hopefully, you already know how to
use the correct tools--that way, you won't use the hammer to try and
tighten a screw.
The key part of an operating system is called the
``kernel.''kernel In many operating systems, like Unix,
OS/2 , or VMS , the kernel supplies functions for
running programs to use, and schedules them to be run. It basically
says program A can get so much time, program B can get this much time,
etc. One school of thought says that kernels should be very small, and
not supply a lot of resources, depending on programs to pick up the
work. This allows the kernel to be small and fast, but may make
programs bigger. Kernels designed like this are called
micro-kernels. Another group of people believe
that kernels that offer more services to applications are better and
make more efficent operating systems. Most versions of Unix are
designed like this, including . While it may seem at first that
all micro-kernels should be smaller than all macro-kernels, the terms
``micro'' and ``macro'' really aren't referring to size of the kernel
but a philosophy of operating system design.
Next: What's Unixanyway?
Up: Introduction
Previous: What's the Linux Documentation
Converted on:
Mon Apr 1 08:59:56 EST 1996
|