0% found this document useful (0 votes)
29 views115 pages

Unit-1 Complete

Uploaded by

Ali Sher Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views115 pages

Unit-1 Complete

Uploaded by

Ali Sher Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 115

Operating System

(KCS-401)
Internal Marks 50
Ens Semester Marks 100

Dr Manish Gupta, MIT Moradabad


Dr Manish Gupta, MIT Moradabad
What are Course Outcomes

Course Learning Outcomes are statements clearly


describing the specific type and level of
new learning students will have achieved

The Course Outcomes(COs): They are the resultant


knowledge skills the student acquires at the end of
a course

Dr Manish Gupta, MIT Moradabad


What is Bloom’s Taxonomy

Bloom’s Taxonomy is a classification of the different


objectives and skills that educators set for their
students
The taxonomy was proposed in 1956 by Benjamin Bloom,
an educational psychologist at the University of
Chicago.
Knowledge , understand, Application, Analysis,
synthesis, Evaluation

Dr Manish Gupta, MIT Moradabad


Bloom’s Taxonomy
Level Activities Keywords
Knowledge Arrange, define, describe, match, order,
Memorising information, defining memorize, name, note, repeat,
techniques, etc questions (Who? What? When?
Where?).
Comprehension/ Understanding an article with the Alter, change, classify, define in your
Understand objective of providing a summary own words, discuss, explain, extend,
give examples, translate, etc.
Application Using the knowledge of the learner to Apply, calculate, compute, construct,
apply it to concrete situations (real life) operate, practice, write an example
question (how many? Which? What
is?).
Analysis Asking a learner to dissect a subject, Analyse, appraise, categorise, compare,
explain how everything fits together conclude, contrast, criticize, diagnose,
differentiate, etc.
Synthesis Placing the pieces of a subject back Assemble, compile, compose, create,
together but in a novel way by gathering improve, synthesize, what if, etc.
information from several sources Questions (How can we improve? What
would happen if? How can we solve?).
Evaluation Judging the value of a subject for a Appraise, argue, choose, certify,
specific purpose criticize, decide, deduce, defend,
discriminate, estimate,
Dr Manish Gupta, MITevaluate,
Moradabad
recommend, etc.
Dr Manish Gupta, MIT Moradabad
Books
 1. Silberschatz, Galvin and Gagne, “Operating Systems
Concepts”, Wiley
 2. TMH 5. William Stallings, “Operating Systems: Internals
and Design Principles ”, 6th Edition, Pearson Education
 3. D M Dhamdhere, “Operating Systems : A Concept based
Approach”, 2nd Edition,

 4. Sibsankar Halder and Alex A Aravind, “Operating


Systems”, Pearson Education
 5. Harvey M Dietel, “ An Introduction to Operating System”,
Pearson Education

Dr Manish Gupta, MIT Moradabad


Operating System

Dr Manish Gupta, MIT Moradabad


Operating System

• Type of system software that runs the computer


• The OS is the overall in charge of the computer system.
• Special set of program, which manages overall functioning of
computer system
• Key software that forms a link between user and computer.
• The OS has access to all the critical functions and the resources
managed by the computer system.

Dr Manish Gupta, MIT Moradabad


Operating System

• An operating system (OS) is the interface between user and


computer hardware.
• It manages the hardware attached to the computer system.
• An operating system is a system software.
• The computer system cannot function without the OS. When the
computer system is powered ON, the CPU’s first task is to load
OS. The computer system becomes fully operational to the user
only after the OS is loaded into the main system memory.

Dr Manish Gupta, MIT Moradabad


Operating System
• Some popular operating systems are Linux, windows operating
system, Android, Macintosh, iOS etc.

Dr Manish Gupta, MIT Moradabad


Operating System Characteristics

The Operating systems are different according to the three primary characteristics which
are licensing, software compatibility, and complexity.
Licensing
• There are basically three kinds of Operating systems. One is Open Source OS,
another is Free OS and the third is Commercial OS.
• Linux is an open source operating system which means that anyone can download
and modify it for example Ubuntu etc.
• A free OS doesn’t have to be open source. They are free to download and use but
cannot modify them. For example, Google owns Chrome OS and makes it free to
use.
• Commercial operating systems are privately owned by companies that charge money
for them. Examples include Microsoft Windows and Apple macOS. These require to
pay for the right (or license) to use their Operating systems.

Dr Manish Gupta, MIT Moradabad


Software Compatibility
The developers make the softwares which may be compatible or incompatible in
different versions within the same operating system’s type but they can’t be compatible
with the other OS types. Every OS type have their own software compatibility.

Complexity
Operating systems come in basically two editions one is 32-bit and other is 64-bit
editions. The 64-bit edition of an operating system best utilizes random access memory
(RAM).
A computer with a 64-bit CPU can run either a 32-bit or a 64-bit OS, but a computer
with a 32-bit CPU can run only a 32-bit OS.

Dr Manish Gupta, MIT Moradabad


Goals of the Operating System

Convenient
User friendly

Dr Manish Gupta, MIT Moradabad


Basic Functions of the Operating System

• In order to effectively perform the role, OS performs following most important


functions for managing the software and hardware resources of the computer
system.
Process Management
Memory Management
Resource Management
File Management
Device Management
Security and Protection Management
Input and Output Management
Command Interpreter

Dr Manish Gupta, MIT Moradabad


Process Management

• Every program running on a computer is a process whether it is in the background


or in foreground. The operating system is responsible for making multiple tasks to
run at the same time (multitasking).

• Operating system finds the status of processor and processes, chooses job and its
processor and then allocates processor to process and also de-allocates process
when it’s executed.

Dr Manish Gupta, MIT Moradabad


Memory Management

• The operating system handles the responsibility of storing any data, system
programs, and user programs in memory. This function of the operating system is
called memory management.

• It manages the allocation of memory of system for different processes. It manages


both the primary memory and secondary memory.

• The OS is also responsible for reallocated the memory from the processes that is
already terminated.

Dr Manish Gupta, MIT Moradabad


Resource Management

• The resource management is one of the important function handled by the OS. The
OS is the overall in charge of the system resources. Some of the most important
system resources include the main memory RAM, storage space and processor
cycle time.

• The CPU starts the program execution when the OS loads the executable copy of
the program into main memory RAM. The OS allocates the required memory to
execute the program. The OS also allocates another important resource that is
CPU’s processing time.

Dr Manish Gupta, MIT Moradabad


