You are on page 1of 20

Maharashtra State Board of Technical Education

Mumbai. (M.S.)

MICRO PROJECT
On
“ Create a report on Process Management”

Submitted by
Shrinidhi Mokashi
Kashish Jain

G.S. Mandal’s
Department of Computer Engineering
Marathwada Institute of Technology,
Polytechnic, Aurangabad.

Academic Year: - 2023-2024


MAHARASHTRA STATE
BOARD OF TECHNICAL EDUCATION

CERTIFICATE
This is to certify that : -
Roll Enrollment Exam
Name of Student
No. No. Seat No.
Shrinidhi Mokashi 2000660255

Kashish Jain 2000660252

have successfully completed “Create a report on Process Management” Micro-


project for the subject Operating System as in the enclosed ‘Portfolio’ during
his / her tenure of Completing the Diploma in Computer Engineering (CO5I) in
Academic Year 2023-2024 from M.I.T. Polytechnic, Aurangabad with Institute
Code 0066.

Date:

Prof.Y.D.Divekar Prof. A.S.Nagrik


Guide H.O.D.

Principal
Marathwada Institute of Technology,
Polytechnic, Aurangabad
INDEX

Annexure-IV Micro Project Teacher Evaluation Sheet

Annexure-I A “Format for Micro-Project Proposal”


1.0 Aim/Benefits of Micro Project (minimum 30-50 words)

2.0 Course Outcomes Addressed

3.0 Proposed Methodology (procedure in brief that will be followed to do the micro-
project in about 100-200 words.)

4.0 Action Plan (Sequence and time required for major activity.)

5.0 Resources required (major resources such as row material, some machining facility,
software etc.)

Annexure-II A “Format for Micro-Project Report”


1.0 Rationale (Importance of the project, in about 30 to 50 words. This is a modified
version of the earlier one written after the work)

2.0 Aim/Benefits of Micro Project:

3.0 Course Outcomes Achieved (Add to the earlier list is more Cos are addressed)

4.0 Literature Review

5.0 Actual Methodology Followed (Write step wise work done, data collected and its
analysis (if any). The contribution of individual member may also be noted.)

6.0 Actual Resources Used (mention the actual resources used).

7.0 Outputs of the micro projects (Drawings of the prototype, drawing of survey,
presentation of collected data, findings etc.)

8.0 Skill Developed/Learning outcome of this micro project

9.0 Applications of this micro project


Annexure-IV
Micro Project
(Teacher Evaluation Sheet)
Name of Program: Diploma in Computer Engineering Semester: - 5th
Course Title : Operating System Code: 22516
Title of Micro Project :- “ Create a report on Process Management ”

Course Outcomes Achieved:


a) Execute process commands for performing process management operation

Process and Individual Total


Roll Enrollment Exam Product Presentation Marks
Name of Student
No. No. Seat No. Assessment / Viva (10)
(06) (04)
51 Shrinidhi Mokashi 2100660156

30 Kashish Jain 2100660114

Comments / Suggestions about work:

Signature of Teacher : __________________________

Name and Designation : __________________________

Annexure-I
Micro-Project Proposal
(Format for Micro-Project Proposal About 1-2 pages)

Title of Micro-Project : Create a report on Process Management.

Aim/Benefits of Micro Project (minimum 30-50 words)

1.Scheduling processes and threads on the CPUs.


2.Creating and deleting both user and system processes.
3.Suspending and resuming processes.
4.Providing mechanisms for process synchronization.
5.Providing mechanisms for process communication.

Process management is a critical function of the operating system. By managing processes,


the operating system can ensure that resources are used efficiently and that the system
remains stable. In addition, process management allows the operating system to control how
programs interact with each other.

The main aim of Process management is that it involves the creation, scheduling, and
termination of the process by the operating system. It also deals with the resource allocation
to a process.

2.0 Course Outcomes Addressed

a) Execute process commands for performing process management operation

3.0 Proposed Methodology (Procedure in brief that will be followed to do the micro-
project in about 100-200 words.)

• In this microproject, first of all we have focused on selection of appropriate topic


