Wednesday , September 18 2019
Home / Windows / What is multi-threading operating system

What is multi-threading operating system

What is multi-threading operating system

A 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. They also provide a suitable foundation for parallel execution of applications on shared memory multiprocessors. Following figure shows the working of the single and multi threaded processes.

Read:- What is operating system processes

What is multi-threading operating system

This section describes thread, types of threads and various thread models.

What is multi-threading operating system

Differences between Process and Thread?

What is multi-threading operating system

Advantages of Thread

  • 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.

Types of Thread

Threads are implemented in following two ways.

User Level Threads:- User managed threads.
Kernel Level Threads:- Operating System managed threads acting on kernel, an operating system core.

User Level Threads

In this case, application manages thread management kernel is not aware of the existence of threads. The thread library contains code for creating and destroying threads, for passing message and data between threads, for scheduling thread execution and for saving and restoring thread contexts. The application begins with a single thread and begins running in that thread.

What is multi-threading operating system

Advantages

  • 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.

Disadvantages

  • In a typical operating system, most system calls are blocking.
  • Multi-threaded application cannot take advantage of multiprocessing.

Kernel Level Threads

In this case, thread management done by the Kernel. There is no thread management code in the application area. Kernel threads are supported directly by the operating system. Any application can be programmed to be multi-threaded. All of the threads within an application are supported within a single process. The Kernel maintains context information for the process as a whole and for individuals’ threads within the process. Scheduling by the Kernel is done on a thread basis. The Kernel performs thread creation, scheduling and management in Kernel space. Kernel threads are generally slower to create and manage than the user threads.

Advantages

  • Kernel can simultaneously schedule multiple threads from the same process on multiple processes.
  • If one thread in a process is blocked, the Kernel can schedule another thread of the same process.
  • Kernel routines themselves can multi-threaded.

Disadvantages

  • Kernel threads are generally slower to create and manage than the user threads.
  • Transfer of control from one thread to another within same process requires a mode switch to the Kernel.

Multi-threading Models

Some operating system provides a combined user level thread and Kernel level thread facility. Solaris is a good example of this combined approach. In a combined system, multiple threads within the same application can run in parallel on multiple processors and a blocking system call need not block the entire process. Multithreading models are three types

  • Many to many relationship.
  • Many to one relationship.
  • One to one relationship.

Many to Many Model

In this model, many user level threads multiplexes to the Kernel thread of smaller or equal numbers. The number of Kernel threads may be specific to either a particular application or a particular machine. Following diagram shows the many to many model. In this model, developers can create as many user threads as necessary and the corresponding Kernel threads can run in parallels on a multiprocessor.

What is multi-threading operating system

Many to One Model

Many to one model maps many user level threads to one Kernel level thread. Thread management is done in user space. When thread makes a blocking system call, the entire process will be blocks. Only one thread can access the Kernel at a time, so multiple threads are unable to run in parallel on multiprocessors. If the user level thread libraries are implemented in the operating system in such a way that system does not support them then Kernel threads use the many to one relationship modes.

What is multi-threading operating system

Difference between User Level & Kernel Level Thread?What is multi-threading operating system

I hope that you understand my post. if you like this post then share my post, and comment on my post if you have any suggestion or Queries related to Operating system multi-threading. Thank you!

Check Also

How to install crack version of wondershare filmora

How to install crack version of wondershare filmora wondershare filmora is a best software for …

16 comments

  1. Most of whatever you mention happens to be supprisingly legitimate and it makes me ponder the reason why I had not looked at this with this light previously. This piece truly did turn the light on for me personally as far as this subject matter goes. Nonetheless there is just one position I am not too comfy with so while I make an effort to reconcile that with the core theme of the point, let me observe what the rest of the visitors have to say.Well done.

  2. Undeniably consider that that you said. Your favourite reason seemed to be at the internet the simplest factor to have in mind of. I say to you, I certainly get irked whilst other people consider concerns that they plainly do not know about. You managed to hit the nail upon the top and also outlined out the entire thing with no need side-effects , folks could take a signal. Will likely be again to get more. Thank you

  3. Does your blog have a contact page? I’m having problems locating it but, I’d like to send you an e-mail. I’ve got some ideas for your blog you might be interested in hearing. Either way, great blog and I look forward to seeing it improve over time.

  4. What i do not understood is in truth how you are not actually a lot more
    well-preferred than you may be right now. You’re very intelligent.

    You know therefore considerably in relation to this matter, produced me personally believe it from so many numerous angles.
    Its like men and women don’t seem to be interested until it
    is something to accomplish with Lady gaga! Your personal stuffs outstanding.
    All the time handle it up!

  5. Excellent beat ! I wish to apprentice while you amend your site, how could i subscribe for a blog site?
    The account aided me a acceptable deal. I had been tiny bit
    acquainted of this your broadcast offered bright clear idea

  6. Hi to all, how is the whole thing, I think every one is getting more from this web site, and
    your views are fastidious in support of new people.

  7. What’s Going down i am new to this, I stumbled upon this I have found It positively helpful and it has helped me out loads.
    I’m hoping to contribute & help other users like its aided me.
    Good job.

  8. Since the admin of this web site is working, no question very shortly it will be well-known, due to its quality contents.

  9. Nice answer back in return of this question with firm arguments and describing everything concerning that.

  10. Hello! I realize this is kind of off-topic but I had to ask.
    Does building a well-established website such as yours require
    a lot of work? I’m completely new to running a blog but I do
    write in my journal everyday. I’d like to start a blog so I will be able to share my experience and thoughts online.
    Please let me know if you have any recommendations or tips
    for brand new aspiring bloggers. Appreciate it!

  11. Keep this going please, great job!

  12. You could certainly see your expertise within the article you write.
    The arena hopes for even more passionate writers like you who aren’t afraid to mention how they believe.
    At all times follow your heart.

  13. Good post. I absolutely appreciate this website. Keep writing!

  14. Heya i am for the first time here. I came across this
    board and I find It truly useful & it helped me out much.
    I hope to give something back and aid others like you helped me.

  15. You’ve made some really good points there. I looked on the internet for more
    information about the issue and found most individuals will go
    along with your views on this web site.

  16. First of all I would like to say great blog!
    I had a quick question which I’d like to ask if
    you don’t mind. I was interested to know how
    you center yourself and clear your thoughts
    before writing. I have had difficulty clearing my mind
    in getting my thoughts out. I do enjoy writing but
    it just seems like the first 10 to 15 minutes
    are usually lost just trying to figure out how to begin.
    Any suggestions or hints? Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *