Introduction to Operating Systems
It is a common occurrence to find users who
are not even aware of what operating system they are
running. On occasion, you may also find an administrator
who knows the name of the operating system, but nothing
about the inner workings of it. In many cases, they
have no time as they are often clerical workers or other
personnel who were reluctantly appointed to be the system
administrator.
Being able to run or work on a Linux system does not
mean you must understand the intricate details of how
it functions internally. However, there are some operating
system concepts that will help you to interact better
with the system. They will also serve as the foundation
for many of the issues we're going to cover in this
section.
In this chapter we are going to go through the basic
composition of an operating system. First, we'll talk
about what an operating system is and why it is important.
We are also going to address how the different components
work independently and together.
My goal is not to make you an expert on operating system
concepts. Instead, I want to provide you with a starting
point from which we can go on to other topics. If you
want to go into more detail about operating systems,
I would suggest Modern Operating Systems by Andrew Tanenbaum,
published by Prentice Hall, and Operating System Concepts
by Silberschatz, Peterson, and Galvin, published by
Addison-Wesley. Another is Inside Linux by Randolph
Bentson, which gives you a quick introduction to operating
system concepts from the perspective of Linux.
History of Operating System
Historically operating systems have been tightly
related to the computer architecture, it is good idea
to study the history of operating systems from the architecture
of the computers on which they run.
Operating systems have evolved through a number of
distinct phases or generations which corresponds roughly
to the decades.
The 1940's - First Generations
The earliest electronic digital computers had no operating
systems. Machines of the time were so primitive that
programs were often entered one bit at time on rows
of mechanical switches (plug boards). Programming languages
were unknown (not even assembly languages). Operating
systems were unheard of .
The 1950's - Second Generation
By the early 1950's, the routine had improved somewhat
with the introduction of punch cards. The General Motors
Research Laboratories implemented the first operating
systems in early 1950's for their IBM 701. The system
of the 50's generally ran one job at a time. These were
called single-stream batch processing systems because
programs and data were submitted in groups or batches.
The 1960's - Third Generation
The systems of the 1960's were also batch processing
systems, but they were able to take better advantage
of the computer's resources by running several jobs
at once. So operating systems designers developed the
concept of multiprogramming in which several jobs are
in main memory at once; a processor is switched from
job to job as needed to keep several jobs advancing
while keeping the peripheral devices in use.
For example, on the system with no multiprogramming,
when the current job paused to wait for other I/O operation
to complete, the CPU simply sat idle until the I/O finished.
The solution for this problem that evolved was to partition
memory into several pieces, with a different job in
each partition. While one job was waiting for I/O to
complete, another job could be using the CPU.
Another major feature in third-generation operating
system was the technique called spooling (simultaneous
peripheral operations on line). In spooling, a high-speed
device like a disk interposed between a running program
and a low-speed device involved with the program in
input/output. Instead of writing directly to a printer,
for example, outputs are written to the disk. Programs
can run to completion faster, and other programs can
be initiated sooner when the printer becomes available,
the outputs may be printed.
Note that spooling technique is much like thread being
spun to a spool so that it may be later be unwound as
needed.
Another feature present in this generation was time-sharing
technique, a variant of multiprogramming technique,
in which each user has an on-line (i.e., directly connected)
terminal. Because the user is present and interacting
with the computer, the computer system must respond
quickly to user requests, otherwise user productivity
could suffer. Timesharing systems were developed to
multiprogram large number of simultaneous interactive
users.
Fourth Generation
With the development of LSI (Large Scale Integration)
circuits, chips, operating system entered in the system
entered in the personal computer and the workstation
age. Microprocessor technology evolved to the point
that it become possible to build desktop computers as
powerful as the mainframes of the 1970s. Two operating
systems have dominated the personal computer scene:
MS-DOS, written by Microsoft, Inc. for the IBM PC and
other machines using the Intel 8088 CPU and its successors,
and UNIX, which is dominant on the large personal computers
using the Motorola 6899 CPU family.
Types of Operating System
The operating system (or OS) is a set of special
programs that run on a computer system that allow it
to work properly. They help it to load and save data;
to communicate; and to run other programs (applications
software). Because there are different types of computer,
and different uses for them, there are different types
of operating system.
Batch Operating Systems
Some computer systems, especially some of the
early ones, only did one thing at a time. They had a
list of instructions to carry out - and these would
be carried out, one after the other. This is called
a serial system.
Sometimes, if there was a lot of work to be done, then
collections of these instructions would be given to
the computer to work on overnight. Because the computer
was working on batches of instructions the type of operating
system was called a Batch Operating System.
Batch operating systems are good at churning through
large numbers of repetitive jobs on large computers.
Jobs like: working out the pay of each employee in large
firm; or processing all the questionnaire forms in a
large survey.
Multitasking Operating Systems
Multi-tasking operating systems are now very
common. They enable the computer to run more than one
piece of software at the same time. It is quite cmmon
to sit at your computer and have a word-processor open
and running, as well as an Internet browser, and an
audio CD player all at the same time.
The operating system allows you to switch between the
applications and even transfer data between them (for
example, it helps you to copy a picture from an internet
site shown on your browser application and paste it
into your DTP application).
Multitasking operating systems allow a user to do more
than one thing at the same time.
Multiuser Operating Systems
Multiuser operating systems are used on networks
of computers and allow many different users to access
the same data and application programs on the same network.
It also allows users to communicate with each other.
There are many different types of Network Operating
System, each one suited to a different type of network.
Windows XP
Windows Me
Windows 2000
Windows 95
Windows 98
Windows NT
Windows 9x
Windows 3.x
Linux
UNIX
SCO
Sun
SGI
Macintosh
DOS
OS/2
NetWare
VAX/VNS
|