Os 6
Os 6
Os 6
Heap
This is dynamically allocated memory to a process during its
run time.
Text
This includes the current activity represented by the value of
Program Counter and the contents of the processor's registers.
Data
This section contains the global and static variables.
Program
• A program is a piece of code which may be a single line or millions of lines. A
computer program is usually written by a computer programmer in a
programming language. For example, a simple program written in C
programming language
• A computer program is a collection of instructions that performs a specific task
when executed by a computer. When we compare a program with a process, we
can conclude that a process is a dynamic instance of a computer program.
• A part of a computer program that performs a well-defined task is known as an
algorithm. A collection of computer programs, libraries and related data are
referred to as a software.
#include <stdio.h>
int main()
{
printf("Hello, World! \n");
return 0;
}
Process Life Cycle
Ready
The process is waiting to be assigned to a processor. Ready
processes are waiting to have the processor allocated to them by
the operating system so that they can run. Process may come into
this state after Start state or while running it by but interrupted
by the scheduler to assign CPU to some other process.
Running
Once the process has been assigned to a processor by the OS
Process Life Cycle scheduler, the process state is set to running and the processor
executes its instructions.
Waiting
Process moves into the waiting state if it needs to wait for a
resource, such as waiting for user input, or waiting for a file to
become available.
Terminated or Exit
Once the process finishes its execution, or it is terminated by the
operating system, it is moved to the terminated state where it
waits to be removed from main memory.
Process Life Cycle
Process Control Block (PCB)
Process privileges
This is required to allow/disallow access to system resources.
Process ID
Unique identification for each of the process in the operating system.
Pointer
A pointer to parent process.
Program Counter
Program Counter is a pointer to the address of the next instruction to be executed for this process.
CPU registers
Various CPU registers where process need to be stored for execution for running state.
CPU Scheduling Information
Process priority and other scheduling information which is required to schedule the process.
Memory management information
This includes the information of page table, memory limits, Segment table depending on memory used by the operating
system.
Accounting information
This includes the amount of CPU used for process execution, time limits, execution ID etc.
IO status information
This includes a list of I/O devices allocated to the process.
Process Control Block (PCB)
Process Scheduling
• The process scheduling is the activity of the process manager that
handles the removal of the running process from the CPU and the
selection of another process on the basis of a particular strategy.
Running
When a new process is created, it enters into the system as in the running state.
Not Running
Processes that are not running are kept in queue, waiting for their turn to
execute. Each entry in the queue is a pointer to a particular process. Queue is
implemented by using linked list. Use of dispatcher is as follows. When a process
is interrupted, that process is transferred in the waiting queue. If the process has
completed or aborted, the process is discarded. In either case, the dispatcher
then selects a process from the queue to execute.
Schedulers
It controls the degree of It provides lesser control over It reduces the degree of
multiprogramming degree of multiprogramming multiprogramming.
P3
Priority Based Scheduling