Vous êtes sur la page 1sur 12

Operating System

For

Computer Science
&
Information Technology
By

www.thegateacademy.com

Syllabus

Operating System

Syllabus for Operating System


Processes, Threads, Inter-process communication, Concurrency, Synchronization, Deadlock, CPU
scheduling, Memory management and virtual memory, File systems, I/O systems, Protection and
security.

Analysis of GATE Papers


(Operating System)
Year

Percentage of marks

2013

12.00

2012

9.33

2011

5.00

2010

7.00

2009

8.00

2008

9.33

2007

9.33

2006

11.33

2005

2.67

2004

7.33

2003

8.00

Overall Percentage

8.12%

THE GATE ACADEMY PVT.LTD. H.O.: #74, Keshava Krupa (third Floor), 30th Cross, 10th Main, Jayanagar 4th Block, Bangalore-11
: 080-65700750, info@thegateacademy.com Copyright reserved. Web: www.thegateacademy.com

Contents

Operating System

CONTENTS

#1.

#2.

Chapters

Page No.

Introduction to Operating System

1 10

1
23
35
56
68
9
10
10

Process Management

11 45

11
11
11
12 13
13 14
14

#3.

Introduction
Evolution of Operating System
Major Achievements
Operating System Operations
Micro Kernel Architecture
Assignment
Answer Keys
Explanations

Process
Process vs Program
Process State
Process Creation
Process Termination
Process Scheduling
Interprocess Communication, Concurrency
and Synchronization
The Critical Section Problem
Bakery Algorithm
Semaphores
The Readers and Writers Problem
Monitors
Solved Examples
Assignment 1
Assignment 2
Answer Keys
Explanations

14 17
17 19
19 20
20 23
23 26
26 29
30 33
34 38
38 41
42
42 45

Threads

46 -52

46
46 47
47
48
48 50
50 51
52
52

Thread
Life Cycle Of Threads
Multithreading
Process Vs Thread
User Level and Kernel Level Threads
Assignment
Answer Keys
Explanations

THE GATE ACADEMY PVT.LTD. H.O.: #74, KeshavaKrupa (third Floor), 30th Cross, 10th Main, Jayanagar 4th Block, Bangalore-11
: 080-65700750, info@thegateacademy.com Copyright reserved. Web: www.thegateacademy.com
Page i

Contents

#4.

#5.

#6.

#7.

Operating System

CPU Scheduling

53 77

53
53 54
54
54 62
63 67
68 72
72 73
74
74 77

Basic Concept
Schedulers
Scheduling Methodology
CPU Scheduling Algorithm
Solved Examples
Assignment 1
Assignment 2
Answer Keys
Explanations

Deadlocks

78 -92

78
78
78 79
79
79 82
82 83
84
85 88
88 89
90
90 92

Definition
Resource Allocation Graph
Condition for Deadlock
Deadlock Prevention
Deadlock Avoidance
Deadlock Detection
Recovery From Deadlock
Assignment 1
Assignment 2
Answer Keys
Explanations

Memory Management

93-134

93
93 94
94 96
96 102
102 106
106 109
110 112
112 113
114 125
126 128
128 129
130
130 134

Introduction
Logical and Physical Address Space
Memory Management Requirements
Memory Allocation Method
Paging
Segmentation
Page Replacement Algorithm
Thrashing
Solved Examples
Assignment 1
Assignment 2
Answer Keys
Explanations

File System

135 153

135
135 137
137 138

Introdution
File Concept
Access Methods

THE GATE ACADEMY PVT.LTD. H.O.: #74, KeshavaKrupa (third Floor), 30th Cross, 10th Main, Jayanagar 4th Block, Bangalore-11
: 080-65700750, info@thegateacademy.com Copyright reserved. Web: www.thegateacademy.com
Page ii

Contents

#8.

#9.

Directory Structure
Protection
Free Space Management
Solved Examples
Assignment 1
Assignment 2
Answer Keys
Explanation

Operating System

138 140
140 144
144 145
146 147
148 149
150 151
152
152 153

I/O System

154 - 172

154
154 155
155 157
157 158
158 159
160 163
164 167
167 168
169
169 172

Kernel I/O Subsystem


Disk Structure
Disk Scheduling
Disk Management
RAID
Solved Examples
Assignment 1
Assignment 2
Answer Keys
Explanations

Protection and Security

173 185

173
173 176
176 178
179 180
181 182
182 183
184
184 185

Domain of Protection
Access Matrix
The Security Problem
Solved Examples
Assignment 1
Assignment 2
Answer Keys
Explanations

Module Test

186 199

186 194
195

Test Questions
Answer Keys
Explanations

Reference Books

195 199

200

