Subject Name : OS Academic Year: 2022-2023
Course Name:IF 5I Semester:: FIFTH
A STUDY ON
PROCESS MANAGEMENT
MICRO PROJECT REPORT
SUBMITTED ON DECEMBAR BY THE GROUP OF 3 STUDENTS
SR. Roll No. Full name of Students Enrollment Seat No.
No. (sem-4) No. (Sem-5)
1. 15 SAKSHI GAUTAM KAMBLE 2109350158
2. 17 VAISHALI CHANDRA PARDHI 2109350160
3 18 VARSHA CHANDAR PARDHI 2109350162
UNDER THE GUIDANCE Of
PROF. SHEETAL DESHMUKH
IN 3 YEARS, DIPLOMA PROGRAMME IN ENGINEERING TECHNOLOGY
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
ISO 9001:2008(ISO/IEC-27001:2013)
Page | 1
Maharashtra State
Board of Technical Education
Certificate
This is to certify MS. SAKSHI GAUTAM KAMBLE Roll No.15
of FIFTH Semester of Diploma in INFORMATION
TECHNOLOGY at institute SHIVAJIRAO S. JONDHLE
POLYTECHNIC,ASANGAON (Code:-0935) has completed the
micro project satisfactorily in subject OSY for the academic year
2023 to 2024 as prescribed in the curriculum.
Place:Asangaon Enrollment no: 2109350158
Date : Exam seat no:
Prof : sheetal deshmukh Dr. Sneha.H.Jondhle
Subject Teacher Head of the Department principal
Seal of
Institute
Page | 2
Maharashtra State
Board of Technical Education
Certificate
This is to certify Ms. VAISHALI CHANDAR PARDHI
ROLL.17 of FIFTH Semester of Diploma in INFORMATION
TECHNOLOGY at institute SHIVAJIRAO S. JONDHLE
POLYTECHNIC,ASANGAON(Code:-0935) has completed the
micro project satisfactorily in subject OSY for the academic year
2023 to 2024 as prescribed in the curriculum.
Place: Asangaon Enrollment No:-2109350160
Date: Exam seat No:-
Prof : sheetal Deshmukh Dr. Sneha.H.Jondhle
Subject Teacher Head of the Department principal
Seal of
Institut
Page | 3
Maharashtra State
Board of Technical Education
Certificate
This is to certify Ms. VARSHA CHANDAR PARDHI Roll
No.18 of FIFTH Semester of Diploma in INFORMATION
TECHNOLOGY at institute SHIVAJIRAO S. JONDHLE
POLYTECHNIC,ASANGAON(Code:-0935) has completed the
micro project satisfactorily in subject OSY for the academic year
2023 to 2024 as prescribed in the curriculum.
Place: Asangaon Enrollment No:- 2109350162
Date: Exam seat No:-
Prof : Sheetal Deshmukh Dr. Sneha.H.Jondhle
Subject Teacher Head of the Department principal
Seal of
Institut
Page | 4
INDEX
SR.NO TITLE PAGE
NO.
1) ABSTRACT
2) INTRODUCTION
3) TYPES OF DESIGN
NOTATIONS
4) TYPES OF DECISION
TABLES
5) CONCLUSION
6) REFERENCES USED
Page | 5
ABSTRACT
INTRODUCTION
A running instance of a program is called as a process. A process is a smallest unit of work
that is scheduled by the operating system. A process needs resources, such as CPU time,
memory, files and I/O devices, to accomplish its task. These resources are allocated either
when the program is created or when it is executing. The process concept helps to explain,
understand and organize execution of programs in an operating system. A user uses
processes to achieve execution of programs in a sequential or concurrent manner as
desired. • An OS uses processes to organize execution of programs. Use of the process
concept enables an OS to execute both sequential and concurrent programs equally easily.
Process management is the fundamental task of any modern operating system
PROCESS
A process is defined as, "an entity which represents the basic unit of work to be
implemented in the system".
Each process has following sections:
1. A Text section that contains the program code.
2. A Data section that contains global and static variables.
3. The heap is used for dynamic memory allocation, and is managed via
calls to new, delete malloc, free, etc
4. The stack is used for local variables. A process stack which contains the
temporary data (such as subroutine parameters, return addresses, and
temporary variables), Space on the stack is reserved for local variables
when they are declared (at function entrance or elsewhere. depending on
the language), and the space is freed up when the variables go out of
scope.
5. A program counter that contains the contents of processor's registers.
As the program executes the process changes state. The state of a
process is defined by its current activity. Process execution is an
alternating sequence of CPU and I/O bursts, beginning and ending with a
CPU burst. Thus each process may be in one of the states namely, new,
active, waiting or halted.
Page | 6
Process Model
In process model the operating system is organized into a number of sequential
processes. A process is just an executing program, including the current values of the
program counter, reglater and variables. Progrs D • Conceptually each process had its
own virtual CPU. In reality, of course, the real CPU switches back and forth from process
to process thus it is much a collection of processes running in parallel This rapid
switching back and forth is called multi- programming.
Process States
In a multiprogramming system, many processes are executed by the operating system.
But, at any instant of time only one process executes on the CPU. Other processes wait
for their turn. The current activity of a process is known as its state. As a process
executes, it changes state. The process state is an indicator of the nature of the
current activity in a process.
Process Control
Process is done running For managing process and resources operating system must
have information about the current status of each process and resource. For which
operating system constructs and maintains tables of information about each entity that
it is managing.
Page | 7
Process Control Block (PCB)
Each process is represented in the operating system by a Process Control Block (PCB)
also called as Task Control Block (TCB).
The operating system groups all information that needs about a particular process into
a data structure called a PCB or process descriptor.
When a process is created, operating system creates a corresponding PCB and released
whenever the process terminates.
A PCB stores descriptive information pertaining to a process such as its state, program
counter, memory management Process Information, information about its scheduling,
allocated resources, accounting information, etc that is required to control and manage
a particular process.
The basic purpose of PCB is to indicate the so far progress of a process.
3.4 shows following sections of PCB:
Operations on Processes
There are innumerable operations or tasks that can be performed on processes, such as
creating, terminating, suspending or resuming a process etc. To successfully execute
these operations/tasks. the operating system provides run-time services (or system
calls) for the process management. In this section, we will discuss only process creation
and termination operations of processes. The processes in the system can execute
concurrently and they must be created and deleted dynamically
PROCESS SCHEDULING
As we know that we can perform many programs at a time on the computer, but there is
a single CPU. So for running all the programs concurrently or simultaneously, then we
use the scheduling Processes are the small programa those are executed by the
user
Page | 8
according to their request, CPU executes all the process according to some rules or
some schedule.
Scheduling is that in which each process have some amount of time of CPU Scheduling
provides time of CPU to the each process.
When two or more processes compete for the CPU at the same time then choice has to
be made which process to allocate the Choose a procesy from ready tumus Accats the
processer to the selected process CPU next. This procedure of determining the next
process to be executed on the CPU is called process scheduling and the module of
operating system that makes this decision is called the scheduler.
For a uniprocessor system, there will never be more than one running process. If there
are more than one processes, the rest will have to wait until the CPU is free and
can be rescheduled.
Schedulers
Schedulers are special system software's which handles 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. Batch jobs Batch qu eue. It was at or an 1/0 open ess continun In
other words, the job of process scheduling is done by a software routine (module) called
as scheduler.
Schedulers are of three types namely, Long Term Scheduler, Short Term Scheduler and
Medium Term Scheduler.
Long Term Scheduler: The long term scheduler determines which jobs are admitted to
the system for processing.
Medium Term Scheduler:On some systems, the long term scheduler may be absent or
minimal.
Short Term Scheduler: The short term scheduler selects from memories, which are
ready to execute and allocates the CPU to one of them. It is also called as CPU scheduler
or process scheduler.
Context Switch
Page | 9
Switching the CPU to another process requires saving the state of the old process and
loading the saved state for the new process. This task is known as a context switch. CPU
switching from one process to another process is called a context switch. A context
switch is the computing process of storing and restoring the state (context) that
execution can be resumed from the same point at a later time. Some hardware systems
employ two or more sets of processor registers to reduce the amount of context
switching time. When the process is switched, the following information is stored:
1 Program Counter
2. Scheduling Information
3. Base and limit register value
4.Currentlyused register
5. Changed State
6. I/O State
7.Accounting
INTERPROCESS COMMUNICATION
Operating system provides co-operating processes to communicate with each other via
an InterProcess Communication (IPC) facility, (See Fig. 3.13). There are applications
that involve each executing multiple processes concurrently. Processes work together to
perform application-specific tasks. They are referred to as co-operating (interacting)
processes. Co-operating processes are "loosely" connected in the sense that they have
independent private address spaces and run at different speeds. The relative speeds of
the processes are not normally known.
Introduction to IPC
Page | 10
Processes executing concurrently in the operating system might be either independent
processes or co-operating processes. InterProcess communication (IPC) is a set of
programming interfaces that allow a programmer to coordinate activities among
different program processes that can run concurrently in an operating system.
Shared Memory System: IPC using shared memory requires a region of shared
memory among the communicating processes. Processes can then exchange
information by reading and writing data to the shared region.
Message Passing System: Message passing provides a mechanism to allow
processes to communicate and to synchronize the actions without sharing the same
address space and is particularly useful in a distribute environment, where the
communicating processes may reside on different computers
connected by a network.
THREAD
A thread, sometimes called a Light Weight Process (LWP), is a basic unit of CPU
utilization; it comprises a thread ID, a program counter, a register set and a stack. 3.4
THREADS A thread is defined, "as a unit of concurrency within a process and had
access to the entire code and data parts of the process". Thus, thread of the same
process can share their code and data with one another. It shares with other threads
belonging to the same process its code section, data section, and other operating-
Page | 11
system resources, such as open files and signals. Traditional (or heavy weight)
process has a single thread of control. If a process has multiple threads i.e. it can do
more than one task at a time. Many software packages that run on desktop PC's
are multithreaded.
USER AND KERNAL THREADS
Practically, threads can be implemented at two different levels namely, user level (user
threads) and kernel level (kernel threads). A library which provides the programmers
with an Application Programming Interface (API) for thread creation and management
is referred to as a thread library. The thread library maps the user threads to the kernel
threads. A thread library can be implemented either in the user space or in the kernel
space.
MULTITHREADING MODELS
Many systems provide support for both user and kernel threads, resulting in different
multithreading models. Three types of multithreading models implemented.
ONE-TO-ONE MODEL
Page | 12
The one-to-one model maps each user thread to a kernel thread. It provides more
concurrency than the many- to-one model by allowing another thread to run when a
thread makes a blocking system call; it also allows multiple threads to run in parallel on
multiprocessors.
Page | 13
CONCLUSION
In summary, process management os is a crucial aspect of any modern
operating system. It is responsible for allocating system resources and
ensuring that processes run efficiently. In this article, we have discussed the
overview of process management, process scheduling algorithms,
interprocess communication mechanisms, process management os in
popular operating systems, and best practices for managing processes.
It is evident that process management os plays a vital role in ensuring the
smooth operation of an operating system. To that end, it is crucial for
developers and system administrators to have a solid understanding of
process management os and its applications.
As technology continues to evolve, process management os will become even
more critical in ensuring the efficiency and reliability of computer systems.
Therefore, we encourage readers to continue learning about process
management os and its various applications.
Page | 14
REFERENCES USED
Page | 15