Operating System 00
Operating System 00
1 Operating System
1.1 Introduction
An operating system (OS) is an interface between a computer user and computer hardware. An OS
is a software which perform all the basic tasks like file management, memory management, process
management, handling input and output, and controlling peripheral devices like disk drives and printers.
Definition: An operating system is a program that acts as an interface between the user and the computer
hardware and controls the execution of all kind of programs.
• Keep track of primary memory i.e., what part of it are in use by whom, what part are not in
use.
• In multiprogramming, the OS decides which process will get memory when and how much.
• Allocate the memory when a process request it to do so.
• De-allocate the memory when a process is no longer need it or has been terminated.
Processor Management: In multiprogramming environment, the OS decides which process gets the
processor when and for how much time. This function is called process scheduling. An OS does
the following activities for processor management.
• Keep tracks of processor and status of process. The program responsible for this task is
known as traffic controller.
• Allocate the processor (CPU) to a process.
• De-allocates processor when a process is no longer required.
Device Management: An OS manages device communication via. their respective drivers. It does the
following activities for device management.
• Keep track of all devices. Program responsible for this task is known as the I/O Controller.
• Decides which process gets the device when and for how much time.
File Management: A file management is normally organized into directories for easy navigation and us-
age. These directories may contain files and other directions. An OS does the following activities
for file management -
• Keep track of information, location, user, status etc. The collective facilities are often known
as file system.
• Decides who gets the resources.
• Allocate the resources.
• De-allocates the resources.
Security: By means of password and similar other techniques, it prevents unauthorised access to pro-
gram and data.
Control over System Performance: Recording delays between request for a service and response from
the system.
Job Accounting: Keep track of time and resource used by various jobs and users.
Error Detecting aids: Production of dumps, traces, error, message, and other debugging and error
detecting aids.
Coordination between other software and users: Coordination and assignment of compiler, inter-
preters, assemblers and other software to the various users of the computer system.
1. Batch Operating System: The users of this OS does not interact with the computer directly. Each
user prepares his jobs with similar on an offline device called punch card and submit to the com-
puter operators. The problem with Batch Operating System are as follows:
2. Time Sharing Operating System: It is a technique which enables many users located at various
terminals, to use a particular computer system at the same time. Processor’s time is simultane-
ously (among multi-user is termed as time sharing)
Advantage:
• Quick Response
• Avoid Duplication of software.
• Reduce CPU idle time.
Disadvantage:
3. Distributed Operating System:It uses multiple central processors to serve multiple real time appli-
cations and multiple user. Data processing jobs are distributed among the processor accordingly.
Types of distributed operating system - a). Client-Server System b).Peer to Peer System.
Advantages
4. Network Operating System: A Network operating system runs on a server and provide the server
capability to manage data, users, groups, security, application, and other network function.
Advantages:
Disadvantages:
5. Multi-processor System: A system consist of several processors that share a common physical
memory. Multi-processor provides high computing power and speed. In multiprocessor system
all processor operates under single operating system.
Advantages:
• Enhance performance.
• Execution of several task by different processors concurrently, increases the system’s through-
out speeding up the execution of a single task.
• Desktop System: Earlier CPU and PC’s lack the features needed to protect an operating
system from user programs. PC operating system therefore were neither multi-user nor multi-
tasking, goals of these operating system changed with time, instead of maximising CPU and
peripheral utilization the system opt for maximizing user convenience and responsiveness.
These systems are calle Desktop System.
Program Execution: The system must be able to load a program into memory and to run that program,
the program must be able to end its execution, either normally or abnormally (indicating error).
I/O Operations: A running program may require I/O, which may involve file or and I/O device. For spe-
cific devices, special function may be desired (such as recording to CD or DVD drive or blanking
a display screen) for efficiency and protection, user usually cannot control I/O devices directly.
Therefore, the OS must provide a means to do I/O.
File System Manipulation: The file system of a particular interest, obviously need to read and write
files and directories. They also need to create and delete them by name, search for a given file
and less file information finally some operation system include permissions management to allow
or deny access to files or directories based on file ownership. Many operating system provide a
variety of file systems, some to provide specific features or performance characteristic.
Communication: There are many circumstances in which one process need to exchange information
with another process. Such communication may occur between processes that are executing
on the same computer or between process that are executing on different computer system tied
together by a network. Communication may be implemented by a "shared memory" in which two
or more processes read and write to a share section of memory, or message passing in which
packets of information in pre-define formats are moved between processes by operating system.
Error Detection: The OS needs to be detecting and correcting errors constantly. Error may occur in CPU
and memory hardware (such as memory error or a power failure), in I/O devices (such as parity
error on disk, a connection failure on a network, or lack of paper in printer) for each type of error,
the OS should take the appropriate action to ensure correct and consistent computing.