Unix Inter-Process Communication (IPC)

  Home  OS Unix  Unix Inter-Process Communication (IPC)


“Unix IPC frequently Asked Questions in various Unix Inter-Process Communication (IPC) job Interviews by interviewer. The set of Unix IPC interview questions here ensures that you offer a perfect answer to the interview questions posed to you. Get preparation of Unix IPC job interview”



26 Unix Inter Process Communication (IPC) Questions And Answers

4⟩ Please Explain fork() system call?

fork is a system call used for creating child processes of a

parent process.it returns the process id of the created

child process.after that pid(process id ) is checked if it

is negative,it means no child process is created,pid==0

implies the id of the newly created process and pid>0 is the

id of child process given to the parent process.the

statements following fork system call are executed by both

the parent and child process.and one more thing,the parent

and child process have the exact copy of address space but

it exist separately for the two processes.

 137 views

8⟩ Tell me set-user-id is related to (in unix)?

setuid short for set user ID upon execution is Unix access

rights flag that allow users to run an executable with the

permissions of the executable's owner. This is often used to

allow users on a computer system to run programs with

temporarily elevated privileges in order to perform a

specific task. While the assumed user id privileges provided

are not always elevated, at a minimum that is specific.

setuid and setgid are needed for tasks that require higher

privileges than those which a common user has, such as

changing his or her login password. Some of the tasks that

require elevated privileges may not immediately be obvious,

though — such as the ping command, which must send and

listen for control packets on a network interface.

 141 views

9⟩ What is i-node numbers?

File is identified by the I-node number in linux.Kernel uses

inode number to access the file. It is unique for the

perticular filesystem. Inode contains all the information

about the file like , file size, access permissions, time

stamp , uid , gid , pointers to data blocks..etc.

 139 views

11⟩ What is fork()?

Fork system call is used to create a new process. Fork is

called onces and returns twice.It will return 0 to the newly

created process (child process) and process id of child to

the calling process(parent process).

The child process gets copy of parents data, stack and heap

segement.The code segement is common for both.Both the

processes will resume execution from the command next to

fork.Scheduler decide which process to run first.

 166 views

12⟩ What is ln(linking)?

Linking is also two types.

1>Hard link.

2>soft link.

For hard :-

ln <source> <destination>

for softlink :-

ln -s <source> <destnation>

 152 views

16⟩ Explain What is the process id for kernel process?

The Process id are sequentially numbered and the first process id created is ' PID 0', which loads the data structures and resources of Kernel which also forks the next process "INIT" which has the process id '1'.

 145 views

17⟩ What is semaphone?

a semaphor is nothing but a term used in unix for a

variable which acts as a counter.for instance there may be

times when two processes try to access the same file

simultaneously.in this event we must control the access of

the when the other process is accessing

this is done by assigning value to a semaphore.

the value of the semaphore is initialized by the 1st

process when the file is in access by it.when the 2nd

process try to access the file it checks the value of the

semaphore and if it finds the value as initialized it does

not access the file.

 140 views

18⟩ How to write the program on full-duplex communication on bidirectional(e.g using two pipes)?

#include<stdio.h>

#include<stdlib.h>

#include<unistd.h>

#include<sys/ipc.h>

#include<sys/types.h>

int main()

{

int p1[2],p2[2],i;

char buf[5];

pipe(p1);

pipe(p2);

if(fork()==0)

{

printf("n this is child(the input text is text)n");

close(p1[0]);

close(p2[1]);

write(p1[1],"text",5);

read(p2[0],buf,5);

write(1,buf,5);

}

else

{

printf("n this is parent(the output text is text)n");

close(p2[0]);

close(p1[1]);

read(p1[0],buf,5)

for(i=0;i<4;i++)

buf[i]=to upper(buf[i]);

write(p2[1],buf,5)

}

}

 178 views

19⟩ What are the system calls used for process management

The system calls for process management are

Fork() > create child process

Vfork() > create child process (copy-on-write only)

exec() > exec to do a different task

wait() > wait for a process to complete execution

kill() > to send a signal to a process

signal() > to handle a signal

sigaction() > handle signal

exit() > exit from a process execution

_exit() > same as exit() but with out clean up

and many more ................

 129 views

20⟩ Please Describe the initial process sequence while the system boots up?

–Hardware Boot

–Read boot block (block 0) and load to memory

–Transfer control to kernel

–Kernel initialization

–Mount the root file system on / and create

environment for process 0

–Process 0 invokes process 1(init process)

–init process invokes process getty

–gettyinvokes login

 140 views