Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interprocess Communication Mechanisms. IPC Signals Pipes System V IPC.

Similar presentations


Presentation on theme: "Interprocess Communication Mechanisms. IPC Signals Pipes System V IPC."— Presentation transcript:

1 Interprocess Communication Mechanisms

2 IPC Signals Pipes System V IPC

3 Signals Signal asynchronous events to one or more processes Oldest IPC method used by UNIX Intel Box –1)SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL – 5) SIGTRAP 6) SIGIOT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALR 15)SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR

4 Signal Processes can ignore most of the signals except SIGSTOP, SIGKILL A process can choose to block, handle or allow kernel to handle it For example, SIGFPE(floating point exception) : core dump and the exit

5 Linux Signals task_struct –Pending signals : signal (32 bits) –A mask of blocked signal : blocked –sigaction array: address of handling routine or a flag to ignore the signal (modified by system calls) Normal process can only send signals to processes with the same uid and gid or to the processes in the same process group

6 Signal Handling Signals are not presented to the process immediately they are generated., they must wait until the process is running again. Every time a process exits from a system call its signal and blocked fields are checked and, if there are any unblocked signals, they can now be delivered

7 Signal Handling Processes can elect to wait for signals if they wish, they are suspended in state Interruptible until a signal is presented The Linux signal processing code looks at the sigaction structure for each of the current unblocked signal

8 Pipe $ls | pr |lpr Linux using two file data structure which point at the same temporary VFS inode (points to a physical page within memory) use standard read/write library function

9 Pipe

10 Named Pipe FIFO created by mkfifo command

11 System V IPC Mechanism Message queues, semaphores and shared memory UNIX System V in 1983

12 Message Queues Allow one or more processes to write messages, which will be read by one or more reading processes msgque --> msqid_ds Linux kernel : wait queue

13 Message Queues

14 Semaphores A semaphore is a location in memory whose value can be tested and set (atomic) by more than one processes Can be used to implement critical regions To prevent deadlock : sem_undo data structure

15 Semaphores

16 Shared Memory Allow one or more processes to communicate via memory that appears in all of their virtual address space shmid_ds data structure

17 Shared Memory


Download ppt "Interprocess Communication Mechanisms. IPC Signals Pipes System V IPC."

Similar presentations


Ads by Google