Unix Inter-Process Communication (IPC) Interview Questions & Answers

  1. Question 1. How To Get Or Set An Environment Variable From A Program?

    Answer :

    • To get environment variable execute getenv();
    • To set environment variable execute setenv();

     

  2. Question 2. What Are The System Calls Used For Process Management?

    Answer :

    This should not allow to increase process priority.

  3. Python Interview Questions

  4. Question 3. Predict The Output Of The Following Program Code?

    main()

    {

    fork();

    printf(“hello World!”);

    }

    Answer :

    Output : prints Hello world Hello world.

    All the statements after the call to fork() will be executed twice

  5. Question 4. Explain Fork() System Call?

    Answer :

    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.

  6. Python Tutorial

  7. Question 5. What Are Various Ids Associated With A Process?

    Answer :

    • Real User id, Effective User Id, saved user id.
    • Real Group id, Effective Group Id, saved Group id.
  8. UNIX/XENIX Interview Questions

  9. Question 6. Explain The Initial Process Sequence While The System Boots Up?

    Answer :

    While booting, special process called the ‘swapper’ or ‘scheduler’ is created by the Process-ID 0. The swapper manages memory allocation for processes and influences CPU allocation. The swapper in turn creates 3 children: the process dispatcher, vhand, etc…

  10. Question 7. Tell Me Set-user-id Is Related To (in Unix)?

    Answer :

    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.

  11. Socket.IO Tutorial
    Red Hat Linux Essentials Interview Questions

  12. Question 8. What Is The Condition Required For Dead Lock In Unix System?

    Answer :

    deadlock occurs because of :

    1. no preembtion.
    2. circular waiting i.e.. when A process is waiting for the  resources which are held by the procees B,which is waiting for the resources engaged by process A.
  13. Question 9. What Is I-node Numbers?

    Answer :

    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.

  14. Red Hat Linux System Administration Interview Questions

  15. Question 10. Max Relax-able Permission Value With Out Giving Write Permission To Others?

    Answer :

    chmod 755

  16. GDB Debugger Tutorial

  17. Question 11. What Is Fork()?

    Answer :

    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.

  18. CorelDRAW Interview Questions

  19. Question 12. Explain Linking Across Directories?

    Answer :

    It’s possible through both symbolic and hard links. However, hard links are only possible if both source and destination belong to the same volume.

  20. Python Interview Questions

  21. Question 13. What Is The Very First Process Created By Kernel?

    Answer :

    The first process in Unix is INIT.

  22. Unix/Linux Tutorial

  23. Question 14. What Is The Process Id For Kernel Process?

    Answer :

    zero(0)

  24. Question 15. What Is Semaphone?

    Answer :

    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.

  25. Java-Multithreading Interview Questions

  26. Question 16. How To Write The Program On Full-duplex Communication On Bidirectional(e.g Using Two Pipes)?

    Answer :

    #include
    #include
    #include
    #include
    #include
    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)
    }
    }

  27. Unix socket Tutorial

  28. Question 17. What Are The System Calls Used For Process Management:

    Answer :

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

  29. Socket Programming Interview Questions

  30. Question 18. Describe The Initial Process Sequence While The System Boots Up?

    Answer :

    • 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
  31. UNIX/XENIX Interview Questions

  32. Question 19. What Is Ipc? What Are The Various Schemes Available?

    Answer :

    Inter Process Communication. IPC is used to pass information between two or more processes.Schemes are pipes, shared memory & semaphore.

    Below are the different IPC methods:

    1. Semaphores
    2. FIFO’s (Also called Named Pipes)
    3. Message Queues
    4. Shared Memory
  33. Question 20. How Do You Execute One Program From Within Another?

    Answer :

    By calling system call fork() to create child process which handles the other.

  34. UNIX Memory Management Interview Questions

  35. Question 21. What Is An Advantage Of Executing A Process In Background?

    Answer :

    There are two main advantage :

    1. you can use console to execute your command.
    2. More importantly if one is connected through remote console and as there is no controlling terminal attached to background process even if your terminal get disconnected the process continues (with help of nohup in shell script or by using setsid in C)
  36. Question 22. What Happens When We Execute A Unix Command?

    Answer :

    When command is given then unix os will fork the shell i.e will creat a new process and will execute the command using exec command…something like suppose you gave command “ls” in the shell then…

    fork();

    exec(ls);

    It will give you the result and after this the child process will die.

  37. Question 23. What Is Daemon?

    Answer :

    The processes like vhand, bdflush, sched are housed in kernel file or /unix system which are known as daemons. These files run in the background without users request.These are created when the system boots up and remains active till it shut down or hang. These are not linked to any user or any terminal .We can’t kill a daemon.

  38. Unix/Linux Interview Questions

  39. Question 24. Explain A Zombie?

    Answer :

    A system that has been taken over using Remote Control Software. Zombies are often used to send spam or to attack remote servers with an overwhelming amount of traffic (a Distributed Denial of Service Attack).

  40. Red Hat Linux Essentials Interview Questions