MICRO-PROJECT REPORT ON
“CREATE A REPORT ON THREAD USED IN OS”
2024-2025
This micro-project work submitted in partial fulfillment of requirements for the award of
diploma in Computer Technology for subject "Operating System (OSY)”.
Computer Engineering
Maharashtra State Board of Technical Education, Mumbai
Under The Guidance Of
Prof. M. U. Mnn
(Lecturer in Computer Technology)
SUBMITTED BY
Sr
no. Roll no. Name of Student Enrollment no.
1. 40 Kshitij N. Sangole 2201210154
DEPARTMENT OF COMPUTER ENGINEERING
GOVERNMENT POLYTECHNIC, BRAMHAPURI DIST-CHANDRAPUR
Certificate
This is to certify that the following students of this institute have carried out this
project work on “Create a report on thread used in OS’’ under the guidance of
Prof. M. U. Mun lecturer in Computer Technology during the session 2024-
2025. This work has been done in the partial fulfillment of the award for Diploma
in Computer Engineering from Maharashtra State Board of Technical Education,
Mumbai.
SUBMITTED BY: -
Sr no. Roll no. Name of Student Enrollment no.
1 40 Kshitij N. Sangole 2201210154
Project Guide Head of department Principle
Prof. M. U. Mnn Prof. S. K. Kharkate Dr. R. L. Wankhade
PART – A
1. Aims of Micro-Project
Create a report on thread used in OS
2. Course Outcomes
3. Proposed Methodology
1) Select the Micro-Project Topic.
2) To take guidelines from respective subject teacher.
3) To prepare project proposal as per the guidelines.
4) To prepare project report and submit.
4. Literature Review:-
Threads in operating systems (OS) are lightweight sub-processes that enable
multiple tasks to run concurrently within a single application, improving
performance and responsiveness. They are classified into user-level threads
(managed by user libraries), kernel-level threads (managed by the OS
kernel), and hybrid threads (a combination of both).
Threads share resources like memory, which enhances efficiency but also
requires careful synchronization to avoid issues like data races and deadlocks.
Common synchronization tools include mutexes, semaphores, and monitors.
OSs use various scheduling algorithms (e.g., Round Robin, Priority
Scheduling) to allocate CPU time to threads efficiently.
Threads are widely used in web servers, parallel computing, and real-time
systems. However, they introduce complexity in programming and
debugging. As hardware and cloud computing evolve, threads will continue to
play a vital role in enhancing system performance and scalability.
5. Action Plan
Sr. Detail of Activity Start Finish Name of student
no. Date Date
1 Search for topic Kshitij N. Sangole
2 Information search Kshitij N. Sangole
and resource collected
3 Implement part-A Kshitij N. Sangole
4 Work over project Kshitij N. Sangole
5 Implement part-B Kshitij N. Sangole
6 Submission of final Kshitij N. Sangole
report
6. Resources Required
Sr. Name of
no. resource/material Specification Quantity Purpose
1. Internet Gives information As per To get
requirement information- on
and pictures.
2. Laptop Lenovo IdeaPad 3 1 To make micro
project.
3. Books Operating System 1 To Study
(OSY) detail about
topic
PART – B
1. Aims of Micro-Project
Create a report on thread used in OS
2. Rationale
Creating a report on threads in operating systems (OS) provides valuable insights
into how OSs manage multitasking, enhance application performance, and utilize
system resources efficiently. Threads are essential for enabling concurrent
execution within a process, which boosts responsiveness and speed in applications.
By understanding the types, management, synchronization techniques, and
challenges of threads, students and professionals can better appreciate the role
threads play in modern computing, especially as hardware and software demand
higher efficiency and parallelism. This report will clarify core concepts, benefits,
and the evolving impact of threads in OS development.
3. Course Outcomes
4. Actual Methodology Followed
• Select the Micro-Project Topic.
• To take guidelines from respective subject teacher.
• To prepare project proposal as per the guidelines.
• To prepare project report and submit.
5. Actual Resources Used
Sr. No Name of material Specification Qty
1. Reference Books Operating System 01
2. Internet Wikipedia As per required
6. Outputs of the Micro-Project
Threads in Operating System
A thread is a single, sequential flow of tasks within a process, often called a "thread of
execution" or "thread of control." In an operating system, multiple threads can exist within
one process. Each thread in a process has its own program counter, stack, and control
information, allowing it to run independently. Threads are also known as "lightweight
processes" because they require fewer resources than full processes.
The process can be split down into so many threads. For example, in a browser, many tabs
can be viewed as threads. MS Word uses many threads - formatting text from one thread,
processing input from another thread, etc.
Need of Thread
o Creating a new thread within an existing process is much faster than creating a new
process.
o Threads can directly share data within the same process, avoiding the need for inter-
process communication.
o Context switching is quicker with threads compared to processes.
o Terminating a thread takes less time than terminating a process.
Types of Threads
In the operating system, there are two types of threads.
1. Kernel level thread.
2. User-level thread.
User-level thread
User-level threads are threads that are managed entirely by user-level libraries and are not
directly recognized by the operating system. This makes them easier to implement and
control by the user, without needing OS intervention. However, a limitation is that if one
user-level thread becomes blocked, the entire process may also become blocked, as the OS
treats the process as a single thread. The OS kernel has no knowledge of these individual
threads within the process and handles them as though it’s dealing with a single-threaded
process. Examples of user-level threads include Java threads and POSIX threads.
Advantages of User-level threads
1. The user threads can be easily implemented than the kernel thread.
2. User-level threads can be applied to such types of operating systems that do not
support threads at the kernel-level.
3. It is faster and efficient.
4. Context switch time is shorter than the kernel-level threads.
5. It does not require modifications of the operating system.
6. User-level threads representation is very simple. The register, PC, stack, and mini
thread control blocks are stored in the address space of the user-level process.
7. It is simple to create, switch, and synchronize threads without the intervention of the
process.
Disadvantages of User-level threads
1. User-level threads lack coordination between the thread and the kernel.
2. If a thread causes a page fault, the entire process is blocked.
Kernel level thread
Kernel-level threads are managed by the operating system, which recognizes and controls
them. For each thread and process, the OS maintains a thread control block and a process
control block. The OS provides system calls to create and manage these threads directly from
user space. Since the kernel handles all threads, it allows other threads to keep running even
if one thread performs a blocking operation. However, implementing kernel threads is more
complex than user-level threads, and context switching between kernel threads takes longer.
Examples of systems using kernel threads include Windows and Solaris.
Advantages of Kernel-level threads
1. The kernel-level thread is fully aware of all threads.
2. The scheduler may decide to spend more CPU time in the process of threads being
large numerical.
3. The kernel-level thread is good for those applications that block the frequency.
Disadvantages of Kernel-level threads
1. The kernel thread manages and schedules all threads.
2. The implementation of kernel threads is difficult than the user thread.
3. The kernel-level thread is slower than user-level threads.
Components of Threads
Any thread has the following components.
1. Program counter
2. Register set
3. Stack space
Benefits of Threads
Enhanced System Throughput: Splitting a process into multiple threads allows more
jobs to complete within a unit time, thus boosting overall throughput.
Efficient Multiprocessor Utilization: Multiple threads within a process can be
scheduled across multiple processors, improving performance in multiprocessor
systems.
Faster Context Switching: Context switching between threads incurs less overhead
than switching between processes, reducing CPU load.
Improved Responsiveness: A process with multiple threads can respond faster, as
completed threads can return results without waiting for the entire process to finish.
Simple Communication: Threads share the same address space, enabling easy
communication compared to processes, which require special communication
methods.
Resource Sharing: Threads within the same process can share resources like code,
data, and files, though each thread has its own stack and registers.
7. Skill Developed:
1. Problem-Solving Skills: Critical thinking and creativity will be applied to develop
rational pollution solutions.
2. Communication Skills: Articulate findings and solutions clearly in writing and
presentations.
3. Time Management: Meeting project deadlines will require strong time
management abilities.
4. Information Literacy: Proficiency in evaluating source credibility will be
developed.
5. Critical Thinking: Students will assess pollution causes and solutions critically.
8. Conclusion
Threads have become a cornerstone of modern operating systems, contributing
significantly to performance improvements in multitasking and responsive
applications. While they offer many benefits, efficient management and
synchronization are critical to prevent potential issues like deadlocks and race
conditions. Ongoing research in thread management, scheduling, and hardware
support promises to further enhance the capabilities of threads, leading to even more
powerful and efficient computing environments.
Micro Project Evaluation Sheet
Name of Student: - Kshitij N. Sangole
Enrollment No: - 2201210154 Roll no.: - 40
Name of Program: - Computer Technology Semester: - Fifth
Course Title: - Operating System (OSY)
Code: -
Title of the Micro project: - Create a report on thread used in OS
Sr.no. Characteristics to be Poor Average Good Excellent Sub total
assessed (marks 13) (marks 45) (marks 68) (marks
9-10)
1. Relevance to the
course
2. Literature
Review / Information
collection
3. Completion of the
target as per project
proposal
4. Analysis of data and
representation
5. Quality of
prototype /
model
6. Report preparation
7. presentation
8. viva
(A) (B)
Process and product Individual presentation /viva Total marks 10
assessment (6 marks) (4 marks)
Comments / Suggestion about team work / Inter-personal communication Name and
designation of the teacher: - Prof. M. U. Mnn