The concept of process-parallel computing, Computer Engineering

Assignment Help:

The Concept of Process

Informally, a method is a program in execution, behind the program has been loaded in the main memory. However, a method is more than just a program code. A process has its own value of program counter, address space, threads, and temporary variables, file handles, security attributes, return addresses etc.

Each process has a life cycle, which consists of execution, creation and termination phases.  A process may create numerous new processes, which in turn may also make a latest process. In UNIX operating system surroundings, a new process is shaped by fork system call. Process creation needs the subsequent four actions:

i)  Setting up the process description: Setting up the process description need the design of a Process Control Block (PCB). A PCB includes basic data such as, process status, owner, description of the allocated address space, process identification number, and much other implementation dependent process explicit information essential for process management.

ii) Allocating an address space:  There are only two ways to allocate address space to processes: allocating separate space to each process or sharing the address space among the created processes

iii) Loading the program into the allocated address space: The executable program file is fully loaded into the allocated memory space.

iv) Passing the process description to the process scheduler:  Once, the three steps ofProcess formation as mention above are finished, the information gathered through the above-mentioned steps is sent to the process scheduler who allocate processor(s) resources to many competing to-be-executed processes queue.

The process execution phase is guarded by the process scheduler. Process scheduling may be per thread or per process. The process scheduling engage three concepts: state transition, process state, and scheduling policy.

A process may be in one of the following states:

(1)   Running: The process is being implemented on a multiple processors or Single processor.

(2)   New: The process is being formed.

(3)   Ready: The process is prepared to be executed if a processor is accessible.

(4)   Waiting: The process is coming up for some event to happen.

(5)   Terminated: The process has complete execution.

At the time, a process may be in some one of the above mentioned states. As soon as the process is declare into job queue, it goes into equipped state. When the process scheduler transmits the process, its state become running. If the process is completely executed then it is terminated and we say that it is in final state. However, the process may go back to complete state due to some interrupts or may go to ahead of you state due to some I/O activity. When I/O activity is ended it may go to ready state. The state transition diagram is shown in Figure 1:

                                        935_The Concept of Process.png

The scheduling policy may be also pre-emptive or non pre-emptive. In pre-emptive policy, the process can be interrupted. Operating systems have dissimilar scheduling policies. For example, to select a process to be implemented, one of the best scheduling policy may be: First In First Out (FIFO).When the process completed execution it is ended by system calls like abort, releasing all the allocated resources.


Related Discussions:- The concept of process-parallel computing

Pros and cons of assembly language, Pros and Cons of Assembly Language ...

Pros and Cons of Assembly Language The following are a number of advantages / disadvantages of employing assembly language: Assembly Language offers more control over ha

Programming, how can compare alphabates of two words in c programming ?????...

how can compare alphabates of two words in c programming ?????

Example of structural hazards - computer architecture, Example of Structura...

Example of Structural hazards - computer architecture: A machine has shared a single-memory pipeline for instructions and data. As a consequence, when an instruction which con

Software engineering - layered technology, S oftware Engineering - Layered...

S oftware Engineering - Layered Technology Although various authors have developed personal definitions of software engineering, a definition given by Fritz Bauer at the semin

What is pipelining, What is pipelining? It is a method of decomposing a...

What is pipelining? It is a method of decomposing a sequential process into sub-operations, with each sub-process being implemented in a special dedicated segment that operates

Determine how simulation can be developed, Determine how Simulation can be ...

Determine how Simulation can be developed To determine how a simulation can be developed for use in a real situation the below illustration has been chosen. Scenario chosen is

Cohesion assignments, what can be different assignments given on this topic...

what can be different assignments given on this topic?

What is managed code and managed data, What is managed code and managed dat...

What is managed code and managed data? Managed code is code that is written to target the services of the Common Language Runtime. In order to target these services, the code m

Communications between the user and the server, Communications between the ...

Communications between the user and the server A significant enhancement was achieved when communications between the user and the server was sent in encrypted form and later

Write a pseudo code to find sum of two functions, Q. Write a pseudo code to...

Q. Write a pseudo code to find sum of two functions? Let's write a pseudo code to find sum of two functions f(A) + f(B). In first algorithm we will not use locking. Process

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