for micro-project
• Select the topic i.e., Generations of Computer and Operating System.
• Then we started with our brief study as well as a survey on our topic.
• Then we gathered all information based on the topic of microproject.
• We have done analysis and study of our topic in detail.
• Following all the above methodologies we successfully completed with our
microproject
4.0 Action Plan (Sequence and time required for major activity.)

Sr. Details of Activity Planned Planned Name of


No Start Date Finish Date Responsible
Team Members
1. Selection of topic. 09/08/2023 12/08/2023 Kashish and
Shrnidhi
2. Proposal of the micro project. 13/08/2023 17/08/2023 Kashish and
Shrnidhi
3. Accepting the proposal. 21/08/2023 21/08/2023 Kashish and
Shrnidhi
4. Course outcomes and benefits 25/08/2023 31/08/2023 Kashish

of the topic.

5. Literature review. 02/09/2023 14/09/2023 Shrinidhi

6. Actual Methodology. 17/09/2023 28/09/2023 Shrinidhi

7. Output of the project 30/09/2023 04/10/2023 Shrinidhi and


Kashish

8. Creating the report. 05/10/2023 14/10/2023 Shrinidhi and


Kashish

9. Submitting the project 15/10/2023 15/10/2023 Shrinidhi and


Kashish

5.0 Resources required (major resources such as row material, some machining
facility, software etc.)
Sr. Name of Resource/Material Specification Qty. Remarks
No
1. Computer system I5 11Th Gen 1

2. Any Operating System - -

3. Microsoft word - -
Names of Team Members with Roll No. : -

Roll No. Name of Student

51 Shrinidhi Mokashi

30 Kashish Jain
Annexure-II
Micro-Project Report
(Format for Micro-Project Report minimum 4 pages)

Title of Micro-Project : - Create a report on Process Management.

0.1 Rationale (Importance of the project, in about 30 to 50 words. This is a modified version of the
earlier one written after the work)

An operating system is basically a system program that controls the execution of application
programs and act as an interface between applications and the computer hardware. It manages
the computer system resources to be used in an efficient manner.
This courses enables to learn internal functioning of operating system and will help in
identifying appropriate operating system for given task. This course is also a prerequisite for
the group of courses included in cloud interface maintenance elective group.

2.0 Aim/Benefits of Micro Project:

1.Scheduling processes and threads on the CPUs.


2.Creating and deleting both user and system processes.
3.Suspending and resuming processes.
4.Providing mechanisms for process synchronization.
5.Providing mechanisms for process communication.

Process management is a critical function of the operating system. By managing processes,


the operating system can ensure that resources are used efficiently and that the system
remains stable. In addition, process management allows the operating system to control how
programs interact with each other.

The main aim of Process management is that it involves the creation, scheduling, and
termination of the process by the operating system. It also deals with the resource allocation
to a process.

3.0 Course Outcomes Achieved (Add to the earlier list is more Cos are addressed)

a) Execute process commands for performing process management operation

4.0 Literature Review : -

Process Management is an important concept as well as chapter in Operating Systems. In this


we will see in detail about what is process and process control block and many more. For this
to collect brief information about the topic we referred various websites and also saw various
YouTube videos and gathered the information in detail.

Here are some of the websites and YouTube links through which helped us a lot
https://www.javatpoint.com/what-is-the-process-in-operating-system

Process is the execution is of a program that performs the actions specified in that program. It
can be defined as an execution unit where a program runs. The OS helps you to create,
schedule, and terminates the processes which is used by CPU. A process created by the main
process and is called a child process.

https://www.guru99.com/process-management-pcb.html

From this website we learn about the tasks that are done by Process management which
involves various tasks like creation, scheduling, termination of processes, and a dead lock.
Process is a program that is under execution, which is an important part of modern-day
operating systems. The OS must allocate resources that enable processes to share and exchange
information. It also protects the resources of each process from other methods and allows
synchronization among processes.

https://www.geeksforgeeks.org/states-of-a-process-in-operating-systems/

