Автоматизация сбора и первичной обработки информации
69 API в таких системах играет двойную роль: 1. Управление взаимодействием прикладных процессов и системы; 2. Обеспечение непрерывности выполнения кода системы( т.е. отсутствие переключения задач во время исполнения кода системы). Основным преимуществом монолитной архитектуры является ее относительная быстрота работы по сравнению с другими архитектурами. Однако достигается это, в основном, за счет написания значительных частей ОС на ассемблере. Недостатки монолитной архитектуры: 1. Системные вызовы, требующие переключения уровней привилегий (от пользовательской задачи к ядру), должны быть реализованы в API как прерывания или ловушки (специальный тип исключений), что сильно увеличивает время их работы; 2. Ядро не может быть прервано пользовательской задачей. Это может приводить к тому, что высокоприоритетная задача может не получить управления из-за работы низкоприоритетной. Например, низкоприоритетная задача запросила выделения памяти, сделала системный вызов, до окончания которого сигнал активации высокоприоритетной задачи не сможет ее активировать; 3. Сложность переноса на новые архитектуры процессора из-за значительных ассемблерных вставок; 4. Негибкость и сложность развития, т.к. изменение части ядра системы требует его полной перекомпиляции. Архитектура ОС на основе микроядра (модульная архитектура) появилась как попытка убрать узкое место – API и облегчить модернизацию системы и перенос ее на новые процессоры. API в модульной архитектуре играет только одну роль: обеспечивает связь прикладных процессов и специального модуля -менеджера процессов. Однако, теперь микроядро играет двойную роль : 1. Управление взаимодействием частей системы (например, менеджеров процессов и файлов). 2. Обеспечение непрерывности выполнения кода системы (т.е. отсутствие переключения задач во время исполнения микроядра) (рис.4.5). Рис.4.5
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy