8 Operating_System_Lec_8_Process_con
8 Operating_System_Lec_8_Process_con
LEC 8
2/27/2024 1
Process in Operating system
• A process is a program in execution which
then forms the basis of all computation.
• The process is not as same as program code
but a lot more than it.
• A process is an 'active' entity as opposed to
the program which is considered to be a
'passive' entity.
• Attributes held by the process include
hardware state, memory, CPU, etc.
2/27/2024 2
Process memory
• Process memory is divided into four sections
for efficient working :
–Text section
–Data section
–Heap
–Stack
2/27/2024 3
•Program is passive
entity, process is active.
•Program becomes
process when executable
file loaded into memory.
2/27/2024 4
• The Text section is made up of the compiled
program code.
• The Data section is made up of the global and
static variables, allocated and initialized prior
to executing the main.
• The Heap is used for the dynamic memory
allocation and is managed via calls to new,
delete, free, etc.
• The Stack is used for local variables. Space on
the stack is reserved for local variables when
they are declared.
2/27/2024 5
Different types of Process state
Processes in the operating system can be in any of
the following states:
• NEW- The process is being created.
• READY- The process is waiting to be assigned to
a processor.
• RUNNING- Instructions are being executed.
• WAITING- The process is waiting for some
event to occur(such as an I/O completion or
reception of a signal).
• TERMINATED- The process has finished
execution.
2/27/2024 6
2/27/2024 7
Example
2/27/2024 8
Example: Banking Services
2/27/2024 9
Process Control Block
Information associated with each process
• Process state
• Program counter
• CPU registers
• CPU scheduling information
• Memory-management information
• Accounting information
• I/O status information
2/27/2024 10
2/27/2024 11
There is a Process Control Block for each
process, enclosing all the information about the
process. It is also known as the task control
block. It is a data structure, which contains the
following:
• Process State: It can be running, waiting, etc.
• Process ID and the parent process ID.
• CPU registers and Program Counter. Program
Counter holds the address of the next
instruction to be executed for that process.
2/27/2024 12
• CPU Scheduling information: Such as priority
information and pointers to scheduling queues.
• Memory Management information: For
example, page tables or segment tables.
• Accounting information: The User and kernel
CPU time consumed, account numbers, limits,
etc.
• I/O Status information: Devices allocated,
open file tables, etc.
2/27/2024 13
Process Vs Program
2/27/2024 14
Topics to be covered in next Lec 9
• Process scheduling
Thank you!!!
2/27/2024 15