51. What Is A Thread? Why Is It Used?
Thread is a flow of execution through the process code, with its own program counter, system registers and stack. A thread is also called a light weight process. Threads provide a way to improve application performance through parallelism. Threads represent a software approach to improving performance of operating system by reducing the overhead thread is equivalent to a classical process.
Each thread belongs to exactly one process and no thread can exist outside a process. Each thread represents a separate flow of control. Threads have been successfully used in implementing network servers and web server.
Following are the reasons why we use threads in designing operating systems.
- A process with multiple threads makes a great server for example printer server.
- Because threads can share common data, they do not need to use inter-process communication.
- Because of the very nature, threads can take advantage of multiprocessors.
52.What Are The Advantages Of Threads?
Threads are used because of the following advantages it has:
- Thread minimizes context switching time.
- Use of threads provides concurrency within a process.
- Efficient communication.
- Economy- It is more economical to create and context switch threads.
- Utilization of multiprocessor architectures to a greater scale and efficiency.
53. What Are The Types Of Threads In Operating System?
Two types of threads:
- User Level Threads - User managed threads.
- Kernel Level Threads - Operating System managed threads acting on kernel, an operating system core.
54. What Are The Differences Between User Level Threads & Kernel Supported Threads?
Some of the important differences between user level threads and kernel level threads are:
- User level threads are faster to create and manage whereas Kernel level threads are slower to create and manage.
- Implementation is by a thread library at the user level whereas Operating system supports creation of Kernel threads.
- User level thread is generic and can run on any operating system whereas Kernel level thread is specific to the operating system.
- A user thread is more appropriate for low-level tasks, whereas a kernel thread is better for high-priority tasks that should get high priority to system resources.
55. State The Advantages & Disadvantages Of User Level Threads?
- Thread switching does not require Kernel mode privileges.
- User level thread can run on any operating system.
- Scheduling can be application specific in the user level thread.
- User level threads are fast to create and manage.
- In a typical operating system, most system calls are blocking.
- Multithreaded application cannot take advantage of multiprocessing.
56. State The Advantages & Disadvantages Of Kernel Level Threads?
57. State The Basic Differences Between Process & Thread?
58. What Are The Advantages Of Threads Over Multiple Processes?
59. What Are The Disadvantages Of Threads Over Multiple Processes?
60. Why Should A Web Server Not Run As A Single Threaded Process?
... Return To Operating System FAQ's Index.
... Return To Homepage.