File Management

• An operating system manages the files and directories of computer system. All the
files with different extensions are managed by OS. A file can be defined as a
collection of information or data that is store in the memory of computer system. A
file can be a text file, image file, audio file, video file, and may contain data in any
other form.
• An operating system allow us to create, delete, save, edit files in a computer
system.
• The operating system is helpful in making changes in the stored files and in
replacing them. It also plays an important role in transferring various files to a
device.
• The operating system allocates and de-allocates resources. It regulates which
process gets the file and for what duration. Also, it keeps track of information,
location, uses, status etc.

Dr Manish Gupta, MIT Moradabad


File Management

Dr Manish Gupta, MIT Moradabad


Device Management

• This function of operating system is used to manage different devices that are
connected with the computer system.
• An operating system interact with hardware device through specified device
drivers. Operating System manages device communication via their respective
drivers.
• It does the following activities for device management −
Keeps tracks of all devices. I/O controller is responsible for this task
Decides which process gets the device when and for how much time.
Allocates the device in an efficient way.
De-allocates devices.

Dr Manish Gupta, MIT Moradabad


Security and Protection Management

• Security module protects the data and information of a computer system against
malware threat and authorized access.

• One of the important responsibility of the OS is to provide secure and run time
environment to various processes (both application and system processes) which
are being executed on computer system.

• The system security is another important aspect which is handled by the OS. It
ensures the security of computer system from the various threats and viruses
attacks. An operating system uses various techniques such as authentication,
authorization, cryptography etc. for ensuring security of compute system.

Dr Manish Gupta, MIT Moradabad


Input/Output Management

• To manage and organize I/O operations and all I/O devices.

Dr Manish Gupta, MIT Moradabad


Command Interpreter

• A command interpreter is a crucial component of the OS and it is a program which


reads the instructions given by the user. The command interpreter then translates
these instructions into the context of the OS followed by its execution. The
command interpreter is also known as “shell”.

• A command interpreter is the part of OS that interprets and executes command that
are entered interactively by the system user or from a application program.
• The command interpreter is an interface between system and user. There are two
types of user interface:-
Command Line Interface (CLI)
Graphical User Interface (GUI)

Dr Manish Gupta, MIT Moradabad


• With CLI, the user interact with the OS by typing commands to perform specific
tasks.
• With GUI, the user interacts with the OS by using a mouse to access windows icons
and menu.

Dr Manish Gupta, MIT Moradabad


Classification or Types of Operating Systems

• A computer system can be designed to operates in different modes in terms of


number of users working on the machine at the same time, number of processors
used, data handling and the number of applications running simultaneously on the
same computer system.
• A computer system needs OS which can support such operations. The different
types of OS are used to support the different modes of operation.
• Different types of OS are-
1. Batch OS
2. Interactive OS
3. Time sharing or Multi tasking OS
4. Real time OS
5. Multi processing or Multi processor OS
6. Multi user OS
7. Multi programming or Multi process OS
8. Multi threaded OS
9. Distributed OS
10. Network OS

Dr Manish Gupta, MIT Moradabad


Batch Operating System

• When we are working with tapes, a large amount of CPU time wasted in mounting
tapes or in operating the input/output device as CPU was sitting without any work
to perform.
• To speed up processing, jobs with similar needs are batched together and executed
through processor as a group.
• In the batch system, firstly user prepares his job (program + I/P data + control
instructions) by using punch cards and then he submits the job to the computer
operator. A system has card reader in which punch cards are inserted. Output also
appeared in the form of punch card after processing.
• The operator sorts the jobs as a deck of punch cards into batch with similar needs.
• A batch is the deck of punch cards.
• User cannot interact with batch OS. But operator can interact with OS.
• Batches are executed sequentially. After completion of batch1, batch2 is executed
and so on.

Dr Manish Gupta, MIT Moradabad


Batch Operating System
• During this transaction from one job to the next, the CPU sat idle. To overcome this
idle time, a small program called resident monitor was created which is always
resident in the memory. It automatically sequenced from one job to another job.
• For example, suppose the operator received one 'C' Program one COBOL program
and another 'C' program. If these programs can be run in that order, he would have
to set up for the 'C' program environment (loading the 'C' compiler tapes) then set
up the COBOL program and finally 'C' program again. If he runs two 'C' as a batch,
however, he could set up only once for 'C'. Thus it saves the operator's time.

Dr Manish Gupta, MIT Moradabad


Batch Operating System:

Advantages:
• Processors of the batch systems are aware of the time duration of the job
even when it is present in the queue.
• A new job gets started as soon as the previous job is finished without any
manual intervention; this increases the performance of the system.
• In batch, job execute one after another saving the time for loading and
unloading the compiler and other data,

Disadvantages:
• Operator can not insert batch2 until the completion of batch1.
• Memory limitation.
• There is a lack of interaction between a user and his job. Once a batch of jobs is
submitted for execution, the user is not able to interact with any of his jobs. If a
job requires the user to input data during run time, then the user must wait till
the other jobs of the batch get executed and if an error occurs while the
program is in execution, it can be found only after the completion of all jobs.
Due to this increases the overall execution time.
Dr Manish Gupta, MIT Moradabad
• It may lead to starvation because a particular batch of jobs might take a long time
for their execution of other jobs in other batches have to wait for a long time to
execute.
• CPU may remain idle for a long time in the batch system. If the processes of a
batch need some I/O operation, at that time CPU must wait till the I/O operation
gets completed.
• Insufficient use of CPU because of speed mismatch between fast CPU and slow
devices and CPU cannot take any other job and execute it.

Dr Manish Gupta, MIT Moradabad


Distributed Operating System

• Distributed systems use multiple central processors to serve multiple real-time


applications and multiple users. Data processing jobs are distributed among the
processors accordingly.

• The processors communicate with one another through various communication


lines (such as high-speed buses or telephone lines). These are referred as loosely
coupled systems or distributed systems. Processors in a distributed system may vary
in size and function. These processors are referred as sites, nodes, computers, and
so on.

Dr Manish Gupta, MIT Moradabad


Distributed Operating System:
Advantages:
• The data exchange speed is increased by using electronic mails
• All systems are entirely independent of each other
• Failure of one system is not going to affect the other
• The resources are shared and hence the computation is very fast and speedy
• There is a reduction in load on their host computers
• Delay in processing reduces

Disadvantages:
• If the main network fails, this will stop the complete communication.
• They are very expensive.
• The underlying software is highly complex.