THE GATE ACADEMY PVT.LTD. H.O.: #74, KeshavaKrupa (third Floor), 30th Cross, 10th Main, Jayanagar 4th Block, Bangalore-11
: 080-65700750, info@thegateacademy.com Copyright reserved. Web: www.thegateacademy.com
Page iii

Chapter 1

Operating System

CHAPTER 1
Introduction to Operating System

What is an Operating System?


An operating system is a collection of programs and utilities. It act as the interface between user
and computer. It creates a user friendly environment. The Operating System act as a Resource
Manager. (A Computer system has many resources (Hardware and Software) which may require
for completing a task). The computer uses resources like input/output device, memory, file,
storage space, CPU time and so on. The operating system acts as a manager of these resources
and allocates them to specific program and users as necessary for their tasks. Therefore we can
say an operating system act as a resource manager. Generally resource sharing in two ways in
time and in space. For example a CPU is a time sharing resource and the main memory is a
space sharing resource. The main difference between in time sharing and in space sharing
resource is in time resource is not divided into units, where as in space resources is divided
into units.
Structure of Operating System
The structure of operating system consists of 4 layers; these are hardware, software, system
program and application program. The hardware part consists of CPU, main memory, I/O device,
Secondary storage etc. The software includes process management routines, memory
management routines, I/O control routines, file management routines. The system program
layer consist of complier, assembler etc. Last one is the application program that depends on
users.

Components of a Computer System

THE GATE ACADEMY PVT.LTD. H.O.: #74, Keshava Krupa (third Floor), 30th Cross, 10th Main, Jayanagar 4th Block, Bangalore-11
: 080-65700750, info@thegateacademy.com Copyright reserved. Web: www.thegateacademy.com
Page 1

Chapter 1

Operating System

Evolution of Operating System


i.

Serial Processing: Before 1950 the programmer directly interacts with hardware. There
was no operating system at that time, if the programmer wish to execute a program on
these days, the following steps are necessary.

Type the program on punch card

Convert punched card to card reader

Submit to the computing machine, is there any error, the condition was indicated
by lights.

The programmer examines the registers and main memory to identify the cause of
error.

Take the output of error.

Take the output on the printers.

Then the programmer ready for the next program

This type of processing takes much time and next program should wait for the completion of
previous one. The programs are submitted to the machine one after one. Therefore this
machine is said to be serial processing.
ii. Batch Processing: In older days (before 1960), it was difficult to execute a program using
computer. Because the computer located in three rooms. One room for card reader
second room for executing the program third room for printing the result. The user or
machine operator needs to run between these three rooms to complete a job. We can
solve this problem using Batch processing. In batch processing same type of task are
grouped together and execute at a time. The carrier carries the group of job at a time
from one room to another. Therefore the programmer need not to run between these 3
rooms several times.
iii. Multiprogramming: Multiprogramming is a technique to execute number of programs
simultaneously by a single processor. In multiprogramming more than one process can
reside in main memory at a time. The operating system picks and begins execute one of
the jobs in the main memory.
In non multiprogramming system, the CPU can execute only one program at a time. If the
running program is waiting for any I/O device, the CPU becomes idle, so it will effect the
performance of the CPU. But in multiprocessing environment, any I/O wait happened in
a process and then the CPU switches from the job to another job in the job pool. So the
CPU is not idle at any time.
iv. Time Sharing System: Time sharing or multitasking is a logical extension of
multiprocessing. In time sharing system the CPU selects a job from the ready queue and
switches the CPU to that job. When the time slot is expired the CPU switches from this
job to another, in this method CPU is shared by different process, so it is said to be Time
Sharing System. The main advantage of time sharing system over the batch processing
system is the user can interact with the job when it is executing but it is not possible in
batch system. Another advantage of time sharing system is efficient CPU utilization.
v. Parallel System: If a system has more than one processor in close communication,
sharing the computer bus, the clock, memory and peripheral devices, this system is
referred as tightly coupled system. A system consisting of more than one processor and
if it is a tightly coupled and then the system is called parallel system. One advantage of
THE GATE ACADEMY PVT.LTD. H.O.: #74, Keshava Krupa (third Floor), 30th Cross, 10th Main, Jayanagar 4th Block, Bangalore-11
: 080-65700750, info@thegateacademy.com Copyright reserved. Web: www.thegateacademy.com
Page 2

Chapter 1

Operating System

parallel system is increased Throughput. The performance of CPU is measured in terms


of Throughput. The number of jobs completed by a CPU with in a time period is said to be
Throughput.
Multiprocessor can also save money compared to multiple single system because the
processor can share peripherals, cabinet and power supply. Another advantages of
multiprocessor system is that they increase reliability.
vi. Distributed System: In distributed system, the processor cant share memory or clock,
each processor has its own local memory. The processor communicate one another
though various communication lines. These system are usually called loosely coupled
system. The advantage of distributed system are:
1. Resource sharing
2. Computation speed up
3. Reliability
vii.

