OPERATING SYSTEMS OVERVIEW
Definition:
An Operating system is software that manages the computer hardware.
It acts as an intermediatery between user and computer hardware.
It provides an environment in which a user can execute programs in a
convenient and efficient manner.
It is a monitoring program.
It is a resource allocator.
The abstract view of components of a computer
1. Hardware: Provides basic computing resources for the system. Like CPU, Memory, I/O
Devices.
2. System and Application Programs: Defines the ways in which the resources are used to
solve user’s computing problem.
3. Operating Systems: Provides an environment Controls the hardware and coordinates
its use among the various application programs for various users. Like a government.
4. Users: Uses the resources of a computer system.
,Operating System Services
The services provided by the operating system differ from one to another operating system.
The services those are helpful to users
1. User Interface: Allows interacting with system. The various user interfaces are
a. Command Line Interface: Uses text commands and a method for entering them.
Uses Command prompt. eg: shell (UNIX), DOS.
b. Batch Interface: All the commands and directives are entered into files and the
file is executed.eg: shell script in UNIX/LINUX
c. Graphical User Interface: The interface is a window system with a pointing
device to direct I/O, choose from menus, and make selections and a keyboard to
enter text. Eg: Windows, Apple Mac OS X, UNIX and Linux have CLI with
optional GUI interfaces.
2. Program Execution:
a. The system must be able to load program into memory and to run that
program.
b. The program must end its execution either normally or abnormally (Indicating
error).
3. I/O Operations: A running program may require I/O, for efficiency and protection;
users usually cannot control I/O devices directly. Hence Operating system has to
perform I/O.
4. File System Manipulation: For files
a. Files can be created, deleted, searched by name
b. File permissions to allow or deny access to file or directory based on ownership.
c. Programs need to read and write files and directories.
, d. Organizing file system structure
All these services must be provided by Operating System.
5. Communications:
a. One process needs to exchange information with another process.
b. Process communication occurs between two processes that are executing on
same computer or different computers in a network.
c. Operating system provides process communication by using pipes, shared
memory and message passing.
6. Error Detection: Operating system needs to be constantly aware of possible errors and
it has to take appropriate action to ensure correct and consistent computing. The
errors may occur in
a. CPU , Memory (Power failure, Timer error , Memory Insufficient)
b. I/O Devices (Parity errors, Printer Errors, Connection failure in network).
c. User Program (Arithmetic Overflow , Illegal memory access , use of more CPU
time)
The services those are helpful to for efficient operation of the system can be
1. Resource Allocation: Operating system has to manage different types of resources.
When multiple users or multiple jobs running at the same time, the OS has to allocate
the resources.
The recourses can be
a. CPU clock cycles (CPU Time)
b. Main Memory
c. File Storage (Disks)
d. I/O Devices
2. Accounting: The operating system has to record and keep track of which users how
much and what kind of resources.
This information is for
a) Accounting (Billing)
b) Using statistics the researchers can reconfigure system to improve
computing services.
3. Protection & Security:
a. When several process executing concurrently they should not interfere with
others or with the operating system. Protection involves ensuring that all access
to the system resources is controlled.
b. In a multi user and networked systems, the file and I/O system access must be
secured from unauthorized access. Security must ensure from external attacks.
, System Calls
System calls provide an interface to the services made available by an operating
system.
Programming interface to the services provided by the OS
System calls are generally available as routines written in C and C++, although certain
low-level tasks (for example, tasks where hardware must be accessed directly) may
need to be written using assembly-language instructions.
Mostly accessed by programs via a high-level Application Programming Interface (API)
Three most common APIs are
1. Win32 API for Windows
2. POSIX API for POSIX-based systems (including virtually all versions of UNIX, Linux,
and Mac OS X)
3. Java API for the Java virtual machine (JVM)
Example to writing a simple program to read data from one files and copy them to another
file.
The system call sequence to copy the contents of one file to another
Definition:
An Operating system is software that manages the computer hardware.
It acts as an intermediatery between user and computer hardware.
It provides an environment in which a user can execute programs in a
convenient and efficient manner.
It is a monitoring program.
It is a resource allocator.
The abstract view of components of a computer
1. Hardware: Provides basic computing resources for the system. Like CPU, Memory, I/O
Devices.
2. System and Application Programs: Defines the ways in which the resources are used to
solve user’s computing problem.
3. Operating Systems: Provides an environment Controls the hardware and coordinates
its use among the various application programs for various users. Like a government.
4. Users: Uses the resources of a computer system.
,Operating System Services
The services provided by the operating system differ from one to another operating system.
The services those are helpful to users
1. User Interface: Allows interacting with system. The various user interfaces are
a. Command Line Interface: Uses text commands and a method for entering them.
Uses Command prompt. eg: shell (UNIX), DOS.
b. Batch Interface: All the commands and directives are entered into files and the
file is executed.eg: shell script in UNIX/LINUX
c. Graphical User Interface: The interface is a window system with a pointing
device to direct I/O, choose from menus, and make selections and a keyboard to
enter text. Eg: Windows, Apple Mac OS X, UNIX and Linux have CLI with
optional GUI interfaces.
2. Program Execution:
a. The system must be able to load program into memory and to run that
program.
b. The program must end its execution either normally or abnormally (Indicating
error).
3. I/O Operations: A running program may require I/O, for efficiency and protection;
users usually cannot control I/O devices directly. Hence Operating system has to
perform I/O.
4. File System Manipulation: For files
a. Files can be created, deleted, searched by name
b. File permissions to allow or deny access to file or directory based on ownership.
c. Programs need to read and write files and directories.
, d. Organizing file system structure
All these services must be provided by Operating System.
5. Communications:
a. One process needs to exchange information with another process.
b. Process communication occurs between two processes that are executing on
same computer or different computers in a network.
c. Operating system provides process communication by using pipes, shared
memory and message passing.
6. Error Detection: Operating system needs to be constantly aware of possible errors and
it has to take appropriate action to ensure correct and consistent computing. The
errors may occur in
a. CPU , Memory (Power failure, Timer error , Memory Insufficient)
b. I/O Devices (Parity errors, Printer Errors, Connection failure in network).
c. User Program (Arithmetic Overflow , Illegal memory access , use of more CPU
time)
The services those are helpful to for efficient operation of the system can be
1. Resource Allocation: Operating system has to manage different types of resources.
When multiple users or multiple jobs running at the same time, the OS has to allocate
the resources.
The recourses can be
a. CPU clock cycles (CPU Time)
b. Main Memory
c. File Storage (Disks)
d. I/O Devices
2. Accounting: The operating system has to record and keep track of which users how
much and what kind of resources.
This information is for
a) Accounting (Billing)
b) Using statistics the researchers can reconfigure system to improve
computing services.
3. Protection & Security:
a. When several process executing concurrently they should not interfere with
others or with the operating system. Protection involves ensuring that all access
to the system resources is controlled.
b. In a multi user and networked systems, the file and I/O system access must be
secured from unauthorized access. Security must ensure from external attacks.
, System Calls
System calls provide an interface to the services made available by an operating
system.
Programming interface to the services provided by the OS
System calls are generally available as routines written in C and C++, although certain
low-level tasks (for example, tasks where hardware must be accessed directly) may
need to be written using assembly-language instructions.
Mostly accessed by programs via a high-level Application Programming Interface (API)
Three most common APIs are
1. Win32 API for Windows
2. POSIX API for POSIX-based systems (including virtually all versions of UNIX, Linux,
and Mac OS X)
3. Java API for the Java virtual machine (JVM)
Example to writing a simple program to read data from one files and copy them to another
file.
The system call sequence to copy the contents of one file to another