0% found this document useful (0 votes)
46 views

Introduction

This document provides information about an operating systems lecture given by Dr. B. Balaji, Assistant Professor in the Department of Computer Applications at NIT Trichy. It outlines the topics to be covered, including definitions of operating systems, computer system components, types of operating systems, system calls, process management, and process states. Required textbooks and course contents are also listed.

Uploaded by

Sharan SP
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Introduction

This document provides information about an operating systems lecture given by Dr. B. Balaji, Assistant Professor in the Department of Computer Applications at NIT Trichy. It outlines the topics to be covered, including definitions of operating systems, computer system components, types of operating systems, system calls, process management, and process states. Required textbooks and course contents are also listed.

Uploaded by

Sharan SP
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

Dr.B.

Balaji
Assistant Professor
Dept. of Computer Applications
NIT Trichy

Subject Name: Operating System


Subject Code:CAM111
Books:
 “Operating System Concepts”, 9th Edition-
Galvin.
 “Modern Operating System”,3rd Edition-
S.Tanenbaum.
Contents
● What is an operating system(OS)?
● Computer System Components
● Types of Operating systems
● Introduction to System call
● Introduction to Process management
● Process states
● Operation on process
● Process Scheduling
● Operating system services
What is an Operating System?
• Operating System can be defined as an interface
between user and the hardware.
• It provides an environment to the user so that, the
user can perform its task in convenient and
efficient way.
Examples of OS:Windows,Linux,Android,Mac OS.
OS primary goals is :
– To provide convenience to the user.
OS Secondary goal is :
– Use the computer hardware in an efficient manner.
Computer System Components
Computer system can be divided into four components:
– Hardware – provides basic computing resources
• CPU, memory, I/O devices,…
– Operating system- Controls the hardware and
coordinates its use among various applications
programs for the various users.
– Application programs – Solve computing problems
of users (Word processors, compilers, web browsers,
database systems, video games, text editor).
– Users
• People, machines, other computers
Abstract View of the Components of a
Computer System

User1
User2 User3
... User n

compiler assembler Text editor Database


system
System and Application Programs

Operating System

Computer
Hardware

6
Why do we need OS?
• We need an environment in which a user can
execute programs.
• The purpose is three fold:
• To ensure the correct operation of the
computer system.
• To make the computer system convenient to
use.
• To use the computer hardware in an efficient
manner.
Disadvantages of using Operating
System
• If any issue occurs in OS, you may lose all the
contents which have been stored in your system.
• Operating system's software is quite expensive
for small size organization which adds burden
on them. Example Windows.
• It is never entirely secure as a threat can occur
at any time.
OS Functionality
• Resource management.
• Process management(Eg: ms word, game app,
video, open all) (CPU Schedulig).
• Storage management(Hard disk).
• Memory management (RAM).
• Security and privacy provided by the OS (Eg.
Password).
Types of Operating System
• There are many types of operating system exists
in the current scenario:
1. Batch OS
2. Multiprogramming OS
3. Multitasking OS
4. Multiprocessing OS
5. Real time OS
Batch Operating System:
• In Batch OS, access is given to more than one
person; they submit their respective jobs to the
system for the execution.
• The system put all of the jobs in a queue on the
basis of first come first serve and then executes
the jobs one by one. The users collect their
respective output when all the jobs get executed.
• If job is completed completely, then only other
job will be scheduled on to the CPU.
Each process needs two types of system time: CPU time and I/O time.

Disadvantages of Batch OS:


1. Starvation
• Batch processing suffers from starvation
2. Not Interactive to the user.
3. Efficiency is very less.
4. Increased CPU idleness
5. Decreased throughput of the system(Throughput means the
number of jobs completed for unit time)
Multiprogramming OS
• Multiprogramming is an extension to the batch
processing where the CPU is kept always busy.
• In multiprogramming Efficiency is increased.
• CPU used efficiently.
Multi tasking (Timesharing) OS
 Programs queued for execution in FIFO order.
 Like multiprogramming, but timer device
interrupts after a quantum (timeslice).
Advantages:
• User interactive is improved.
Multiprocessing OS
• In Multiprocessing, Parallel computing is
achieved. There are more than one processors
present in the system which can execute more
than one process at the same time.
• This will increase the throughput of the
system.
• Reliability increased.(one cpu fail it work give
to another cpu).
Real Time Operating System
• In Real Time systems, each job carries a certain
deadline within which the Job is supposed to be
completed, otherwise the huge loss will be there
or even if the result is produced then it will be
completely useless.
• The Application of a Real Time system exists in
the case of military applications, if you want to
drop a missile then the missile is supposed to be
dropped with certain precision.
Introduction to System Calls
• To understand system calls, first one needs to
understand the difference between kernel
mode and user mode of a CPU.
• Every modern operating system supports these
two modes.

Modes supported by the operating system


Kernel Mode:
• When CPU is in kernel mode, the code being executed can
access any memory address and any hardware resource.
• Hence kernel mode is a very privileged and powerful mode.
• If a program crashes in kernel mode, the entire system will
be halted.
User Mode:
• When CPU is in user mode, the programs don't have direct
access to memory and hardware resources.
• In user mode, if any program crashes, only that particular
program is halted.
• That means the system will be in a safe state even if a
program in user mode crashes.
• Hence, most programs in an OS run in user mode.
System Call
• When a program in user mode requires access to RAM or a
hardware resource, it must ask the kernel to provide access to
that resource. This is done via something called a system call.
(or)
System calls provide an interface between user programs and
operating system.
• In general, system calls are available as assembly language
instructions.
• When a program makes a system call, the mode is switched
from user mode to kernel mode. This is called a context switch.
• Then the kernel provides the resource which the program
requested. After that, another context switch happens which
results in change of mode from kernel mode back to user mode.
• A figure representing the execution of the
system call is given as follows:
Types of System call:
• Here are the five types of system calls used in OS:
File Management:-It handles file manipulation jobs like
Creating, opening, closing and deleting files in the file
system.
Process Control:-This system calls perform the task
of Creating and managing new processes.
Communication:-These types of system calls are specially
used for Creating a connection in the network, sending
and receiving packets.
Device Management:-Requesting access to a hardware
device, like a mouse, scanner or a printer.
Information Maintenance: It handles information and its
transfer between the OS and the user program.
• Some of the examples of all the above types of system calls in Windows
and Unix are given as follows −

WINDOWS UNIX

CreateProcess() fork()
ExitProcess() exit()
Process Control WaitForSingleObject() wait()

CreateFile() open()
ReadFile() read()
WriteFile() write()
File Manipulation CloseHandle() close()

SetConsoleMode() ioctl()
ReadConsole() read()
Device Manipulation WriteConsole() write()

GetCurrentProcessID() getpid()
SetTimer() alarm()
Information Maintenance Sleep() sleep()

CreatePipe() pipe()
CreateFileMapping() shmget()
Communication MapViewOfFile() mmap()

SetFileSecurity() chmod()
InitlializeSecurityDescriptor() umask()
Protection SetSecurityDescriptorGroup() chown()
Introduction of Process Management
Difference between program and process
 A program in execution is called a process. (or)
A process is a program in execution.
 For example, when we write a program in C or
C++ and compile it, the compiler creates
binary code. The original code and binary code
are both programs. When we actually run the
binary code, it becomes a process.
What does a process look like in memory?
Text Section: A Process, sometimes known as the Text
Section, also includes the current activity represented by the
value of the Program Counter.
Stack: The Stack contains the temporary data, such as function
parameters, returns addresses, and local variables.
Data Section: Contains the global variable.
Heap Section: Dynamically allocated memory to process
during its run time.
Process States (or) Process Life Cycle
• The process, from its creation to completion,
passes through various states. The minimum
number of states is four.
• A process is in one of the following states:
1. New
• A program which is going to be picked up by the OS
into the main memory is called a new process.
2. Ready
• Whenever a process is created, it directly enters in the
ready state, in which, it waits for the CPU to be
assigned. The OS picks the new processes from the
secondary memory and put all of them in the main
memory.
• The processes which are ready for the execution and
reside in the main memory are called ready state
processes. There can be many processes present in the
ready state.
3. Running
• One of the processes from the ready state will be chosen
by the OS depending upon the scheduling algorithm.
Hence, if we have only one CPU in our system, the
number of running processes for a particular time will
always be one. If we have n processors in the system
then we can have n processes running simultaneously.
4. Block or wait
• From the Running state, a process can make the
transition to the block or wait state depending upon the
scheduling algorithm or the intrinsic behavior of the
process.
• When a process waits for a certain resource to be
assigned or for the input from the user then the OS move
this process to the block or wait state and assigns the
CPU to the other processes.
5. Completion or termination
• When a process finishes its execution, it comes in the
termination state. All the context of the process (Process
Control Block) will also be deleted the process will be
terminated by the Operating system.
6. Suspend ready
• A process in the ready state, which is moved to secondary
memory from the main memory due to lack of the resources
(mainly primary memory) is called in the suspend ready state.
• If the main memory is full and a higher priority process comes
for the execution then the OS have to make the room for the
process in the main memory by throwing the lower priority
process out into the secondary memory. The suspend ready
processes remain in the secondary memory until the main
memory gets available.
7. Suspend wait
• Instead of removing the process from the ready
queue, it's better to remove the blocked process
which is waiting for some resources in the main
memory.
• Since it is already waiting for some resource to
get available hence it is better if it waits in the
secondary memory and make room for the higher
priority process. These processes complete their
execution once the main memory gets available
and their wait is finished.
Operations on the Process
There are many operations that can be performed
on processes
1. Creation
• Once the process is created, it will be ready and
come into the ready queue (main memory) and
will be ready for the execution.
2. Scheduling
• Out of the many processes present in the ready
queue, the Operating system chooses one
process and start executing it. Selecting the
process which is to be executed next, is known as
scheduling.
3. Execution
Once the process is scheduled for the
execution, the processor starts executing it.
Process may come to the blocked or wait state
during the execution then in that case the
processor starts executing the other processes.
4. Deletion/killing
Once the purpose of the process gets over
then the OS will kill the process. The Context of
the process (PCB) will be deleted and the process
gets terminated by the Operating system.

32
Process Schedulers
Operating system uses various schedulers for the process
scheduling described below.
1. Long term scheduler (or) Job scheduler
• Long term scheduler is also known as job scheduler. It
chooses the processes from the pool (secondary memory)
and keeps them in the ready queue maintained in the primary
memory.
• Long Term scheduler mainly controls the degree of
Multiprogramming. The purpose of long term scheduler is to
choose a perfect mix of IO bound and CPU bound processes
among the jobs present in the pool.
• If the job scheduler chooses more IO bound processes
then all of the jobs may reside in the blocked state all the
time and the CPU will remain idle most of the time. This will
reduce the degree of Multiprogramming. Therefore, the Job
of long term scheduler is very critical and may affect the
system for a very long time.
2. Short term (or) CPU (or) Dispatch scheduler
• Short term scheduler is also known as CPU
scheduler. It selects one of the Jobs from the ready
queue and dispatch to the CPU for the execution.
• A scheduling algorithm is used to select which
job is going to be dispatched for the execution.
The Job of the short term scheduler can be very
critical in the sense that if it selects job whose
CPU burst time is very high then all the jobs after
that, will have to wait in the ready queue for a very
long time.
• This problem is called starvation which may
arise if the short term scheduler makes some
mistakes while selecting the job.
3. Medium term scheduler (or) process swapping
scheduler
• Medium term scheduler takes care of the swapped
out processes. If the running state processes needs
some IO time for the completion then there is a need to
change its state from running to waiting.
• Medium term scheduler is used for this purpose. It
removes the process from the running state to make
room for the other processes. Such processes are the
swapped out processes and this procedure is called
swapping. The medium term scheduler is responsible
for suspending and resuming the processes.
• It reduces the degree of multiprogramming. The
swapping is necessary to have a perfect mix of
processes in the ready queue.
Operating system services
• An Operating System supplies different kinds
of services to both the users and to the
programs as well.
• It also provides application programs (that run
within an Operating system) an environment
to execute it freely.
• It provides users the services run various
programs in a convenient manner.
Here is a list of common services offered by an almost
all operating systems:
1. User Interface: Eg:-Command line interface, GUI
2. Program Execution
3. File system manipulation
4. Input / Output Operations
5. Communication
6. Resource Allocation
7. Error Detection
8. Accounting
9. Security and protection

You might also like