СИСТЕМА И СПОСОБ ВЫБОРА СИНХРОННОГО ИЛИ АСИНХРОННОГО МЕЖПРОЦЕССНОГО ВЗАИМОДЕЙСТВИЯ

1. Система выбора синхронного или асинхронного межпроцессного взаимодействия, которая содержит:
а) первый процесс, предназначенный для выполнения действий в операционной системе и передающий данные второму процессу с использованием методов межпроцессного взаимодействия;
б) второй процесс, предназначенный для выполнения действий в операционной системе и принимающий данные от первого процесса с использованием методов межпроцессного взаимодействия, тип которого будет выбран динамически на основании решения, вынесенного средством анализа;
в) средство обеспечения межпроцессного взаимодействия, предназначенное для обеспечения синхронного или асинхронного взаимодействия между процессами, а также для выбора асинхронного или синхронного метода межпроцессного взаимодействия;
г) средство анализа, предназначенное для получения от средства обеспечения межпроцессного взаимодействия запроса на проведение исследования оптимального выбора между асинхронным и синхронным типом межпроцессного взаимодействия, запроса средству получения данных от используемого ресурса на получение от последнего свойств, используемых процессами ресурсов и выбора оптимального для текущей задачи типа межпроцессного взаимодействия на основе полученных данных от средства получения данных от используемого ресурса;
д) средство получения данных от используемого ресурса, предназначенное для выдачи средству анализа по его запросу, по крайней мере, одного из свойств ресурса.
2. Система по п.1, в которой в качестве метода межпроцессного взаимодействия выступает по крайней мере один из методов с использованием:
- файла,
- сигнала,
- сокета,
- канала,
- именованного канала,
- семафора,
- разделяемой памяти,
- обмена сообщениями,
- проецируемого в память файла,
- очереди сообщений.
3. Система по п.1, в которой в качестве собираемых данных о состоянии ресурса выступает по меньшей мере одна из следующих характеристик:
- идентификаторы первого и второго процессов,
- тип и объем передаваемых данных,
- идентификаторы ресурсов с которым будут работать процессы,
- наличие информации в кэше ресурса,
- состояние очереди доступа к ресурсу.
4. Система по п.1, в которой в качестве ресурса, используемого процессами выступает по крайней мере один из следующих:
- оперативная память,
- процессорное время,
- сетевая пропускная способность,
- файлы,
- носители информации.
5. Система по п.1, в которой в качестве свойства ресурса, используемого процессами выступает по крайней мере один из следующих:
- наличие требуемой информации, сохраненной ранее в хэше,
- объем свободной оперативной памяти,
- объем свободного места на жестком диске.
6. Способ выбора синхронного или асинхронного межпроцессного взаимодействия, в котором:
а) первый процесс пытается передать данные второму процессу одним из методов межпроцессного взаимодействия,
б) собирают данные о состоянии ресурсов, используемых процессами в межпроцессном взаимодействии,
в) проводят анализ собранных по процессам и ресурсам данные, заключающийся в определении при каком типе передачи данных от первого процесса второму будет достигнут по меньшей мере один из следующих результатов:
- передача будет выполнена за минимальное время,
- передача будет выполнена с максимальным использованием требуемых ресурсов, сводящего к минимуму их простой,
- передача приведет к оказанию минимального влияния на остальные процессы операционной системы,
г) на основании анализа принимают решение о синхронном или асинхронном типе межпроцессного взаимодействия, который будет использован для передачи данных от первого процесса второму.
7. Способ по п.6, в котором в качестве метода межпроцессного взаимодействия выступает по крайней мере один из методов с использованием:
- файла,
- сигнала,
- сокета,
- канала,
- именованного канала,
- семафора,
- разделяемой памяти,
- обмена сообщениями,
- проецируемого в память файла,
- очереди сообщений.
8. Способ по п.6, в котором в качестве собираемых данных о состоянии ресурса выступает по меньшей мере одна из следующих характеристик:
- идентификаторы первого и второго процессов,
- тип и объем передаваемых данных,
- идентификаторы ресурсов с которым будут работать процессы,
- наличие информации в кэше ресурса,
- состояние очереди доступа к ресурсу.