Examples: LOCUS etc.

Dr Manish Gupta, MIT Moradabad


Network Operating System

• A Network Operating System runs on a server and provides the server the
capability to manage data, users, groups, security, applications, and other
networking functions.
• The primary purpose of the network operating system is to allow shared file and
printer access among multiple computers in a network, typically a local area
network (LAN), a private network or to other networks.
• These allow shared access to networking functions on minor or small private
network.
• All the users know the configuration of all the other users in the network, their
private or individual connections etc.

Dr Manish Gupta, MIT Moradabad


Network Operating System

Advantages:
• The servers are Highly stable and centralized
• Servers handle Security concerns
• New technologies and hardware up-gradation can be easily integrated
• Server access is possible remotely from various locations and different types of
systems

Disadvantages:
• Costly servers
• Depended on central location
• Regular updates and maintenance required

Examples:
• MS Windows Server 2003, MS Windows Server 2008, NetWare, BSD etc.

Dr Manish Gupta, MIT Moradabad


Real Time Operating System

• Real-time systems are considered as special-purpose systems where there is need


of fixed amount of time on the operation of a processor or the flow of data and to
respond to the inputs to perform the task.

• The processing of the given input or data must be done within the given time
constraints otherwise the system fails.
• The logical result or output of the computation produces by the system and the time
to produce the result describes the accuracy of the system.
• Real-time systems fetch data from sensors after that process it and provide output
before the time constraints as it has well defined fixed time constraints.
• Examples of Real-time systems are medical imaging systems, industrial control
systems, home appliance systems, automobile-engine fuel injection systems, and
weapon systems, etc.
• There are two types of real-time operating systems:
i) Hard real-time systems and
ii) Soft real-time systems.

Dr Manish Gupta, MIT Moradabad


Real Time Operating System

Hard real-time systems

• In a hard-real time system, the system must perform the task within the given time
constraints. If there is a single failure in the system to meet the deadline is a
complete or catastrophic system failure.
• Air Traffic Control systems, missiles launching, time bomb and nuclear reactor
control systems are some examples of hard real-time systems.

Soft real-time systems

• In a soft real-time system, it is less restrictive as producing output within a specified


deadline is not necessary.
• There can be a small tolerance. Missing the deadline is not considered as a total
system failure but the performance is considered to be degraded.
• Multimedia streaming, and digital audio are some examples of soft real-time
systems.

Dr Manish Gupta, MIT Moradabad


Multiuser Operating Systems:

• The multi user operating system uses to use a system by multiple users. In other
word multi user operating system allows a number of users to work simultaneously
on a single computer system. These types of operating systems are specially
designed for the multi user system.

• Examples of multi user operating systems includes Unix, Linux, Windows 2000
and VM - 386.

Dr Manish Gupta, MIT Moradabad


Multi Threading Operating Systems

• A flow of control is called a thread. A program is a set of instructions which


constitute different parts of a single program. Each different part of the program is
referred to as thread of the program.
• A process that has only one flow of control is referred to as a single thread.
• A process having multiple flows of control is referred to as single multithread
(heavyweight process).
• Threads such as child processes that use the parent process resources but execute on
its own.

Dr Manish Gupta, MIT Moradabad


Multi Threading Operating Systems

• Example: In a word processor, one thread (t1) is for displaying graphics, second
thread (t2) for reading keystrokes from the user and a third thread (t3) for
performing spelling and grammar checking in the background.

Dr Manish Gupta, MIT Moradabad


Multi Threading Operating Systems:

Advantages
• Responsiveness – It allows a program to continue its execution even if part of it is
blocked or is performing a lengthy operation thereby increasing the responsiveness
to the user.
• Resource sharing – The memory and the resources of the process shared by
threads to which they belong.
• Utilization of Multiprocessor Architecture – In Multiprocessor Architecture each
thread may be running in parallel on a different processor. Multithreading on a
multi-CPU machine increases concurrency.
• Economy – It is costly to allocate memory and resources for process creation.
Threads share resources of the processes to which they belong, it is more
economical to create threads.

Dr Manish Gupta, MIT Moradabad


Multi Programming Operating Systems

• In this concept, two or more user programs can be in main memory and can be
executed concurrently. The CPU can give time to various programs despite sitting
idle when one is busy with I/O operations.
• When one program is waiting for I/O transfer then next program can utilize the
processor. Therefore, several processes can share the time of the CPU.
• OS cannot forcefully remove the program from CPU during execution. Program
itself release CPU when wait for I/O operation.
• CPU is idle when there is no process in main memory or at the time of switching
between processes.

Dr Manish Gupta, MIT Moradabad


Multi Programming Operating Systems

Advantages

• Throughput is increased by utilizing the idle time of the CPU by running other
programs also that are already available in the main memory.
• Waiting Time or response time is lowered by identifying the priority of a job as it
enters in the system and by executing jobs on behalf of their priority.
• May be extended to multiple users.
• Very useful when load is very high. You can open multiple application at the same
time.

Disadvantages
• Cannot assign CPU to next smaller program if CPU is busy in execution of larger
program . Smaller program must wait for a long time.
• Difficult CPU scheduling is required.
• Main memory management is also required.
• Memory fragmentation

Dr Manish Gupta, MIT Moradabad


Multi Tasking or Time sharing Operating Systems/Multi
process
• It is the multi programming with time sharing.
• Only one CPU is involved but it switches from one program to another so quickly
such that it gives an illusion of executing all the programs at the same time.
• It allows more than one program (processes) or many instances of the same
program to run concurrently. Eg. With MS window OS, the user can open multiple
MS word document files at the same time.
• It share common resources such as CPU time and main memory RAM.
• The small amount of time is assigned to each job at once and then move on to the
next task. OS can forcefully remove the program from CPU due to this time
quantum.

Dr Manish Gupta, MIT Moradabad


Single User Multi Tasking Operating Systems:

Dr Manish Gupta, MIT Moradabad


Advantages:
• Each task is given equal importance
• Better response time as the CPU idle time is decreased
• Executing multiple processes together.

Dr Manish Gupta, MIT Moradabad


Multi Processor Operating Systems:

• The multiprocessor operating system allows the computer system to use more than
one CPU in a single system for executing more than one or multiple processes at a
same time.
• This OS shares their bus, clock, memory and input/output devices.
• A computer system having multiple CPU process faster than a system which
contains a single CPU. However, all the processors share the same common main
memory (RAM).
• Examples of multiprocessor operating systems are Linux, Unix, windows 2000 etc.

