Explain threads for executing concurrent application code, Operating System

Assignment Help:

Explain Threads for Executing Concurrent Application Code

The thread has been introduced in many operating systems as an efficient mechanism for executing concurrent application code. The thread is best defined as light-weight process. While a thread owns a minimal amount of data, its main job is to execute application code efficiently. Therefore, starting and ending threads uses much less overhead than processes and minimizes the use of system resources. Threads allow more concurrency to occur with lesser overhead. With a thread-based system, it might be possible to assign one thread per remote client. This model is known as the Worker Model and will maximize all clients' use of the server processor. Threads are important because they can increase the ability to handle requests generated from client machines.

Applications architected for thread use can see very significant performance gains as well. The reason is simple; an operating system is much more efficient in creating, executing, and switching threads within a system than it is with process. The developer is uniformly presented with a simple API to create and manipulate thread execution. The thread API allows the developer to specify an arbitrary function at which the new thread is to be started. Priorities, inheritance, and privileges may either be passed or implied, depending on the platform. Optionally, the developer is allowed to create and manage a thread's stack or have the system do it. The specific API is not as important as the functionality provided.


Related Discussions:- Explain threads for executing concurrent application code

Process creation, what is process creation and how to create a process

what is process creation and how to create a process

Tcp and ip stack, What does the last four digits '0010' of the above dump r...

What does the last four digits '0010' of the above dump represent? What action will the Destination node takes when it receives this packet? The last four digits '0010' denotes

Define the client - server communications environment, Define the Client - ...

Define the Client - Server Communications Environment Today's client - server communications environment offers programmers great flexibility for application design. Applicatio

Write a note on multithreading, Write a note on multithreading. Multith...

Write a note on multithreading. Multithreading is the capability of an operating system to execute different parts of a program called as threads, at the same time. The program

What are the various process scheduling concepts, What are the various proc...

What are the various process scheduling concepts? a) Scheduling queues with diagram b) Queuing diagram c) Schedulers d) Context switch with diagram

Galvin, difference between process and thread

difference between process and thread

Explain worst fit algorithm, Worst Fit Algorithm Here we obtain the la...

Worst Fit Algorithm Here we obtain the largest space available for the smallest. Therefore after that process entered there will be much more space remaining. In this space we

What are the functions of virtual file system (vfs), What are the functions...

What are the functions of virtual file system (VFS)? a. It separates file-system-generic operations from their execution defining a clean VFS interface. It permits transparent

Multiprogramming, explain how response time are reduced by allowing time sh...

explain how response time are reduced by allowing time sharing on top of multiprogramming

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd