Difference between threads and processes, Operating System

Assignment Help:

Difference between threads and processes

1. Thread is flow of implementation. Process is group of instruction which is alike to that of a program except which may be stopped and started by the OS itself.    

2. A Thread is a single sequence stream in a process but process is an execution of program and program contain set of instructions.

3.  Process is able to contain multiple threads.

4.  Threads aren't independent like process.

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

6.  Threads are designed to support one another and process might or not might be assisting on one another.

7.  Different process cannot work under same memory location and they have their own individual working memory segment. Threads are able to work under same memory area even they can access any memory location.

8.  Processes have the transparency 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.

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

10.  Process is a term used to explain the execution of a sequential program .A thread is a point of implementation within the process.

Regard as a system of process of 3 processes p0 through p2 and 4 resource types A,B,C,D. Resource kind A has 4 instances, B has 2 instances, resource C has 3 instances  and D has 1 instances. Assume that, at time T0, we have the subsequent resource-allocation state. Notice whether there is any deadlock.

 

           Current Allocation Matrix      Request Matrix     Available Vector   Existing Vector

               (C)                                      (R)                     (A)                         (E)   

                   A  B  C  D               A  B  C  D                      A  B  C  D          A  B  C  D                                                    

            P0   0   0  1  0                 2   0  0  1                   2  1   0  0            4  2   3  1                                          

            P1   2   0  0  1                 1   0  1  0                                                   

            P2   0   1  2  0                 2   1  0  0        

 

                       p2 requests 2  1  0  0

                      After p2 finishes execution   A = 2  1  0  0 +

                                                                  0  1  2  0           gives    2  2  2  0

 

                      p1 requests 1  0  1  0

                      After p1 finishes execution   A = 2  2  2  0 +

                                                                  2  0  0  1          gives    4  2  2  1

 

                      p0 requests   2  0  0  1

                      After p0 finishes execution   A = 4  2  2  1 +

                                                                    0  0  1  0                gives   4  2  3  1  

 

Thus there is no dead lock during the allocation of resources.

 


Related Discussions:- Difference between threads and processes

Memory management, example of first fit best fit and worst fit

example of first fit best fit and worst fit

Advanced synchronization, Synchronization serves two purposes: 1) to ensure...

Synchronization serves two purposes: 1) to ensure safety for updates on shared data (e.g. to avoid races conditions), and 2) to coordinate and order actions taken by threads (e.g.

Protection scheme in unix, Q. Consider a system that holds 5000 users. Pre...

Q. Consider a system that holds 5000 users. Presume that you want to allow 4990 of these users to be able to access one file. a. How would you denote this protection scheme in

Define an assembly language, Define an assembly language  Assembly lan...

Define an assembly language  Assembly language stands for a Low level programming language

Briefly explain the process management in unix., Briefly explain the proces...

Briefly explain the process management in UNIX. UNIX makes use of the easy but powerful process facility that is visible to the user. UNIX follows the model in which the majori

Dynamic scheduling, Dynamic scheduling : The number of thread in a program...

Dynamic scheduling : The number of thread in a program may be changed during the course of operation. Dynamic priority scheduling is a kind of scheduling algorithm in which the pr

Develop the material requirements plan, The following information is availa...

The following information is available for three MPS (Master Product Scheduling) items: Product A                            An 80 unit order is to be started in Week 3.

Important system components, Organizational, Structural, Logical and Execut...

Organizational, Structural, Logical and Execution Relationships Between Important System Components in Linux Kernel Subsystems A. Description of the Project You are require

Diehard allocator - custom allocators, Allocators can also be used to avoid...

Allocators can also be used to avoid problems with unsafe languages. C and C++ are pervasive, with huge amounts of existing code. They are also memory-unsafe languages, in that 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