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 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

#title.Kernal, Ask questiWhat is dispatcheron #Minimum 100 words accepted#

Ask questiWhat is dispatcheron #Minimum 100 words accepted#

Define loader that executed when system is first turned on, Define a loader...

Define a loader that is executed when a system is first turned on or restarted? Bootstrap loader is executed when a system is first turned on or restarted

What is the sequence of a page fault causes to occur, A page fault causes t...

A page fault causes the following sequence to occur. 1. Trap (shut in) to the operating system. 2. Save the process registers and process state. 3. Verify that the interr

Management Information Systems, Select any business process within this fir...

Select any business process within this firm, describe it as a set of steps then fill the following table (flow, information, sender and receivern #Minimum 100 words accepted#

How is memory management done using bit maps?, How is memory management don...

How is memory management done using bit maps? A bit map is here in this we signify the bit value as 0 or 1. 1-hole 0-process In this we are able to represent the proce

Explain deadlock, Explain Deadlock Every process in a set of processes ...

Explain Deadlock Every process in a set of processes is waiting for an event which only a process in the set can cause.

Explain virtual file systems, Virtual file systems The file-system exec...

Virtual file systems The file-system execution having of three major layers. The first layer is the file-system interface, based on the open, read, write and close calls and fi

Explain the sequence of messages in rpc mechanism, Q. Once more considering...

Q. Once more considering the RPC mechanism consider the exactly once semantic. Does the algorithm for implementing this semantic implement correctly even if the ACK message back to

Network operating system and a distributed operating system, Problem: (...

Problem: (a) (i) Explain what a single system image is and how it is related to the concept of a distributed operating system? (ii) What are the main differences between a

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