Unix process api, Operating System

Assignment Help:

Unix process API

The two most important function calls to use when programming with several processes are fork and exec:

 fork() creates a copy of current process. It gives a different return value to each process and works based on Copy On Write;

 exec() replaces a process with an executable.

(The Windows CreateProcess(...), taking ten arguments, is analogous.)

Notice that fork() implies that each process descends from another process. In fact, in Unix everything descends from a single process called init: basically, init forks a process and then "replaces its code" with, say, the code of bash, using exec().

Example of how to use fork:
#include
#include
#include
int parentid = getpid();
char program_name[1024];
gets(program_name); // reads the name of program we want to start
int cid = fork();
if (cid==0) { // i'm the child
execlp(program_name, program_name, 0); // loads the program and runs it
printf("if the above worked, this line will never be reached\n");
}
else { // i'm the parent
sleep (1); // give my child time to start
waitpid(cid, 0, 0); // waits for my child to terminate
print("program %s finished\n", program_name);
}
Is the sleep(1) call necessary to allow the child process to start? The answer is no, it is not at all necessary. In general, if you think you need to sleep in a program, you are probably doing something wrong, and just slowing down your program. The call to waitpid() is a blocking wait, and will ?rst wait to let the child process start (if it hasn't already), then will wait until it ends.


Related Discussions:- Unix process api

Explain deadlock avoidance, Deadlock Avoidance It's a method to evade ...

Deadlock Avoidance It's a method to evade deadlock by careful resource scheduling. This approach to the deadlock problem foresees deadlock before it actually occurs. This a

Describes attributes, What are attributes? Attributes are the one, whic...

What are attributes? Attributes are the one, which explains the properties of data object.

Computer organisation, basic advantage of using interrupt initiated data tr...

basic advantage of using interrupt initiated data transfer over transfer under program control without an interrupt

Operating system strectures, with the aid of diagrams describe the followin...

with the aid of diagrams describe the following os structures monolithic , layered, client server

Determine a critical section is a program segment, Determine a critical sec...

Determine a critical section is a program segment  Critical section is where shared resources are accessed

Activities of operating system-secondary-storage management, Q. What are th...

Q. What are the three main activities of an operating system in regard to secondary-storage management? Answer: 1) Free-space management 2) Storage allocation 3) Disk

What advantages are there to this two-level directory, What advantages are ...

What advantages are there to this two-level directory? Users are isolated from each other. Users have more freedom in choosing file names.

Disk scheduling algorithms-first come, FCFS (First Come, First Served) Per...

FCFS (First Come, First Served) Perform operations in order requested No reordering of work queue No starvation every demand is serviced Poor performance

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

What do you mean by best fit, What do you mean by best fit? Best fit al...

What do you mean by best fit? Best fit allocates the smallest hole that is big sufficient. The entire list has to be searched, until it is sorted by size. This strategy creates

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