From this website we collected information about what all are the process states in the process
management and how each state works and when it works.

https://www.tutorialspoint.com/operating_system/os_process_scheduling.htm

From this website we learnt about what is process scheduling and how it takes place. And also
learnt about schedulers and its type and scheduling Queues. 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.

https://www.scaler.com/topics/operating-system/inter-process-communication-in-os/

From this website we collected brief information about the inter process communication in
process management. We learnt about Inter process communication in Operating System and
how takes place and is the way by which multiple processes can communicate with each other.
Share memory in OS, message queues, FIFO (First in First Out), etc. are some of the ways to
achieve IPC in Operating System. And along with its two types.

https://www.youtube.com/watch?v=aytWaG4mEJI

From this YouTube channel we were very having a very clear idea about what are threads
and what is multithreading and the advantages and disadvantages of it. Types of thread and
types of multithreading in Operating System along with execute process commands.
5.0 Actual Methodology Followed (Write step wise work done, data collected and its
analysis (if any). The contribution of individual member may also be noted.)

The first and the foremost point was to select the topic and we were very confused about the
selection of the topic.
So, then we gave two – three topics to the subject teacher and finally finalized one of the topics
of Process Management in Operating System.
Now the next main task was to prepare report and ppt of on the Process Management topic.

After the selection of the topic, we were supposed to prepare the proposal for the elected topic.
Proposal is nothing but the in short description of the actual topic.
Then Kashish was fully responsible to find out the related course outcome for that I took help
of the syllabus provided by the technical institute on the official website of MSBTE for the
project and also to find out the benefits of the Process Management.
The then main task was to write the literature for the project topic which is the main part of the
report, Shrinidhi took the charge to write the literature review which includes all the detailed
information and the additional and external help acquired from various websites I saw various
videos from YouTube which helped me a lot to understand more in detail about how Process
Management takes place and also referred various websites and also took the help for subject
teacher whenever necessary.
After writing the literature review, we both gathered sufficient information about the project
and started writing literature which includes the detailed work activity that is carried out by
both of us. Actual methodology includes all the detailed workloads that were carried by each
member individual. Here we both mentioned all the tasks that were carried out individual level
right starting from selection of topic till the submission of the final report.
Then after that the main output was to be made in the form of ppt.
So, Kashish
was responsible to find the information about what is process, how it helps the OS.
• How and when it works.
• Why it is important in today’s OS.
• States of Process Management.
• Creation and termination of processes.
• What is process control block.
• What is inter process communication and many more.

On the other hand, Shrinidhi


• Was responsible to find the information on shared memory systems.
• Message passing systems.
• Threads.
• Multhreading and multithreading models.
• User threads and kernel threads.
• Execution of process commands and many more.

Once all the information was collected and was brought together and was collectively
arranged in the systematic and appropriate manner.
Then onwards we headed our focus towards the creation of report, in which we evenly
the distributed the workload and prepared the report and submitted successfully.
6.0 Actual Resources Used (mention the actual resources used).

Sr. Name of Resource/Material Specification Qty. Remarks


No
1. Computer system I5 11th Gen 1

2. Any Operating System - -

3. Microsoft word - -
7.0 Outputs of the micro projects (Drawings of the prototype, drawing of survey,
Presentation of collected data, findings etc.)

PROCESS MANAGEMENT
Process is the execution of a program that performs the actions specified in that program. It
can be defined as an execution unit where a program runs. The OS helps you to create,
schedule, and terminates the processes which is used by CPU. A process created by the main
process is called a child process.

Process operations can be easily controlled with the help of PCB(Process Control Block).
You can consider it as the brain of the process, which contains all the crucial information
related to processing like process id, priority, state, CPU registers, etc.

Process management involves various tasks like creation, scheduling, termination of


processes, and a dead lock. Process is a program that is under execution, which is an
important part of modern-day operating systems. The OS must allocate resources that enable
processes to share and exchange information. It also protects the resources of each process
from other methods and allows synchronization among processes.

It is the job of OS to manage all the running processes of the system. It handles operations by
performing tasks like process scheduling and such as resource allocation.