Dr Manish Gupta, MIT Moradabad


Multi Processing Operating Systems

Advantages:
• By permitting parallel processing of different portions of programs, enhances the
performance of the computer systems.
• Multiprocessing provides the facility of built-in backup. If one of the CPUs breaks
down, the other CPUs automatically controls the complete workload until repairs
are made. Thus, a complete breakdown of such a system is very rare, so that
reliability of system increase.
Disadvantages:
• A good performance OS required to schedule, balance and coordinate the input,
output and processing activities of multiple CPUs. To build such type of OS it
requires a large amount of time and highly powered computer working people.
• It is very expensive.
• The main memory of bigger size is required for holding the special OS along with
various users programs.

Dr Manish Gupta, MIT Moradabad


Difference between Multitasking and
Multiprocessing Operating System

Dr Manish Gupta, MIT Moradabad


Difference between Multitasking and Multiprocessing Operating System

Multitasking Multiprocessing
1 The execution of more than one process takes The presence of more than one processor in a
place simultaneously. system that can execute large no of instruction in
parallel mode.
2 In this system the no of processor is one. In this system the no of processors are more than
one.
3 It takes more amount of time in process It takes less time in process execution.
execution.
4 In this, jobs are executed one by one at a time. In this, more no of jobs can be executed at a
time.
5 In this system the whole process is depend In this system the whole process is divided
only on one processor. between the multiple processors.

Dr Manish Gupta, MIT Moradabad


Difference between Multitasking and Multiprocessing Operating System

Dr Manish Gupta, MIT Moradabad


Difference between Real Time and
Time Sharing Operating System

Dr Manish Gupta, MIT Moradabad


Difference between Real-Time and Time Sharing Operating System

In RTOS process deals with one application at a time but in Time-Sharing


OS process deals with more than one application simultaneously.

Switching does not present in a real-time system whereas it takes place in a time-
sharing system.

In Time sharing, a process can retain the resources for a fixed amount of time and
can be reallocated to another process after that time but users can share resources in
RTOS.

In RTOS, users should get a response within a fraction of time but if not results are
disastrous. In a time-sharing system, the response should get within fractions of
seconds but if not, the results are not disastrous.

Dr Manish Gupta, MIT Moradabad


Difference between Multi Programming and
Multi Processing Operating System

Dr Manish Gupta, MIT Moradabad


Difference between Multi programming and Multi processing Operating
System

Multiprogramming is interleaved execution of two or more process by a single


CPU computer system. Whereas, Multiprocessing is the simultaneous execution of
two or more process by a computer having more than one CPU.

Multiprogramming occurs by switching from one process to others (a phenomenon


called context switching) whereas, Multiprocessing occurs by means of parallel
processing.

Multiprogramming includes executing a portion of the program, then a segment of


another in the consecutive time period. But in Multiprocessing it is possible for a
system to simultaneously work on several program segments of one or more
program.

In Multiprogramming context switching takes place but multiprocessing permits


parallel processing.

Dr Manish Gupta, MIT Moradabad


Modes of Operating System / System Protection
There are two modes in which an Operating System works. These are:
The User Mode or system mode (mode bit is 1)
The Kernel Mode or Monitor mode (mode bit is 0)

1) User Mode of Operating System


When the computer system runs user applications like file creation or using any other
application program, then the system is in the User Mode. This mode does not have direct
access to the hardware of the Computer. For performing hardware related tasks, like when the
user application requests for a service from the Operating System or some interrupt occurs, in
these cases the System must switch to the Kernel Mode. The mode bit of the user mode is 1.

2) Kernel Mode of Operating System


All the bottom level tasks of the Operating system are performed in the Kernel Mode. As the
Kernel space has direct access to the hardware of the system, so the kernel mode handles all the
processes which require hardware support.
Apart from this, the main functionality of the Kernel Mode is to execute privileged instructions.
These privileged instructions are not provided the user access, and that's why these instructions
cannot be processed in the User mode. So, all the processes and instructions that the user is
restricted to interfere with are executed in the Kernel Mode of the Operating System. The mode
bit for the Kernel Mode is 0.

Dr Manish Gupta, MIT Moradabad


Need for Dual Mode of Operating System
There are certain types of processes which are to be made hidden from the user, and
certain tasks which do not require any type of hardware support. Using the Dual
Mode of the OS, these tasks can be dealt with separately.

Also, it is important for the Operating System to function in the dual mode because
the Kernel Level programs perform all the bottom level functions of the OS like
process management, Memory management, etc., and if these are altered by the user,
then this can cause an entire system failure. So, for specifying the access to the users
only to the tasks which are of their use, Dual Mode is necessary for an Operating
system.

So, whenever the system works on the user applications, it is in the User mode.
Whenever the user requests for some hardware services, a transition from User mode
to Kernel mode takes place and this is done by changing the mode bit from 1 to 0.
And for returning again into the User mode, the mode bit is again changed to 1.

Dr Manish Gupta, MIT Moradabad


Operating System Booting Process

• The process of loading the OS into the RAM is known as Booting Process.
• The OS is essential system software which effectively handles some of the most
important functions.
• The system user can start using the computer only after the OS is fully loaded into
the RAM. And therefore, the CPU initiates the booting process by activating
another system software called the BIOS.
• BIOS is a small piece of system software placed in a ROM chip on the
motherboard.
• The BIOS is a start up routine present on the mother board in the form of BIOS
chip. The main job of BIOS is to search and load the OS.

Dr Manish Gupta, MIT Moradabad


BIOS (Basic Input Output System)

• The BIOS is a start up system program that gets activated every time the system is
powered on.

• It is the BIOS that performs initial hardware check on some key components such
as power supply unit (PSU-SMPS) , memory-RAM, processor, display monitor
and keyboard.

• The BIOS initiates the system booting process by starting a self diagnostic test
called POST (Power ON Self Test).

Dr Manish Gupta, MIT Moradabad


BIOS (Basic Input Output System)

• If the POST test is completed successfully then BIOS will proceed further and
search for a capable OS.

• The BIOS loads the OS into main memory RAM and handover the control to OS.

• The user can operate the system when OS is fully operational.

Dr Manish Gupta, MIT Moradabad


CMOS (Complimentary Metal Oxide Semi conductor )
During the computer system booting process, the BIOS takes the hardware
configuration data, settings from the another source called CMOS memory.

The CMOS memory chip is a type of miniature volatile memory chip which stores
the data required during the system booting process.

Since the CMOS is a type of volatile memory, it needs to be continuously powered


so that it can retain this data. The power is provided by the CMOS battery.

The CMOS battery is used on the motherboard to supply power to CMOS RAM
which stores the user settings and other data required during booting process. The
most commonly used CMOS battery found on most motherboards is the CR2032
Lithium Coin Cell.

Dr Manish Gupta, MIT Moradabad


Both BIOS and CMOS memory jointly participate into the system booting process to
load the main OS.

UEFI (Unified Extensible Firmware Interface):

The UEFI is a new replacement for the firmware BIOS. In simple words, BIOS is a
small piece of system software placed in a ROM chip on the motherboard.

The UEFI is a latest new advanced version of the BIOS that will be doing the same
job previously done by the BIOS. However, both BIOS and UEFI operate differently.

UEFI offers a presentable GUI interface as compared to the text navigation menu of
the BIOS.
The UEFI has also added number of security features and that has significantly
improved the system security.

Dr Manish Gupta, MIT Moradabad


System Components

Dr Manish Gupta, MIT Moradabad


The computer system consist of two main components-
• Hardware component
• Software component

Dr Manish Gupta, MIT Moradabad


The software components consist of system software and application software. The
application software cannot directly interact with the hardware components.
Therefore, computer system needs a special system program called OS which
can interact with hardware components.

• The OS internally use another system software called Driver. The OS interacts
with hardware components through a set of drivers.
• The OS provides the necessary resources and the run time environment to the
various other applications running on the computer.

Dr Manish Gupta, MIT Moradabad


Operating System Structure

Depending upon the internal structure, the OS can be grouped into-

Simple Structure
Layered structure

Dr Manish Gupta, MIT Moradabad


Simple Structure:

Not having very well defined structure. Because these OS designed in very beginning.

It started as small, simple, limited resource and then grew beyond their original scope.

It was written to provide most functionality in least space, not divided into modules
carefully.

Interfaces and levels of functionality are not well separated.

No Hardware protection.

Not well structured and protected.

Dr Manish Gupta, MIT Moradabad


Fig. shows the simple structure of MS Disk Operating System (DOS)

• Here, bottom most is the ROM BIOS device drivers, it is like base hardware. Top
of this we have device drivers. Then we have resident system programs and then
application programs.
• The device drivers may have access to basic hardware and resident system
programs have access to the device drivers as well as basic hardware.
Dr Manish Gupta, MIT Moradabad
• The application programs have access to the resident programs as well as basic
hardware.
• The base hardware can be accessed by all things above it. Application program,
resident program, device drivers all can access basic hardware.
• Application programs can access the basic hardware directly without going to levels
below it. When user runs a program and since it is directly accessing the basic
hardware, if the program fails then entire system going to be fail.
• MS DOS was actually written on Intel 8088. This Intel 8088 does not provide Dual
mode or any hardware protection. The designer or developer of this system have no
other option than to just leave this basic hardware accessible by all layers above it.

Dr Manish Gupta, MIT Moradabad


Layered Structure:

A layered architecture approach of OS was developed in 1960’s. In layered approach,


operating system is broken up into a number of layers (levels).

The bottom layer (layer 0) is the hardware; the highest (layer N) is the user interface.

Each layer hides the existence of certain data structures, operations, and hardware from
higher-level layers. Every layer is having different functionalities.

Dr Manish Gupta, MIT Moradabad


Advantages:
1. It is easy to implement and debug. Why?
The layers are selected so that each uses functions (operations) and services of only
lower-level layers. If an error is found during the debugging of a particular layer, the
error must be on that layer, because the layers below it are already debugged.
Eg. CPU scheduling layer is having problem then in order to debug that , we have
to look that layer and debug that layer instead of going and debug all layers of OS.
2. Hardware is protected from layers above it.
Eg. The user interface can not directly access the hardware.

Disadvantages:
1. Designing of this structure.
We have to be careful and specific in designing and deciding which will be
layers on top of particular layer or which layers will be below of particular layer.
This is necessary because the upper layers can only use the functionalities of the
layers below them.
Eg. A layer which deals with backing storage (disk space used by virtual-memory
algorithms) must be below the layer which deals with memory management.
Because memory management routine needs to use services provided by the
backing storage.
The backing-store driver would normally be above the CPU scheduler, because
the driver may need to wait for I/O and the CPU can be rescheduled during this
time. So we have to be very careful in designing. Dr Manish Gupta, MIT Moradabad
2. Not very much efficient as compared to other structures.

When one layer wants to use services provided by the layers below it. The
request has to go down below each layer one by one. By the time service is
actually provided it may not be very fast.
eg. A user program in layer N want to execute I/O operation. So, in order to
execute I/O operation, it has to get the service from layer 0 (hardware layer).
User program issue system calls and system calls go through all layers one by one
and reach to layer 0. As it passed through all layers one by one, it is not going to
be very efficient. It takes some time to get I/O operation.

Dr Manish Gupta, MIT Moradabad


Operating System Services
An OS provides an environment for the execution of the programs.
It provides certain services to programs and to users of those programs

Dr Manish Gupta, MIT Moradabad


1. User Interface
This is the most important services that is provided by OS.
The user interface allows user to interact with the OS or to interact with the
computer itself.
Almost all OS has user interface.
This user interface can take several forms- like command line interface (CLI) [
eg. Command prompt in MS DOS, Terminal in linux/unix system] and Graphical
user interface (GLI) [menus icons in windows system]
In CLI, you provide text based commands using keyboard in order to perform
some tasks by the OS.
GUI is the user friendly user interface. User can provide input using mouse and
keyboards.

Dr Manish Gupta, MIT Moradabad


2. Program execution
The system must be able to load a program into memory and to run that
program, end execution, either normally or abnormally (indicating error).

3. I/O Operations
A running program that you have may require I/O, which may involve a file or an
I/O device and this I/O operation provided by the OS. An user can not directly
control the I/O devices.

Dr Manish Gupta, MIT Moradabad


4. File System Manipulation
File system manipulation or management involves files. Programs need has to be
read and then write them as files and directories.
OS must control how these files are manipulated or managed.
File handling portion of operating system also allows users to create, search,
modify and delete files.
It also control the permission given to some programs or users for accees of
certain files. All the files you have can not be allowed to be used by every
program or user. There is an access restriction. So this restriction of access is
controlled by OS.

