Module 1:
OPERATING SYSTEMS CONCEPTS
Computer Systems have three major components:
Hardware – provides the basic computing resources.
Ex: CPU, memory, input/output devices, electronic, mechanical, optical
device
Computer users – individuals who are trying to solve different problems.
Software – refers to programs
Without software support, a computer is of little use. With its software, however,
a computer can store, manipulate, and retrieve information, and can engage in
many other activities.
Software can be grouped into the following categories:
System software (OS and Utilities)- set of utility programs that provides basic
services for users. Ex: Window manager for GUI, command interpreter,
programs to rename, copy, or delete files.
Application software (user programs)- defines the ways in which these
resources are used to solve the computing problems of the user. It provides the
computer with the functionality the users require.
What is an Operating System?
- a program implemented in either firmware or software which provides a basis
for application programs and acts as an intermediary between the user of a
computer and the computer hardware. (Silberschatz et. al.)
- is a collection of system programs (procedures) that together control the
operation of a computer system.
- software that manages the hardware resources, provides services for
accessing those resources, and creates higher-level abstractions such as
files, directories, and processes. (J. Harris)
Operating system controls and coordinates the use of the computer hardware among
the various application programs for the users.
User1 User2 User3 …. User n
compiler assembler text editor database systems Business programs video grames
Application Programs
OPERATING SYSTEMS
Computer Hardware
Abstract view of the components of a computer system
The illustration shows the
interaction between the operating
system, the drivers and the peripheral
devices.
SCSI (Small Computer System Interface)
Mainframe OS – designed primarily to optimize utilization of hardware.
Mainframe OS designed to huge processes from many users, it
manages lots of I/O for many users,
Mainframe OS offers three kinds of service batch, transaction
processing and timesharing.
PC OS – supports complex games, business applications, and the like.
PC OS there is just one user to log in it means, it does not manages lots of
I/O for one user.
Handheld OS – designed to provide an environment in a user can easily
interface with the computer to execute programs.
Windows CE and EPOC are two of the most widely used operating
systems in handheld computers.
A handheld computer is a computer that can conveniently be stored in
a pocket (of sufficient size).
The purpose/objective is to provide an environment in which a user can execute
programs in a convenient and efficient manner. (Silberschatz et. al.)
2 Primary goals of an Operating System
1. Make the computer system convenient to use.
2. Use the computer hardware in an efficient manner.
Do operating systems differ in their sizes?
As a program, its size and complexity depend on a number of factors, most
notably:
1. Characteristics of the computer system (whether the system has one or
more processors)
2. Facilities it has to provide (will it allow interactive use of the system or
not?)
3. Nature of the applications it has to support (will it allow several users to
use the same applications program simultaneously or not?)
Note: The course emphasizes on the design principles not the detailed characteristics of any OS.
What does an operating system do?
An operating system controls the way in which the computer system functions. In
order to do this, the OS includes programs that
initialize the hardware of the computer system
provide basic routines for device control
provide for the management, scheduling and interaction of tasks
maintain system integrity and handle errors
Where are operating systems found?
There are many types of operating systems, the complexity of which varies
depending upon what type of functions are provided, and what the system is being used
for.
Operating systems are found on almost any device that contains a computer—
from cellular phones and video game consoles to supercomputers and web servers.
Some systems are responsible for managing many users on a network.
Other operating systems do not manage user programs at all. These are typically
found in hardware devices like petrol pumps, airplanes, video recorders, washing
machines and car engines.
Viewpoints of what an Operating System is:
1. It is similar to a government – provides the means for the proper use of
computer resources in the operation of the computer system.
- the operating system provides no useful function by itself and it simply
provides an environment within which other programs can do useful work.
2. Resource Allocator / Manager – manages the resources of the computer
including processor(s), main memory, and I/O devices by allocating to specific
programs and users as necessary.
- OS provides orderly and controlled allocation and use (i.e., sharing) of the
resources by the users (jobs) that compete for them.
3. Control program – manages the execution of users programs to prevent errors
and improper use of the computer. Concerns with the operation and control of I/O
devices.
4. An Extended Machine – one major function of OS is to “hide” the complexity of
the underlying hardware and give the user a better view (an abstraction) of the
computer.
- It runs in a kernel/supervisor/monitor mode (protection from user by the
hardware)
Kernel is the central component of most computer operating systems; it is a bridge between
applications and the actual data processing done at the hardware level.
The kernel's responsibilities include managing the system's resources (the
communication between hardware and software components).
Usually as a basic component of an operating system, a kernel can provide the lowest-
level abstraction layer for the resources (especially processors and I/O devices) that
application software must control to perform its function.
The kernel has full access to the system's memory and must allow processes to safely
access this memory as they require it.
A kernel connects the application software
to the hardware of a computer.
Banking Airline Games
System Reservation
Compiler Editors Command
Interpreter
Operating System
Machine Language
Microprogramming
Microprogram – primitive software that directly controls physical devices and provides a cleaner
interface to machine language, usually located in read-only memory. It is actually an
interpreter, fetching the machine language instructionsPhysical
and carrying them out as a series
Devices
of little steps.
Machine language – set of instructions that the microprogram interprets which is not really part
of a hardware at all, but computer manufacturers always describe it in their manual as
such, so many people think of it as being the real machine.