What is an Operating System?
The 1960’s definition of an operating system is “the software that controls
the hardware”. However, today, due to microcode we need a better
definition. We see an operating system as the programs that make the
hardware useable. In brief, an operating system is the set of programs that
controls a computer. Some examples of operating systems are UNIX, Mach,
MS-DOS, MS-Windows, Windows/NT, Chicago, OS/2, MacOS, VMS, MVS, and
VM.
Controlling the computer involves software at several levels. We will
differentiate kernel services, library services, and application-level services,
all of which are part of the operating system. Processes run Applications,
which are linked together with libraries that perform standard services. The
kernel supports the processes by providing a path to the peripheral devices.
The kernel responds to service calls from the processes and interrupts from
the devices. The core of the operating system is the kernel, a control
program that functions in privileged state (an execution context that allows
all hardware instructions to be executed), reacting to interrupts from
external devices and to service requests and traps from processes.
Generally, the kernel is a permanent resident of the computer. It creates and
terminates processes and responds to their request for service.
Operating Systems are resource managers. The main resource is computer
hardware in the form of processors, storage, input/output devices,
communication devices, and data. Some of the operating system functions
are: implementing the user interface, sharing hardware among users,
allowing users to share data among themselves, preventing users from
interfering with one another, scheduling resources among users, facilitating
input/output, recovering from errors, accounting for resource usage,
facilitating parallel operations, organizing data for secure and rapid access,
and handling network communications.
Objectives of Operating Systems
Modern Operating systems generally have following three major goals.
Operating systems generally accomplish these goals by running processes in
low privilege and providing service calls that invoke the operating system
kernel in high-privilege state.
, To hide details of hardware by creating abstraction
An abstraction is software that hides lower level details and provides a
set of higher-level functions. An operating system transforms the
physical world of devices, instructions, memory, and time into virtual
world that is the result of abstractions built by the operating system.
There are several reasons for abstraction.
First, the code needed to control peripheral devices is not
standardized. Operating systems provide subroutines called device
drivers that perform operations on behalf of programs for example,
input/output operations.
Second, the operating system introduces new functions as it abstracts
the hardware. For instance, operating system introduces the file
abstraction so that programs do not have to deal with disks.
Third, the operating system transforms the computer hardware into
multiple virtual computers, each belonging to a different program.
Each program that is running is called a process. Each process views
the hardware through the lens of abstraction. Fourth, the operating
system can enforce security through abstraction.
To allocate resources to processes (Manage resources)
An operating system controls how processes (the active agents) may
access resources (passive entities).
Provide a pleasant and effective user interface
The user interacts with the operating systems through the user
interface and usually interested in the “look and feel” of the operating
system. The most important components of the user interface are the
command interpreter, the file system, on-line help, and application
integration. The recent trend has been toward increasingly integrated
graphical user interfaces that encompass the activities of multiple
processes on networks of computers.
One can view Operating Systems from two points of views: Resource
manager and Extended machines. Form Resource manager point of view
The 1960’s definition of an operating system is “the software that controls
the hardware”. However, today, due to microcode we need a better
definition. We see an operating system as the programs that make the
hardware useable. In brief, an operating system is the set of programs that
controls a computer. Some examples of operating systems are UNIX, Mach,
MS-DOS, MS-Windows, Windows/NT, Chicago, OS/2, MacOS, VMS, MVS, and
VM.
Controlling the computer involves software at several levels. We will
differentiate kernel services, library services, and application-level services,
all of which are part of the operating system. Processes run Applications,
which are linked together with libraries that perform standard services. The
kernel supports the processes by providing a path to the peripheral devices.
The kernel responds to service calls from the processes and interrupts from
the devices. The core of the operating system is the kernel, a control
program that functions in privileged state (an execution context that allows
all hardware instructions to be executed), reacting to interrupts from
external devices and to service requests and traps from processes.
Generally, the kernel is a permanent resident of the computer. It creates and
terminates processes and responds to their request for service.
Operating Systems are resource managers. The main resource is computer
hardware in the form of processors, storage, input/output devices,
communication devices, and data. Some of the operating system functions
are: implementing the user interface, sharing hardware among users,
allowing users to share data among themselves, preventing users from
interfering with one another, scheduling resources among users, facilitating
input/output, recovering from errors, accounting for resource usage,
facilitating parallel operations, organizing data for secure and rapid access,
and handling network communications.
Objectives of Operating Systems
Modern Operating systems generally have following three major goals.
Operating systems generally accomplish these goals by running processes in
low privilege and providing service calls that invoke the operating system
kernel in high-privilege state.
, To hide details of hardware by creating abstraction
An abstraction is software that hides lower level details and provides a
set of higher-level functions. An operating system transforms the
physical world of devices, instructions, memory, and time into virtual
world that is the result of abstractions built by the operating system.
There are several reasons for abstraction.
First, the code needed to control peripheral devices is not
standardized. Operating systems provide subroutines called device
drivers that perform operations on behalf of programs for example,
input/output operations.
Second, the operating system introduces new functions as it abstracts
the hardware. For instance, operating system introduces the file
abstraction so that programs do not have to deal with disks.
Third, the operating system transforms the computer hardware into
multiple virtual computers, each belonging to a different program.
Each program that is running is called a process. Each process views
the hardware through the lens of abstraction. Fourth, the operating
system can enforce security through abstraction.
To allocate resources to processes (Manage resources)
An operating system controls how processes (the active agents) may
access resources (passive entities).
Provide a pleasant and effective user interface
The user interacts with the operating systems through the user
interface and usually interested in the “look and feel” of the operating
system. The most important components of the user interface are the
command interpreter, the file system, on-line help, and application
integration. The recent trend has been toward increasingly integrated
graphical user interfaces that encompass the activities of multiple
processes on networks of computers.
One can view Operating Systems from two points of views: Resource
manager and Extended machines. Form Resource manager point of view