КОМПЬЮТЕРЫ |
Структурная схема СМД представлена на следующем рисунке. Физический доступ к РВС осуществляется с УК через некоторый аппаратный интерфейс.
Программную поддержку доступа через аппаратный интерфейс обеспечивает драйвер режима ядра ОС УК. Библиотеки обеспечивают логический доступ к БМ: запись и чтение регистров контроллеров, сегментов памяти, подачу команд сброса, пуска, останова и другие команды.
Основным компонентом СМД является программа BMServer (далее сервер). Сервер является основным управляющим многопоточным приложением, обеспечивающим работу с пользователями, разделение канала (аппаратного интерфейса) между ними, реализацию прикладных протоколов доступа, и несущим другие вспомогательные функции. Сервер функционирует на УК, загружается автоматически при запуске ОС и монопольно владеет каналом доступа к БМ.
Сервер использует драйвер и библиотеки описанные выше для доступа к БМ и состоит из основных компонентов: диспетчера БМ, БД пользователей, менеджера канала и протокола BMAP.
Диспетчер БМ обеспечивает распределение базовых модулей между пользователями по их запросам, реализует очереди запросов и, при необходимости, возможность захвата базовых модулей, минуя очереди. При подключении очередного пользователя диспетчер БМ проверяет имя и пароль в БД пользователей. Диспетчер реализует серверную часть протокола прикладного уровня BMCP (base modules capture protocol).
Менеджер канала реализует процедуру разделения канала между несколькими потребителями. Процедура разделения основана на приоритетах потребителей, значения приоритетов хранятся в БД пользователей и устанавливаются администратором.
Сервер также реализует серверную часть протокола BMAP (base modules access protocol). Протокол BMAP является протоколом прикладного уровня и обеспечивает удаленный вызов процедур доступа к БМ, таких как запись и чтение регистров контроллеров памяти, сегментов памяти, подача команд сброса, пуска, останова и других команды.
Клиентская часть СМД представляет собой программу BMClient и библиотеку логического доступа.
Программа BMClient предназначена для захвата и освобождения модулей пользователем, получение информации о текущем состоянии модулей. Программа BMClient реализует клиентскую часть протокола BMCP и взаимодействует с менеджером БМ сервера.
На следующем рисунке представлен пример экранной формы программы BMClient.
Поле "Сервер" задает ip-адрес host-машины, на которой запущен сервер и подключены базовые модули.
Поле "Имя" задает имя пользователя для подключения к серверу.
Поле "Пароль" задает пароль пользователя для подключения к серверу.
Кнопка "Соединить" осуществляет подключение к серверу.
Поле управления базовыми модулями предназначено для выполнения команд захвата и освобождения модулей, получения информации о текущем состоянии модулей.
После указания ip-адреса сервера, имени пользователя и пароля необходимо нажать
кнопку "Соединить". Результат операции соединения отобразится строкой в нижнем
левом углу формы. В случае успешного соединения элементы управления bm0..bm7 будут
отображать текущее состояние БМ (занят, свободен, очередь). Состояния модулей
указаны ниже.
- БМ в системе не установлен;
- БМ свободен, для захвата необходимо
нажать на элемент управления;
- БМ занят другим пользователем, имя
пользователя, занимающего БМ, указано в скобках; для постановки запроса в очередь
необходимо нажать на элемент управления. При приходе вашей очереди будет выдано
сообщение "bm... передан в управление";
- БМ занят вами, для освобождения модуля
необходимо нажать на элемент управления;
- при установке мыши на элемент управления
на секунду отображается очередь пользователей.
Библиотека логического доступа (сетевая версия) предназначена для программного доступа к ресурсам выделенных программой BMClient базовых модулей по протоколам прикладного уровня BMAP и BMCP. Библиотека логического доступа является единственной библиотекой, используемой прикладными программами для доступа к модулям и их ресурсам. Такие программы как загрузка конфигурации, отладчик, система тестов и управляющие программы задач используют библиотеку логического доступа.
© Лаборатория Параллельных информационных технологий НИВЦ МГУ