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

Microsoft, Discuss the high barriers to entry in the market for PL operatin...

Discuss the high barriers to entry in the market for PL operating systems

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

How is process management done in multiprocessing systems, How is process m...

How is process management done in multiprocessing systems ? There are two accost for the process management in multiprocessor systems. Master-slave configuration Sy

What is meant by the term affinity in processor sheduling, Question: (a...

Question: (a) Answer the following questions based on the code snippet below. 1. int main (int argc, char *argv[]) 2. { 3. 4. pid_t processId; 5. 6. processId =

Explain the fork-join, Explain the Fork-join This is primitives in a hi...

Explain the Fork-join This is primitives in a higher level programming language for implementing interacting processes. The syntax is like this: fork ; join ; where

Define request edge and assignment edge, Define request edge and assignment...

Define request edge and assignment edge. Answer:  A directed edge from process Pi to resource type R j is denoted by Pi->j; it signifies that process Pi requested an instance

Explain what is file structure, Problem 1. List out the conditions that...

Problem 1. List out the conditions that result in Deadlock situations. Illustrate deadlock situation with a simple graphical notation Listing conditions for deadlock occu

What do you mean by reference counts, Q. If each the access rights to an o...

Q. If each the access rights to an object are deleted the object can no longer be accessed. At this stage the object should also be deleted and the space it occupies should be ret

Blocking locks, We have talked about blocking locks, which voluntarily yiel...

We have talked about blocking locks, which voluntarily yield, and spinlocks, which just spin until they acquire the lock. At ?rst, it seems like spinlocks are verywasteful, and tha

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