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

Is there any way to execute truly stable storage, Q. Is there any way to ex...

Q. Is there any way to execute truly stable storage? Describe your answer. Answer: Truly steady storage would never lose data. The fundamental technique for steady storage is

Compute minimum transfer size for acceptable utilization, Q. It is occasio...

Q. It is occasionally said that tape is a sequential-access medium whereas magnetic disk is a random-access medium. In fact the correctness of a storage device for random access d

How free-space is managed using bit vector implementation, How free-space i...

How free-space is managed using bit vector implementation? The free-space list is implemented as a bit map or bit vector. Each block is shown by 1 bit. If the block is free, th

Difference between internal and external fragmentation, Explain the differe...

Explain the difference between internal and external fragmentation. Internal Fragmentation is the area in a region or a page that is not used by the job occupying that region o

Explain time-sharing environment, In a multiprogramming and time-sharing en...

In a multiprogramming and time-sharing environment, several users share the system simultaneously. This situation can result in various security problems. a

What is a process control block?, What is a Process Control Block? Ever...

What is a Process Control Block? Every process in the operating system is represented by a process control block as well called a task control block. It contains several pieces

Kernel, 1. What must a kernel provide for an effective user-level thread im...

1. What must a kernel provide for an effective user-level thread implementation? 2. With respect to the quantum q in a scheduling algorithm, explain and discuss the impact of the

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