Dr Manish Gupta, MIT Moradabad


5. Communications
Communication between processes. There are many processes that are present
and these processes need to be communicated. So that they can synchronized
with each other and their execution can be done in efficient manner.
There are many circumstances in which one process needs to exchange
information with other processes. Such communication may occur between
processes that may be executing on same computer or on different computers
connected through network. This communication is controlled by OS.

Dr Manish Gupta, MIT Moradabad


6. Error detection
Errors can always occur in coarse of computing and OS continuously aware of
possible errors.

The error can occur anytime and anywhere. The error may occur anywhere in the
computer system like in CPU, in I/O devices or in the memory hardware. There
are some activities that are performed by an operating system:

•The OS continuously checks for the possible errors.


•The OS takes an appropriate action to correct errors and consistent computing.

When error occurs, the system must not break down completely and it should not seize
your computing ability completely. The OS must have a way in which it manages the
errors so that your computing are consistent and still carried on if some errors are
encountered.

Dr Manish Gupta, MIT Moradabad


7. Resource Allocation
As we know that there are many processes running in your system. These processes
required certain resources at certain point.

Resource allocation means allocating resources to different processes or different users.


Resources can be of different types like CPU, files, I/O devices, main memory so on.

OS must help in resource allocation. It allocates the required resource to processes which
are waiting or asking for those resources. OS allocates them in efficient manner such that
all processes get the resources they need and no process keeps waiting for resource.

We should not have scenario where a process keeps waiting for resource and never get it.
We should not have scenario where a resource is hacked by a process and never released.

So the OS manage how the resources are allocated. The allocation must be in such a
away that all the processes gets the resource they need and computing takes place in
efficient manner.

Dr Manish Gupta, MIT Moradabad


8. Accounting
OS keep track of which users use how much and what kinds of computer resources.
This record keeping may be used for accounting or simply for accumulating usage
statistics.
So by keeping account of this or by having statistics
of the usage, it can be valuable to researchers who
wish to re configure the system or to improve the
computing services.

So if you want to improve the computing services, you


need to know how the resources are used and how it
is actually working.

Dr Manish Gupta, MIT Moradabad


9. Protection and Security
Data must be secure and what we do must be protected.
When several disjoints processes execute at the same time (concurrently) then it should
not be possible for one process to interfere with another process. So the processes should
not interfere with each other operation and protection involves ensuring that all access to
system resources must be secured and controlled.

Security means outside access. We should make sure that system is not access from
outsiders who are not allowed to access the system.

Dr Manish Gupta, MIT Moradabad


Kernels
• A Kernel is the central component of an Operating System (i.e. portion of the OS
in main memory) that interfaces directly with the hardware and schedules processes
to run.
• Every operating system- whether it is Windows, Mac, Linux, or Android, has a core
program called a Kernel
• The Kernel functions at the lowest level of the Operating System. It acts as an
interface (bridge) between the user-level application (software) and the hardware.
Therefore, the communication between the software and the hardware is done via the
Kernel.

Dr Manish Gupta, MIT Moradabad


Kernels
• The kernel code is usually loaded into a protected area of memory to prevent it
from being overwritten by programs or other parts of the operating system. So, It has
unrestricted access.
• Kernel loads first into memory when an operating system is loaded and remains
into memory until operating system is shut down again. Because it stays in memory,
it is important for the kernel to be as small as possible while still providing all the
essential services required by other parts of the operating system and applications.

• The kernel is responsible for:


Process management for application execution
Memory management, allocation, and I/O
Device management through the use of device drivers
System call control, which is essential for the execution of kernel services

• The kernel performs its tasks such as executing processes and handling interrupts,
in kernel space, whereas a user normally does all the tasks such as writing text in a
text editor or running programs in a GUI (graphical user interface) in user space.

Dr Manish Gupta, MIT Moradabad


Reentrant Kernels
A reentrant kernel is the one which allows multiple processes to be executing in the
kernel mode at any given point of time and that too without causing any consistency
problems among the kernel data structures.

Dr Manish Gupta, MIT Moradabad


Types of the Kernels
Kernels may be classified mainly in two categories
1. Monolithic
2. Micro Kernel

Dr Manish Gupta, MIT Moradabad


Monolithic kernel Operating System

A monolithic kernel is an operating system architecture where the entire operating


system is working in kernel space.

Monolithic Kernels are those Kernels where the user services and the kernel services
are implemented in the same memory space i.e. different memory for user services
and kernel services are not used in this case.

By doing so, the size of the Kernel is increased and this, in turn, increases the size of
the Operating System.

As there is no separate User Space and Kernel Space, so the execution of the process
will be faster in Monolithic Kernels.

All the basic system services like process and memory management, interrupt
handling etc were packaged into a single module in kernel space.

UNIX can be taken as the example of a monolithic kernel.

Dr Manish Gupta, MIT Moradabad


Monolithic kernel Operating System

Advantages:
It provides CPU scheduling, memory scheduling, file management through System
calls only.
Execution of the process is fast because there is no separate memory space for user
and kernel.

Disadvantages:
If any service fails, then it leads to system failure.
If new services are to be added then the entire Operating System needs to be
modified.
The problem with this is that there are too many functions are packed into one level
and this makes its implementation and maintance very difficult.
Debugging is also difficult. If there is a problem in CPU scheduling then you have to
touch entire kernel.

Dr Manish Gupta, MIT Moradabad


Monolithic kernel Operating System
.

Dr Manish Gupta, MIT Moradabad


Micro kernel Operating System
A Microkernel is different from Monolithic kernel because in a Microkernel, the
user services and kernel services are implemented into different spaces i.e. we use
User Space and Kernel Space in case of Microkernels.

As we are using User Space and Kernel Space separately, so it reduces the size of the
Kernel and this, in turn, reduces the size of Operating System.

As we are using different spaces for user services and kernel service, so the
communication between application and services is done with the help of message
passing and this, in turn, reduces the speed of execution.

Dr Manish Gupta, MIT Moradabad


Micro kernel Operating System
Advantages:
If new services are to be added then it can be easily added.

If a program is executed in user mode and if program crashes then entire system is
not going to crash. But if it is running in kernel mode, if a particular program fails
then entire system crashed.

Disadvantages:
Since we are using User Space and Kernel Space separately, so the communication
between these can reduce the overall execution time.

