What are the differences between process and thread, Operating System

Assignment Help:

What are the differences between process and thread?

The fundamental difference between a process and a thread is that a process has an entire copy of the program to itself and thus consumes quite a bit of memory. A thread is nothing but a separate implementation context within a single program every thread shares all the memory with the other threads with the exception of just a small amount of per-thread memory so that the operating system can keep track of the execution context of each thread.

In practice several more threads can run on a given amount of memory than the same number of processes, for the reason that each individual thread uses much less memory. As well, operating systems be able to handle significantly more threads than individual processes because multi-threading is typically much more efficient. I.e. the amount of CPU time per thread is lesser than the amount of time per process.

Creating an individual thread is as well a much faster and less memory intensive task than creating a new process. Therefore, programs which destroy and create threads quickly will be much faster and more efficient than programs that create and destroy processes quickly. by individual threads for separate tasks is so much more efficient than using separate processes

From the Unix point of view it may be different for a given language all threads of a same process share the same address space the code from one of them can access to a variable of another. This isn't true for processes: if one seeks to access to another's memory Unix will kill him.

1) Threads aren't independent like process.

2) All threads are able to access every address in the task unlike process.

3) Threads are designed to help one another and process might or not might be assisted     on one another.

4) Thread is nothing but flow of implementation whereas process is nothing but a group of instructions which is similar to that of a program except which may be stopped and started by the OS itself.

5) Different processes cannot work under same memory location. They have their personal individual working memory segment. But the threads are able to work under the same memory area. Even they are able to access any memory location.

 6) Procedure has the overhead of making all the work within it orderly and as well sum up them. However threads are done for a single unit of task only and at completion their work is all over

7). Multiple processes need the resources explicitly to work with. They are least apprehensive about the sharing them that is why when a system implements a multi process system it is expensive as compared to multi-threaded system  because the threads have excellent strategy to share the things.

8) One process is able to run on more than one thread.


Related Discussions:- What are the differences between process and thread

Define the dosexit function used in the os/2, Define the DosExit Function u...

Define the DosExit Function used in the OS/2 DosExit(action, resultCode)  DosExit function is to be called when a thread or process is finished executing. If EXIT_THREAD is

What are the three major purposes of an operating system, Q. What are the t...

Q. What are the three major purposes of an operating system? Answer: To offers an environment for a computer user to execute programs on computer hardware in a conveni

Explain the exit (status) function, Explain the Exit (status) Function  ...

Explain the Exit (status) Function  Exit function causes the calling process to be terminated. Actually, all file descriptors are immediately closed but the process is   not

Pstree, Construct a process tree similar to Figure 1. Look up the Linux com...

Construct a process tree similar to Figure 1. Look up the Linux command pstree -p and describe what it does. Then type in the command the capture the output.

Determine the requiring variables on the scope of a thread, Determine the R...

Determine the Requiring Variables on the Scope of a Thread It is very common in server application programs to require variables on the scope of a thread. To provide such a sco

What kernel provide for an effective user level thread, 1. What must a kern...

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 th

Explain page-replacement algorithms, Q. Consider the following page-replac...

Q. Consider the following page-replacement algorithms. Rank the algorithms on a five-point scale from "bad" to "perfect" according to their page-fault rate. Detach those algorithm

Shell scripting, A friend has promised to log in at a particular time. Howe...

A friend has promised to log in at a particular time. However, he needs to be contacted as soon as he logs in. The shell script checks after every minute whether he has logged in o

Choice of operating systems to boot from, Q. How could a system be designed...

Q. How could a system be designed to allow a choice of operating systems to boot from? What would the bootstrap program need to do? Answer: Delieve a system that would like to

Transferring files from windows to unix, Transferring files from Windows to...

Transferring files from Windows to Unix Be very careful transferring files from Windows to Unix. If you do transfer a file from Windows to Unix open the file, in Unix, using vi

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