This research paper tries to bring a new concept of desktop advertising mechanism by synchronization it with running processes and inter process communication research papers on users’ side. This proposed approach works on basis of inter process communication interaction, scheduling, prioritization, desktop crawling and system calls. 2 million researchers use this site every month. Enter the email address you signed up with and we’ll email you a reset link.
The message was about a computer that we owned. What channel was used to send the message? What was the misunderstanding that occurred? How could the misunderstanding been avoided? Inter-Process Communication, which in short is known as IPC, deals mainly with the techniques and mechanisms that facilitate communication between processes. Now, why do we need special separate mechanisms or techniques for communicating between processes?
Why isn’t it possible to have information shared between two processes without using such special mechanisms? Let us start from something primitive. Imagine you have two glasses completely filled with water. One glass contains hot water and the other contains cold water. What can you do to make the temperature of water in both the glasses equal? The simplest answer will be to mix the water from both the glasses in a glass with much bigger capacity.
Once water is mixed, the temperature becomes equal after some time. We know that some medium or other is required for communication between different processes. Similarly, when it comes to computer programs, we need some mechanism or medium for communication. Primarily, processes can use the available memory to communicate with each other. But then, the memory is completely managed by the operating system. A process will be allotted some part of the available memory for execution. Then each process will have its own unique user space.
The operating system’s kernel, which has access to all the memory available, will act as the communication channel. Similar to our earlier example, where the glass with hot water is one process address space, the glass with cold water is another, and the glass with the larger capacity is the kernel address space, so that we pour both hot water and cold water into the glass with larger capacity. There are different IPC mechanisms which come into use based on the different requirements. In terms of our water glasses, we can determine the specifics of both pouring the water into the larger glass and how it will be used after begin poured. Pipes were evolved in the most primitive forms of the Unix operating system.
They provide unidirectional flow of communication between processes within the same system. In other words, they are half-duplex, that is, data flows in only one direction. A pipe is created by invoking the pipe system call, which creates a pair of file descriptors. These descriptors point to a pipe inode and the file descriptors are returned through the filedes argument.
Let me explain a scenario where we can use the pipe system call: consider a keyboard-reader program which simply exits after any alpha-numeric character is pressed on the keyboard. Create thread for checking hitting of any keyboard key. We have the thread check_hit, which continuously checks for the character in filedes. If the character in filedes is an alpha-numeric character, then the character is printed and the program terminates. One major feature of pipe is that the data flowing through the communication medium is transient, that is, data once read from the read descriptor cannot be read again. Also, if we write data continuously into the write descriptor, then we will be able to read the data only in the order in which the data was written.