It suffers from performance decrease due to system increase overhead. We know that
message passing used in communication between client program and other services.
Communication has to be done always , there could be system overhead leading to a
decreased performance.

Dr Manish Gupta, MIT Moradabad


Micro kernel Operating System

Dr Manish Gupta, MIT Moradabad


Difference Between Microkernel and
Monolithic Kernel

Dr Manish Gupta, MIT Moradabad


S. Monolithic Micro kernel
No.

The entire operating system Minimum software that is required to


1 works in the kernel space in the correctly implement an operating
monolithic system system is kept in the kernel.
In order to write a monolithic In order to write a microkernel, more
2 kernel, less code is required. code is required

If a service crashes, the whole If a service crashes, it never affects


3 system collapses in a monolithic the working of a microkernel.
kernel.
Execution is fast Execution is slow
4

Monolithic Kernel examples are Examples of Microkernel are QNX,


5
Linux, BSD etc. Symbian, L4 Linux etc

Dr Manish Gupta, MIT Moradabad


Difference between OS and Kernel

Dr Manish Gupta, MIT Moradabad


S. Key Operating System Kernel
No.
Type Operating system is a system Kernel is a part of operating system.
1 software.

Work Operating system acts as an Kernel acts as an interface between


2 interface between user and applications and hardware.
hardware.

Main tasks Ease of doing system operations, Memory management, space


3 security etc. management, process management
and task management.

Basis A computer need Operating An Operating System needs Kernel to


4 System to run. run.

Types Operating Systems types are Kernel types are monolithic kernel and
multiuser, multitasking, micro kernel.
5 multiprocessor, realtime, distributed
etc.

Boot Operating System is the first Kernel is the first program to load when
6 program to load when computer operating system loads.
boots up.

Dr Manish Gupta, MIT Moradabad


Common Operating Systems:

MS Windows: It is designed by Microsoft for home and business purposes. It is GUI based
OS which provides a very user friendly interface.

Linux: It is an open source OS. It is a freely distributed, cross platform OS.


Linux is based on UNIX that can be installed on PCs, laptops, notebooks, mobiles, tablet
devices, video games consoles, super computers and other computing devices.
Unix: The first version of Unix was not open source

MS DOS
It is the command line OS which borrowed many ideas from UNIX and other early OS.
Although it is a single user, single tasking OS without any GUI support.

Android: It is a mobile operating system developed by Google. It is based on Linux kernel


and designed primarily for touch screen mobile devices such as smart phones and tablets.
Apple iOS: The Apple iOS and mac OS are operating systems created and developed by
Apple Corporation exclusively for its own hardware that includes iPhone, iPad, Apple laptops
and desktops.
The Apple iOS and Mac OS are also one of the most secured, powerful and user friendly with
huge customer base across the world.

Dr Manish Gupta, MIT Moradabad


Common Operating Systems:

Dr Manish Gupta, MIT Moradabad


Dr Manish Gupta, MIT Moradabad
SPOOLER

Spooling stands for "Simultaneous Peripheral Operations Online".


In a Spooling, more than one I/O operations can be performed simultaneously
i.e. at the time when the CPU is executing some process then more than one
I/O operations can also de done at the same time.
For example, in a printer spooling, there can be more than one documents that
need to be printed. So, the documents can be stored into the spool and the
printer can fetch that documents and print the document one by one.

One of the main uses of Spooling is to copy data from one device to another
where in one of the devices is considerable faster than the other device.
Spooling is a process in which data is temporarily held to be used and
executed by a device, program or the system.

Spooling considers the entire secondary memory as a huge buffer which can
store many jobs and data for many operations. The advantage of Spooling is
that it can create a queue of jobs which can be executed in FIFO (First In –
First Out) order to execute the jobs one by one.

Dr Manish Gupta, MIT Moradabad


The most common implementation of spooling can be found in typical
input/output devices such as the keyboard, mouse and printer. For example, in
printer spooling, the documents/files that are sent to the printer are first stored
in the memory or printer spooler. Once the printer is ready, it fetches the data
from that spool and prints it.

Input devices may put their data onto the secondary memory (SPOOL)
which can then be executed one by one by the device. This will make sure
that the CPU is not idle any time. So, we can say that Spooling is a
combination of buffering and queueing.

After the CPU generates some output, this output is first saved in the main
memory. From the main memory, this output is transferred to the secondary
memory and from there the output is sent to the respective output devices.

Dr Manish Gupta, MIT Moradabad


• Spooling is used for copying and executing data from a slower device to a
faster device. The slower device creates a SPOOL to store the data to be
operated upon in a queue, and the CPU works on it. The final result or
output is produced at a later time instead of in real time.

Dr Manish Gupta, MIT Moradabad


Advantages of Spooling
• Since there is no interaction of I/O devices with CPU, so the CPU need not
wait for the I/O operation to take place. The I/O operations take a large
amount of time.
• The CPU is kept busy most of the time and hence it is not in the idle state
which is good to have a situation.
• More than one I/O devices can work simultaneously.
• It allows applications to run at the speed of the CPU while operating the I/O
devices at their respective full speeds.

Disadvantages of Spooling
• Spooling requires a large amount of storage depending on the number of
requests made by the input and the number of input devices connected.
• Because the SPOOL is created in the secondary storage, having many
input devices working at the same time may take up a lot of space on the
secondary storage and thus increase disk traffic. This results in the disk
getting slower and slower as the traffic increases more and more.

Dr Manish Gupta, MIT Moradabad


Buffer: The buffer is an area in the main memory that is used to
store or hold the data temporarily that is being transmitted either
between two devices or between a device or an application. In
simple words, buffer temporarily stores data that is being
transmitted from one place to another.

Difference between Spooling and Buffering


Spooling Buffering
In spooling, the I/O of one job can be Only one job is handled at a time.
handled along with some operations
of another job.
Spooling can make use of the whole There is a small separate area in the
memory. memory know as a buffer.
Spooling is more efficient as it can Buffering is less efficient because it
overlap processing two jobs at a overlaps input/output of one job with
time the execution of the same job.

Dr Manish Gupta, MIT Moradabad


Schedulers
Schedulers are special system software which handle process scheduling in various ways.
Their main task is to select the jobs to be submitted into the system and to decide which
process to run.

There are three types of Schedulers

Long term (job) scheduler – Due to the smaller size of main memory initially all program
are stored in secondary memory. When they are stored or loaded in the main memory
they are called process. This is the decision of long term scheduler that how many processes
will stay in the ready queue. Hence, in simple words, long term scheduler decides the
degree of multi-programming of system.

