Part I Answer the following questions 1 What are the differe
Solution
Part 1
1) Shell is a part of Kernel. Shell is used as a interpreter. Interpreter(Shell) Converts commands into low level machine code and the the kernel takes action according to the request by shell. In simple terms shell is a thin layer of interface underlying the OS(Kernel). Shell is wrapper. And shell can be in any form, like file explorer in Windows, Command promt etc. While API\'s are the codes that use System calls to get work done by kernel.
2) Pipes are a source of data exchange between 2 processes, and sometimes output of one process is fed to input of another.
Eg popen and pclose functions.
FILE *popen(const char *command, const char *open_mode)
int pclose(FILE *stream_to_close)
The popen function allows a program to invoke anothe rprogram as a new process and either pass data to it or recieve data from it. The command string in above functions is name of the program to run together with any parameter.
When the process started with popen has finished you can close the file stream associated with it using pclose.
