Page 69 - 2578
P. 69

3 Після завершення запису сервер звільнює розподілювану
                            пам’ять за допомогою семафора.
                                4  Клієнт  отримує  доступ  до  розподілюваної  пам’яті  й
                            закриває доступ до ресурсу за допомогою семафора.
                                5 Клієнт читає дані з розподілюваної пам’яті, відкриваючи
                            доступ до ресурсу, використовуючи семафор.
                                Кілька процесів можуть відбивати області розподілюваної
                            пам’яті  на  різні  ділянки  власного  віртуального  адресного
                            простору.  Розподілювана  пам’ять  є  найбільш  швидкий  та
                            найменш ресурсоємний спосіб взаємодії процесів.
                                Сокети  —  це  спеціальні  об’єкти,  які  позначають
                            комунікаційний  вузол,  котрий  забезпечує  приймання  та
                            передавання даних для процесу.

                                Взаємодія  поміж  процесами  за  допомогою  іменованих
                            каналів
                                Назва каналів FIFO походить від абревіатури
                            висловлювання FIRST IN FIRST OUT (перший увійшов,
                            перший вийшов). FIFO є надто схожі на канали, вони є
                            односпрямованим засобом передавання даних, причому
                            читання даних відбувається у тому ж самому порядку, що й
                            записування. На відміну від програмних каналів, вони мають
                            імена, які дозволяють незалежним програмам отримати
                            доступ до цих об’єктів. FIFO є засобом версії UNIX System V і
                            для використання в інших версіях потребують встановлення
                            додаткових бібліотек системних викликів.
                                FIFO є окремим типом файла у файловій системі UNIX
                            (результат виконання команди ls –l покаже символ р у першій
                            позиції). Для створення FIFO використовується системний
                            виклик mkfifo(2):
                                int mkfifo(char  *pathname, int mode),
                                де: pathname — ім’я файла у файловій системі (ім’я FIFO),
                                        mode — прапорці володіння, прав доступу тощо.

                                                           68
   64   65   66   67   68   69   70   71   72   73   74