Medium term scheduler – Most often, a running process needs I/O operation which doesn’t
requires CPU. Hence during the execution of a process when a I/O operation is required
then the operating system sends that process from running queue to blocked queue.
When a process completes its I/O operation then it should again be shifted to ready
queue. ALL these decisions are taken by the medium-term scheduler. Medium-term
scheduling is a part of swapping.

Short term (CPU) scheduler – When there are lots of processes in main memory initially
all are present in the ready queue. Among all of the process, a single process is to be
selected for execution. This decision is handled by short term scheduler.
Dr Manish Gupta, MIT Moradabad
Scheduler & Dispatcher

Dr Manish Gupta, MIT Moradabad


Dispatcher
A dispatcher is a special program which comes into play after the scheduler.
When the scheduler completes its job of selecting a process, it is the dispatcher which
takes that process to the desired state/queue.

A dispatcher is a module, it connects the CPU to the process selected by the short-term
scheduler.
For example, if we have three processes P1, P2, and P3 in the ready state. If we are
using the First Come First Serve approach, then the scheduler will first select the process
P1 and the dispatcher will transfer the process P1 from the ready state to the running
state. After completion of the execution of the process P1, the scheduler will then select
the process P2 and the dispatcher will transfer the process P2 from ready to running
state and so on.

The main function of the dispatcher is switching, it means switching the CPU from one
process to another process.
Another function of the dispatcher is jumping to the proper location in the user program
and ready to start execution.
The time taken by the dispatcher to stop one process and start another running is called
the Dispatch Latency in OS.
The degree of multiprogramming is dependent on the dispatch latency. If the dispatch
latency is increasing, then the degree of multiprogramming decreases.
Dr Manish Gupta, MIT Moradabad
Dr Manish Gupta, MIT Moradabad
Difference between the Scheduler and Dispatcher

Scheduler Dispatcher
The scheduler selects a process from a list of The dispatcher transfers the process selected by
the short-term scheduler from one state to
processes by applying some process scheduling
another.
algorithm.

The scheduler works independently The dispatcher has to be dependent on the


scheduler i.e. the dispatcher transfers only
those processes that are selected by the
scheduler.

For selecting a process, the scheduler uses some The dispatcher doesn't use any kind of
process scheduling algorithm like FCFS, Round- scheduling algorithms.
Robin, SJF, etc.

The only duty of a scheduler is to select a process But apart from transferring a process from one
from a list of processes. state to another, the dispatcher can also be used
for switching to user mode. Also, the dispatcher
can be used to jump to a proper location when
the process is restarted.

Dr Manish Gupta, MIT Moradabad


Difference between the Scheduler and Dispatcher

Dr Manish Gupta, MIT Moradabad


System Calls
We know that OS provides some services. System Calls provide an interface to the
services that are available by an OS.
User mode and kernel mode are two modes in which program can execute. If a program
is executing in user mode then that program does not have direct access to the
memory , to the hardware and resources.
But if program is executing in Kernel mode, that program has direct access to the
memory, hardware and resorces.
So if program executing in kernel mode then it is known as privileged mode as it has
direct access to many resources.

Dr Manish Gupta, MIT Moradabad


System Calls
But the problem is that if program is executing in Kernel mode, and if program
happens to crash during its execution then the entire system will come to halt or
crash. This is one problem of kernel mode.

But if program is executing in user mode, and it happens to crash then entire system
does not crash or entire system does not come to halt
So user mode is safer mode of operation. User mode is safe, so most of the
programs execute in user mode.

So when the program makes a call to the OS saying that I need to use particular
resource, the context switch happens where user mode switch to kernel mode so that
program can use those resources.

The call that program can make to access the resources or go to kernel mode
known as System Call.

Dr Manish Gupta, MIT Moradabad


Types of System Calls
System calls can be grouped into five major categories-

Dr Manish Gupta, MIT Moradabad


• The main difference between System Call and Interrupt is that System Call is a
method that allows a program to request services from the kernel while Interrupt is an
event that indicates the CPU to perform a specific task immediately. With a system
call a user program can ask for an operating system service

• A Trap is an exception switches to kernel mode by invoking a kernel sub-routine


(any system call). Usually trap creates any kind of control transfer to
operating system.

• Exceptions are illegal program actions that generate an interrupt.

Dr Manish Gupta, MIT Moradabad


Bare Machine

• Bare Machine is a logic hardware in the computer system which can execute the
programs in the processor without using the Operating System. Till now we have
studied that we cannot execute any process inside the processor without the
Operating System. But, with the Bare Machine, it is possible.
• In the early days, before the Operating systems were developed, the instructions
were executed directly on the hardware without any interfering software. But the only
drawback was that the Bare Machine accepts the program and instructions in
Machine Language. Due to this, only the trained people who were qualified in the
computer field and were able to understand and instruct the computer in Machine
language were able to operate on a computer.
• Due to this reason, the Bare Machine was termed as inefficient and cumbersome
after the development of different Operating Systems.

Dr Manish Gupta, MIT Moradabad


Resident Monitor

• The Resident Monitor is a code which runs on Bare Machine. Its acts like an
operating system which controls everything inside a processor and performs all the
functions. The Resident Monitor is thus also known as the Job Sequencer because
like the Operating system, it also sequences the jobs and sends it to the processor
for execution. After the jobs are scheduled, the Resident Monitor loads the Programs
one by one into the main memory according to their sequence. The advantage of
using a Resident Monitor over an Operating System is that there is no gap or lag
between the program executions. So, the processing is faster in the Resident
Monitors.

Dr Manish Gupta, MIT Moradabad


Resident Monitor

The Resident monitors are divided into 4 parts as:


1. Control Language Interpreter
2. Loader
3. Device Driver
4. Interrupt Processing

Control Language Interpreter


The job of the Control Language Interpreter is to read and carry out the instructions
line by line to the next level.
Loader
The Loader is the main part of the Resident Monitor. As the name suggests, it Loads
all the required system and application programs into the main memory.
Device Driver
The Device Driver Takes care of all the Input-Output devices connected with the
system. So, all the communication that takes place between the user and the system
is handled by the Device Driver. It simply acts as an intermediate between the
requests and the response, requests that are made by the user to the system, and
they respond that the system produces to fulfill these requests.

Dr Manish Gupta, MIT Moradabad

You might also like