Организация вычислительных процессов в ЭВМ. Лясин Д.Н - 10 стр.

UptoLike

Составители: 

10
файла будут созданы два и более объекта отображения. В этом случае ис-
пользование одного из подобных объектов приведет к изменению данных в
других, что может привести к потере данных. Для устранения данной про-
блемы рекомендуется при создании (или открытии) файла для дальнейшего
отображения функцией CreateFile устанавливать исключительные права дос-
тупа
к данному файлу (0 в качестве значения параметра dwShareMode). В
этом случае ни один другой процесс не сможет открыть данный файл для
создания второго объекта отображения.
Еще одним удобным механизмом для обмена информацией между
процессами являются каналы. Канал представляет собой совместно исполь-
зуемый участок памяти, в котором процессы могут оставлять сообщения друг
для друга. Механизм создания такого участка скрыт от программиста, но в
его основе лежит уже рассмотренное выше отображение файлов в память.
Концепция обмена данными посредством каналов основана на том, что один
из процессов записывает данные в канал, а другой - считывает их. Таким об-
разом, при работе с каналами программист имеет
возможность использовать
API-функции, обеспечивающие протокол обмена более высокого уровня, чем
при использовании отображения файлов в память.
Канал создается процессом, который называется сервером канала. Сер-
вер управляет каналом все время его жизни. Другие процессы, которые под-
ключаются к уже созданному каналу, называются клиентами. Сервер и
клиент посылают друг другу сообщения, записывая
и считывая их в/из кана-
ла с использованием функций WriteFile и ReadFile. Сервер завершает работу
канала вызовом функции CloseHandle.
Каналы бывают односторонние (входные или выходные), когда данные
можно передавать только в одном направлении, либо от клиента к серверу,
либо от серверу клиенту, и двухсторонние (дуплексные), когда оба процесса
могут как читать, так
и писать информацию в канал. Каналы разделяются
файла будут созданы два и более объекта отображения. В этом случае ис-
пользование одного из подобных объектов приведет к изменению данных в
других, что может привести к потере данных. Для устранения данной про-
блемы рекомендуется при создании (или открытии) файла для дальнейшего
отображения функцией CreateFile устанавливать исключительные права дос-
тупа к данному файлу (0 в качестве значения параметра dwShareMode). В
этом случае ни один другой процесс не сможет открыть данный файл для
создания второго объекта отображения.
     Еще одним удобным механизмом для обмена информацией между
процессами являются каналы. Канал представляет собой совместно исполь-
зуемый участок памяти, в котором процессы могут оставлять сообщения друг
для друга. Механизм создания такого участка скрыт от программиста, но в
его основе лежит уже рассмотренное выше отображение файлов в память.
Концепция обмена данными посредством каналов основана на том, что один
из процессов записывает данные в канал, а другой - считывает их. Таким об-
разом, при работе с каналами программист имеет возможность использовать
API-функции, обеспечивающие протокол обмена более высокого уровня, чем
при использовании отображения файлов в память.
     Канал создается процессом, который называется сервером канала. Сер-
вер управляет каналом все время его жизни. Другие процессы, которые под-
ключаются к уже созданному каналу, называются клиентами.      Сервер    и
клиент посылают друг другу сообщения, записывая и считывая их в/из кана-
ла с использованием функций WriteFile и ReadFile. Сервер завершает работу
канала вызовом функции CloseHandle.
     Каналы бывают односторонние (входные или выходные), когда данные
можно передавать только в одном направлении, либо от клиента к серверу,
либо от серверу клиенту, и двухсторонние (дуплексные), когда оба процесса
могут как читать, так и писать информацию в канал. Каналы разделяются




                                   10