An Introduction To Operating Systems
An Introduction To Operating Systems
Background
Software is the general term used to describe all the programs that run on a computer.
There are two main categories of software: system software and application software.
System software performs tasks needed to control or maintain the operations of the
computer and its devices. Systems software is typically classified as follows:
● System management programs are required to run the computer - operating system
● System support programs provide other useful functions for operating the computer -
utility programs e.g. backup
● System Development Programs which enable software to be produced and maintained -
compilers, interpreters, assemblers, library programs e.g. code generation libraries
1
The operating system is therefore a resource manager and an interface.
The operating system that a computer uses is sometimes called the platform. Application
programs are usually written to work with a platform. A cross-platform program is one that
runs the same on multiple operating systems
The OS also provides internal services, i.e. it works behind the scenes while the
application software is running to perform tasks essential to the efficient functioning of
the computer system. These internal services are not generally under the user’s control,
but instead are controlled by the OS itself.
✔Manages files:
An OS keeps track of the data stored on disks. Think of your disks as filing cabinets, your
data as papers stored in file folders, and the operating system as the filing clerk. The filing
clerk takes care of filing a folder when you finish using it. When you need something from
your filing cabinet, you ask the filing clerk to get it. The filing clerk knows where to find
the folder.
2
inside of your computer fails, the operating system displays a message identifying the
problem and may not let you continue until the problem is fixed.
✔Maintains security:
An OS helps maintain the security of the data on the computer system. For example, it
might not allow you to access the computer system unless you have a user ID and a
password.
✔Provides an Interface for the user and OS to communicate with each other:
An OS provides an interface with which a user can interact. An OS allows the user to
enter commands using an input device such as the keyboard, mouse or touch screen.
Operating systems may be differentiated by its user interface (CLI, menu-driven
interface, GUI)
✔Provides utilities:
To keep the computer system in good working order, most OS provide utilities to do things
such as backing up files or checking the disk for errors.
Over the course of the next few weeks we will be looking in greater detail at the following
functions:
● Booting ● User Interface Provider
● Process Management ● Device Management
● Memory Management ● Networking capabilities
● File Management & Security
Structure of an OS
Most OS are designed and written in modular form consisting of:
3
✔a small central core (a.k.a. control program, monitor, nucleus, kernel, supervisor,
executive) that contains routines which are very time-critical, (e.g. the interrupt handler
and low-level scheduler or dispatcher).
The kernel is said to be memory resident, i.e. it must be stored in main memory and
remain there whilst other programs are being executed; and maintains a variety of data
structures to keep track of the status of other jobs running on the system. The kernel
manages memory and devices, maintains the computer's clock, starts applications, and
assigns the computer's resources, such as devices, programs, data and information.
✔an outer layer containing the other routines which make up the operating system, and
these are transient i.e. called into memory when necessary.
Process
The basic unit of software with which the operating system interacts is the process. In a
simple definition, a process is a program in execution (running on the CPU). More generally,
a process is a piece of software that performs some action and can be controlled by a user,
by other applications, or by the operating system.
CPU Time
Time in the CPU is divided into time slices or quantum which are measured in milliseconds. A
single computer can execute only one process at a time. However, its internal processing
speed is so fast that several processes can be allocated “slices” of CPU time in rotation,
making it appear as though several processes are being executed at once.