Process Architecture

• Stack: The Stack stores temporary data like function parameters, returns addresses,
and local variables.
• Heap Allocates memory, which may be processed during its run time.
• Data: It contains the variable.
• Text:
Text Section includes the current activity, which is represented by the value of the
Program Counter.
How process Management helps operating systems?

Process management involves tasks related to processing like creation, scheduling,


termination, deadlock, etc. The operating systems allocate resources that allow the process to
exchange information. It synchronizes among processes and safeguards the resources of other
processes.

Process Control States

• New (Create): In this step, the process is about to be created but not yet created.
It is the program that is present in secondary memory that will be picked up by
OS to create the process.
• Ready: New -> Ready to run. After the creation of a process, the process enters
the ready state i.e. the process is loaded into the main memory. The process here
is ready to run and is waiting to get the CPU time for its execution. Processes
that are ready for execution by the CPU are maintained in a queue called ready
queue for ready processes.
• Run: The process is chosen from the ready queue by the CPU for execution and
the instructions within the process are executed by any one of the available CPU
cores.
• Blocked or Wait: Whenever the process requests access to I/O or needs input
from the user or needs access to a critical region(the lock for which is already
acquired) it enters the blocked or waits for the state. The process continues to
wait in the main memory and does not require CPU. Once the I/O operation is
completed the process goes to the ready state.
• Terminated or Completed: Process is killed as well as PCB is deleted. The
resources allocated to the process will be released or deallocated.
• Suspend Ready: Process that was initially in the ready state but was swapped
out of main memory(refer to Virtual Memory topic) and placed onto external
storage by the scheduler is said to be in suspend ready state. The process will
transition back to a ready state whenever the process is again brought onto the
main memory.
• Suspend wait or suspend blocked: Similar to suspend ready but uses the
process which was performing I/O operation and lack of main memory caused
them to move to secondary memory. When work is finished it may go to
suspend ready.

Process Control Blocks


PCB stands for Process Control Block. It is a data structure that is maintained by the
Operating System for every process. The PCB should be identified by an integer Process ID
(PID). It helps you to store all the information required to keep track of all the running
processes.

It is also accountable for storing the contents of processor registers. These are saved when the
process moves from the running state and then returns back to it. The information is quickly
updated in the PCB by the OS as soon as the process makes the state transition
Process States

There are mainly seven stages of a process which are:

• New: The new process is created when a specific program calls from secondary
memory/ hard disk to primary memory/ RAM a
• Ready: In a ready state, the process should be loaded into the primary memory, which
is ready for execution.
• Waiting: The process is waiting for the allocation of CPU time and other resources
for execution.
• Executing: The process is an execution state.
• Blocked: It is a time interval when a process is waiting for an event like I/O
operations to complete.
• Suspended: Suspended state defines the time when a process is ready for execution
but has not been placed in the ready queue by OS.
• Terminated: Terminated state specifies the time when a process is terminated

After completing every step, all the resources are used by a process, and memory becomes
free

Inter Process Communication.

Inter-process communication (IPC) is a mechanism that allows processes to communicate


with each other and synchronize their actions. The communication between these processes
can be seen as a method of co-operation between them. Processes can communicate with
each other through both:

1. Shared Memory
2. Message passing.
An operating system can implement both methods of communication. First, we
will discuss the shared memory methods of communication and then message
passing. Communication between processes using shared memory requires
processes to share some variable, and it completely depends on how the
programmer will implement it. One way of communication using shared
memory can be imagined like this: Suppose process1 and process2 are executing
simultaneously, and they share some resources or use some information from
another process. Process1 generates information about certain computations or
resources being used and keeps it as a record in shared memory. When process2
needs to use the shared information, it will check in the record stored in shared
memory and take note of the information generated by process1 and act
accordingly. Processes can use shared memory for extracting information as a
record from another process as well as for delivering any specific information to
other processes.

ii) Messaging Passing Method


Now, We will start our discussion of the communication between processes via message
passing. In this method, processes communicate with each other without using any kind of
shared memory. If two processes p1 and p2 want to communicate with each other, they
proceed as follows:

