Processes and threads, Operating System

Assignment Help:

Processes and threads each have their place in multi-programming, generally to hide latency and to maximize CPU utilization. With the continuing spread of multi-core processors in personal computers, threads are becoming more and more important every day. There are now threads in almost every type of application, including client applications, not just server applications. Soon, there are likely to be multi-core processors even on cellphones, and there will be threaded applications on cellphones.

These multiple cores make it possible to run several different lines of processing at the same time, allowing the computer to runmuch faster than usual; because of this, however, programmersmust now explicitly make use of multi-threaded programming. Unfortunately, parallel programming is very confusing and error prone.

In general, parallel programming can be implemented either by using several concurrent pro- cesses, or by using threads. While processes have each their own address space (separate program counters, heaps, stacks, etc), threads share their address spaces; the programmer can use either of these to obtain concurrency. Besidesmaximizing CPU utilization, the use of parallel programming also helps to hide latency (e.g. waiting for the disk while using the CPU) and to handle multiple asynchronous events.

As a rough analogy, different processes are like different housing subdivisions: quite separate and protected from each other, and with communication possible but relatively dif?cult. In this analogy, different threads within the same process are like roommates:

communication and sharing is easy, but there's much less protection from each other's mistakes.


Related Discussions:- Processes and threads

What are the advantages of linked allocation, What are the advantages of Li...

What are the advantages of Linked allocation? The benefits are a. No external fragmentation b. Size of the file does not require to be declared

Operating system.., What is the use of FIFOs in client-server applications

What is the use of FIFOs in client-server applications

Memory management, 4. Describe priority scheduling algorithm. Consider the ...

4. Describe priority scheduling algorithm. Consider the following set of processes. Show the order in which the algorithm will schedule these processes. Assume preemptive and non-p

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

Determine the task of the pass ii in a two-pass assembler, Determine the ta...

Determine the task of the Pass II In a two-pass assembler Synthesize the target program is the task of the Pass II

Implementation of locks, How could we implement locks? No matter how we cho...

How could we implement locks? No matter how we choose to implement them, we must have some hardware support. One possibility for implementing locks on a uniprocessor machine is is

Explain the circumstances under which os use mutexes, Q. Give the reasons ...

Q. Give the reasons why Windows XP, Solaris and Linux implement multiple locking mechanisms. Explain the circumstances under which they use mutexes, spinlocks, semaphores, adaptiv

Memory pages, Applications allocate memory in terms of the number of bytes ...

Applications allocate memory in terms of the number of bytes that they need, but this level of granularity is too ?ne-grained for the operating system to manage the system memory i

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