How to submit a standout Adobe Champion Application
Process creation and termination In Operating System
1. Process creation and termination
Agenda of Lecture
• Why and how process are created
• Resource Sharing
• Execution
• Address Space
• System Calls
2. Process Creation
• Tree Hierarchy
Question: When a child Process is created ,
whether the child process will share info with
their parent process and how its execution
might be?
3. Resource Sharing
They may settle three arrangements
1. Parent and children share all resources
2. Child and parent share subset of resources
3. They may share no resources
4. Execution
Parent has created a child Process how their
execution will go on
1. Parent stops waiting for child to finish itself
2. Either they perform simultaneously
3. Either parents end and child continues
5. Unix & Linux
Unix / Linux Parent and child Process
Question: If they both look the same and usually
if both the process of the same are running
what will be the need of it to run?
6. Unix & Linux ( Parent –Child)
System calls:
Fork() To create a child Process
Exit() To terminate a child Process
Wait() Parent Process wait for a child
Process
Exec() Process overwrites itself with
another executable program
8. Process Termination
Reasons:
• The allocated resources to the child has been
exceeded
• Parent Process has created lots of child
Process
• Child Process was created for a purpose
whose task is completed
9. System Calls ……
• Fork()
When the fork system call is executed a new
process is created which consist of copy of the
parent process
The mechanism allows parent process to
communicate easily with the child
Synopsis:
#include <sys/types.h>
#include<unistd.h>
Pid_ t fork(void)
10.
11.
12.
13.
14.
15.
16.
17. Wait()
• A process created a child process , process
calls wait(), until a child process is terminated
the parent process will remain in waiting
state.
• Synopsis for wait system call
#include <sys/types.h>
#include <sys/wait.h>
pid_t wait(int *stat_loc);
18. Exec()
• A process that calls EXEC() it will overwrite
itself with another executable
• There is no return value
• Synopsis of execlp() is given as
• #include <unistd.h>
• int execlp (const char *file, const,char *arg0,
...,const char *argn,(char *)Null);
21. Producer Consumer Problem
• Over view of the Problem
We may have processes which produce
something, we place them some where
(file/main memory) and then there are
processes who will consume these things .
The place where these items are placed can be
bounded on unbounded
22. Bounded Buffer consumer problem
• We call space a buffer which is bounded.
• Process that creates an item place it in an
array slot called producer process
• Process that consume the created item is
called consumer problem
23. Buffer
• Buffer can be filled and empty .
If producer produce item at faster rate then
consumer consumption then it may get full. In
this case if the producer another item then it
will have to wait
If the buffer is empty then the consumer is
consuming at faster rate then producing so
then the consumer will have to wait.
24. General Problem Description
• We have fixed size buffer ,two processes(
Producer and Consumer ) .Producer produce
the item. Place it in the right full place in the
buffer updates the index variable for the next
item to place. Similarly index maintain the
index variable which points to the next item to
be consumed.
27. Inter Process Communication
• The agenda is based on parent and child
process communication.
• Channels required for communication
• Properties of channels for different
communication
• System calls ( Read and write )
28. Operation for IPC
• Operation Send
A process will send something to another
process
• Operation Receive
A process will receive something form the
sender process
Message that is sent may be unlimited or
bounded in terms of bytes
30. Communication Channels
• Provide medium of communication
• Both communication means employ medium of
communication
• Few question to understand………
a) How the channels are establish?
b) How we may link two processes
c) How many channels a cooperating process
have?
d) What is the capacity of the channels?
e) Is the link is bidirectional or unidirectional?
31. Direct Communication
• In direct Communication links are establish
automatically
• Between each pair there would be one link
• Link may be unidirectional or bidirectional
Name of the process
Message
32. Indirect Communication
• Sender or receiver doesn’t name to sender
process or receiver process and vice versa
• Example Mail Box
• It is only possible if the process share the
same mail box ( Channel)
33. Issues with indirect communication
• We have three processes P1, P2 and P3.P1
sends a message and P2,P3 are the receiver.
Which Process will receive the message?
When the linux is booted the first process that is created is init Process. After creating init Process by using fork system call multiple Process are run.The running Process provides user certain use as per system requirements.
All the system Processess that run in the background to provide services to the user are called demon. ( Printer demon, Page demon)
Kernel Reaction to the failure: Error Number
Zombie Process:
The default directory in which this header file reside : /user/include/sys/
The wait system call require an integer pointer what it returns is a type of PID _ t
Whenever the exec is called the last argument will be Null pointer
Char pointer file: path name of the executable that needs to be over written
Arg 0: last component of the file name
~/courses/cs604/program/prog.1
Arg 1-N: contents of command line until it hits the null pointer
/bin/ls : absolute name of the executable that we like to over write by this current process .
In solution II the problem arise of Process synchronization
For Send and receive in various operating system we have read and write system calls.