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

Computers, What is operating system?

What is operating system?

Explain about time sharing systems, Q. Explain about Time Sharing Systems? ...

Q. Explain about Time Sharing Systems? Time Sharing Systems Multi-programmed batched systems provide an environment where various system resources (for illustration CP

Differences among user-level threads and kernel-level thread, What are two ...

What are two differences among user-level threads and kernel-level threads? Under what circumstances is one type better than the other? (1) User-level threads are unknown by th

Define local procedure call, Q. What kinds of services does the process man...

Q. What kinds of services does the process manager provide? Define local procedure call? Answer: The process manager offers services for creating and deleting and using proce

Any four types of operating system feature and structure, explain any four...

explain any four types of operating system feature and structure(design)

Explain schemes for defining the logical structure, What are the most commo...

What are the most common schemes for defining the logical structure of a directory? The most common schemes for explaining the logical structure of a directory Single-L

Explain about threading issues, Explain about threading issues? The for...

Explain about threading issues? The fork and exec system calls In a multithreaded program of few UNIX systems have chosen to have two versions of fork, one that duplicates e

Virtual memory, How a virtual memory can be implemented? What are the benef...

How a virtual memory can be implemented? What are the benefits of using virtual memory?

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