|
500 | 500 | \item \emsl{shared memory} \dots{} passing data between processes, |
501 | 501 | brings similar problems as shared files, the solution is to use semaphores. |
502 | 502 | \item \emsl{message queues} \dots{} provide both communication and |
503 | | -synchronization (waiting for message to arrive) |
| 503 | +synchronization (waiting for message to arrive) |
504 | 504 | \item IPC means have \emsl{access rights} (for reading/writing) similarly to |
505 | 505 | files for owner, group and others. |
506 | 506 | \end{itemize} |
|
509 | 509 | \begin{itemize} |
510 | 510 | \item IPC resources continue to exist even after the process that created them |
511 | 511 | is no longer around. To destroy them it is necessary to explicitly request this. |
512 | | -From the shell the list of IPS resources can be acquired using |
| 512 | +From the shell the list of IPS resources can be acquired using |
513 | 513 | the \texttt{ipcs} command. They can be deleted using the \texttt{ipcrm} command. |
514 | 514 | The state and contents of existing IPS resources is unchanged even if no process |
515 | 515 | works with them at the moment. |
516 | | -\item For more information, see \texttt{svipc(7)} man page on any Linux distro. |
| 516 | +\item For more information, see \texttt{svipc(7)} man page on any Linux |
| 517 | +distribution. |
517 | 518 | \end{itemize} |
518 | 519 |
|
519 | 520 | %%%%% |
|
524 | 525 | \item introduced by E. Dijkstra |
525 | 526 | \item semaphore is data structure that contains: |
526 | 527 | \begin{itemize} |
527 | | - \item non-negative integer \texttt{i} (free capacity) |
| 528 | + \item non-negative integer \texttt{i} (free capacity) |
528 | 529 | \item process queue \texttt{q}, that wait for free capacity |
529 | 530 | \end{itemize} |
530 | | -\item semaphore operations: |
| 531 | +\item semaphore operations: |
531 | 532 | \begin{description} |
532 | 533 | \item [init(s, n)]~\\ |
533 | 534 | empty \texttt{s.q; s.i = n} |
|
0 commit comments