Real Time System


Used when there are rigid time requirements on the operating of a processor or the
flow of data.
Systems that control scientific experiments, medical imaging systems, industrial
control systems and some display system are real time systems.
Two types of real time systems are:
A hard real time system: guarantees that critical tasks completed on time.
Soft real time system: A less restrictive type of real time system is a soft real
time system. Given their date of deadline support they are risky to use for
industrial control and robotics

Spooling
The expansion of spooling is simultaneous peripheral operations on line. Simultaneous
means for example if two or more user issue print command and the printer accept the
request even the printer is printing some other jobs. The printer printing one job at the
same time the spool disk can load some other jobs.
Operating System Functions
1. Program creation
2. Programs execution
3. Input output operation
4. Error detection
5. Resource allocation
6. Accounting
7. Protection

Major Achievements
The major achievement of operating system are
Process Management
A process is a program in execution: (A program is passive in nature while a process is active)
A process has resources (CPU time, files) and attribute that must be managed.

THE GATE ACADEMY PVT.LTD. H.O.: #74, Keshava Krupa (third Floor), 30th Cross, 10th Main, Jayanagar 4th Block, Bangalore-11
: 080-65700750, info@thegateacademy.com Copyright reserved. Web: www.thegateacademy.com
Page 3

Chapter 1

Operating System

Management of Processes Includes:

Process scheduling (priority, time management,)


Creation/termination
Block/Unblock (suspension/resumption)
Synchronization
Communication
Deadlock handling
Debugging

Main Memory Management

Allocation/de-allocation for processes, files, I/O


Maintenance of several processes at a time
Keep track of whos using what memory
Movement of process memory to/from secondary storage.

File Management
A file is a collection of related information defined by its creator, commonly files represent
program (both source and object forms) and data.
The operating system is responsible for the following activities in connections with file
management:

File creation and deletion


Directory creation and deletion
Support of primitives for manipulating files and directories
Mapping files onto secondary storage
File backup on stable (non volatile) storage media

I/O Management

Buffer caching system


Generic device driver code
Drivers for each device- translate requests into position commands

Secondary Storage Management

Disk, tapes, optical


Free space management ( paging/swapping)
Storage allocation (what data goes where on disk)
Disk scheduling

Networking

Communication system between distributed processors.


Getting information about files/processes/etc. on remote machine.

THE GATE ACADEMY PVT.LTD. H.O.: #74, Keshava Krupa (third Floor), 30th Cross, 10th Main, Jayanagar 4th Block, Bangalore-11
: 080-65700750, info@thegateacademy.com Copyright reserved. Web: www.thegateacademy.com
Page 4

Chapter 1

Operating System

Can use either a message passing or a shared memory model.

Protection
Of files, memory, CPU, etc.
Means controlling of access
Depends on the attributes of the file and user
System Program
Command Interpreters Program that accepts control statements (shell, GUI interface,
etc.)
Compilers/linkers
Communication (ftp, telnet, etc.)
System Tailoring
Modifying the operating System program for a particular machine. The goal is to include all the
necessary pieces but not too many extra ones.

Typically a System can support many possible devices but any one installation has only a
few of these possibilities.
Plug and play allows for detection of device and automatic inclusion of the code (driver)
necessary to drive these devices.
A system is usually a link of many OS routines/modules in order to produce an
executable code to run the drivers.

Operating System Operations


Modern operating systems are interrupt driven. If there are no processes to execute, no I/O
devices to service and no users to respond, an operating system will quietly waiting for
something to happen. Events are almost always signaled by the occurrence of an interrupt or a
trap.
Traps and interrupts are events that disrupt the normal sequence of instruction executed by the
CPU. A trap is an abnormal condition detected by the CPU, that usually is an indicative of an
error.
Trap condition can occur in following ways
(a) Dividing by zero
(b) Trying to access a memory location that does not exists or for which the program does
not have access
(c) Executing an instruction with an undefined opcode,
(d) Trying to access a nonexistent I/O device.
An interrupt is a signal sent to the CPU by an external device, typically an I/O device. It is the
CPUs equivalent of a pager, a signal requesting the CPU to interrupt its current activities to
attend to the interrupting device needs. A CPU will check interrupts only after it has completed
the processing of one instruction and before it fetches a subsequent one.
The CPU responds to traps and interrupts by saving the current value of the program counter
and resetting the program counter to a new address. This allows the CPU to return to the
executing point where the trap or interrupt occurred, after it has executed a procedure for
handling the trap or interrupt.

THE GATE ACADEMY PVT.LTD. H.O.: #74, Keshava Krupa (third Floor), 30th Cross, 10th Main, Jayanagar 4th Block, Bangalore-11
: 080-65700750, info@thegateacademy.com Copyright reserved. Web: www.thegateacademy.com
Page 5

Vous aimerez peut-être aussi