Co-operation
Co-operation:
Concurrent
processes executing in the operating system allows for the processes to
cooperate (both mutually and unfavorable) with other processes. Processes are
cooperating if they can affect each other. The simplest one example of how this can
happen is where two processes are using the same file. One process may be
writing to a file, while another process is reading from the file so, what is
being read may be affected by what is being written. Processes cooperate by
sharing data. Cooperation is important for several reasons:
·
Information
sharing: Several processes may need to access the
same data (such as stored in a file.)
Computation
speedup: A task can often be run faster if it is
broken into subtasks and distributed among different processes. For example - Consider a web server which may be
serving many clients. Each client can have their own process or thread helping
them. This allows the server to use the operating system to distribute the computer’s
resources, including CPU time, among the many clients.
·
Modularity:
It may be easier to organize a complex task into separate subtasks and then
have different processes or threads running each subtask. For example, a single
server process dedicated to a single client may have multiple threads
running-each performing a different task for the client.
·
Convenience:
An individual user can run several programs at the same time, to perform some
tasks. For example, a network browser is open while the user has a remote
terminal program running (such as telnet), and a word processing program
editing data.
Cooperation between processes requires mechanisms that allow processes to communicate data between each other and synchronize their actions, so they do not harmfully interfere with each other. The purpose of this note is to consider ways that processes can communicate data with each other, called Intercrosses Communication.
Comments
Post a Comment
Thank you for message