In order to both improve performance and to reduce complexity, many operating system functions are designed and implemented using threads. Essentially, a thread (also known as a lightweight process) is a part of an application that can run autonomously and concurrently with other portions of the application. Operating systems and programming languages generally use either a kernel-level or a user-level approach to threading.
For this Research, you will focus on analyzing the use of different types of threads and evaluating circumstances when a certain type is preferable.
To prepare:
Research an operating system or a programming language and its support for threading.
write an analysis on the operating system/programming language you chose, and its support for threading. Make sure to do the following:
Summarize the threading support.
Answer the following questions:
A. Is the threading model based on kernel-level or user-level threads? What is the most significant advantage of the implementation? What is the most significant disadvantage of the implementation?
B. Provide a scenario where this method of threading will provide the best solution and explain why.