• Establish a communication link (if a link already exists, no need to establish it


again.)
• Start exchanging messages using basic primitives.
We need at least two primitives:
– send (message, destination) or send(message)
– receive (message, host) or receive(message)
Threads
Within a program, a Thread is a separate execution path. It is a lightweight process that the
operating system can schedule and run concurrently with other threads. The operating system
creates and manages threads, and they share the same memory and resources as the program
that created them. This enables multiple threads to collaborate and work efficiently within a
single program.
A thread is a single sequence stream within a process. Threads are also called lightweight
processes as they possess some of the properties of processes. Each thread belongs to exactly
one process. In an operating system that supports multithreading, the process can consist of
many threads. But threads can be effective only if CPU is more than 1 otherwise two threads
have to context switch for that single CPU.

Why Do We Need Thread?


• Threads run in parallel improving the application performance. Each such thread
has its own CPU state and stack, but they share the address space of the process
and the environment.
• Threads can share common data so they do not need to use interprocess
communication. Like the processes, threads also have states like ready,
executing, blocked, etc.
• Priority can be assigned to the threads just like the process, and the highest
priority thread is scheduled first.
• Each thread has its own Thread Control Block (TCB). Like the process, a
context switch occurs for the thread, and register contents are saved in (TCB).
As threads share the same address space and resources, synchronization is also
required for the various activities of the thread.
Multithreading

Multi-threading-It is a process of multiple threads executes at same time.


There are two main threading models in process management: user-level threads and kernel-
level threads.
User-level threads: In this model, the operating system does not directly support threads.
Instead, threads are managed by a user-level thread library, which is part of the application.
The library manages the threads and schedules them on available processors. The advantages
of user-level threads include greater flexibility and portability, as the application has more
control over thread management. However, the disadvantage is that user-level threads are
not as efficient as kernel-level threads, as they rely on the application to manage thread
scheduling.
Kernel-level threads: In this model, the operating system directly supports threads as part
of the kernel. Each thread is a separate entity that can be scheduled and executed
independently by the operating system. The advantages of kernel-level threads include
better performance and scalability, as the operating system can schedule threads more
efficiently. However, the disadvantage is that kernel-level threads are less flexible and
portable than user-level threads, as they are managed by the operating system.

MULTITHREADING MODELS ARE: -

Many to Many Model


In this model, we have multiple user threads multiplex to same or lesser number of kernel
level threads. Number of kernel level threads are specific to the machine; advantage of this
model is if a user thread is blocked we can schedule others user thread to other kernel
thread. Thus, System doesn’t block if a particular thread is blocked.
It is the best multi-threading model.

Many to One Model


In this model, we have multiple user threads mapped to one kernel thread. In this model
when a user thread makes a blocking system call entire process blocks. As we have only
one kernel thread and only one user thread can access kernel at a time, so multiple threads
are not able access multiprocessor at the same time.
The thread management is done on the user level so it is more efficient .

One to One Model


In this model, one to one relationship between kernel and user thread. In this model
multiple thread can run on multiple processors. Problem with this model is that creating a
user thread requires the corresponding kernel thread.
As each user thread is connected to different kernel, if any user thread makes a blocking
system call, the other user threads won’t be blocked.

Execute Process Commands

bg To send a process to the background

fg To run a stopped process in the foreground

top Details on all Active Processes

ps Give the status of processes running for a user


8.0 Skill Developed/Learning outcome of this micro project

• Understand fundamental operating system abstractions such as processes, threads,


files, semaphores, IPC abstractions, shared memory regions, etc.
• Analyze important algorithms e.g. Process scheduling and memory management
algorithms
Categorize the operating system’s resource management techniques, dead lock
management techniques, memory management techniques.
• Demonstrate the ability to perform OS tasks in Red Hat Linux Enterprise.

9.0 Applications of this micro project : -

1. Memory Management
2. File Management
3. Device Management
4. OS Management
5. Network
6. Security
7. Processor Management
8. Secondary Storage Managment

********

You might also like