Назначение и функции операционной системы. Операционные системы для автономного компьютера. Функциональные компоненты операционной системы автономного компьютера.
Операционная система компьютера - комплекс взаимосвязанных программ, который действует как интерфейс между приложениями и пользователями с одной стороны, и аппаратурой компьютера с другой стороны. В соответствии с этим определением ОС выполняет две группы функций:
- предоставление пользователю или программисту вместо реальной аппаратуры компьютера расширенной виртуальной машины, с которой удобней работать и которую легче программировать;
- повышение эффективности использования компьютера путем рационального управления его ресурсами в соответствии с некоторым критерием.
Функции операционной системы автономного компьютера обычно группируются либо в соответствии с типами локальных ресурсов, которыми управляет ОС, либо в соответствии со специфическими задачами, применимыми ко всем ресурсам. Иногда такие группы функций называют подсистемами. Наиболее важными подсистемами управления ресурсами являются подсистемы управления процессами, памятью, файлами и внешними устройствами, а подсистемами, общими для всех ресурсов, являются подсистемы пользовательского интерфейса, защиты данных и администрирования.
Сетевые операционные системы. Функциональные компоненты сетевой ОС. Одноранговые и серверные сетевые операционные системы. Требования к современным операционным системам.
Сетевая ОС: во-первых, как совокупность ОС всех компьютеров сети и, во-вторых, как ОС отдельного компьютера, способного работать в сети.
- Средства управления локальными ресурсами компьютера реализуют все функции ОС автономного компьютера (распределение оперативной памяти между процессами, планирование и диспетчеризацию процессов, управление процессорами в мультипроцессорных машинах, управление внешней памятью, интерфейс с пользователем и т. д.);
- Сетевые средства, которые, в свою очередь, можно разделить на средства предоставления локальных ресурсов и услуг в общее пользование (серверная часть ОС), средства запроса доступа к удаленным ресурсам и услугам (клиентская часть ОС) и транспортные средства ОС, которые совместно с коммуникационной системой обеспечивают передачу сообщений между компьютерами сети.
В одноранговых сетях все компьютеры равны в возможностях доступа к ресурсам друг друга, на всех компьютерах устанавливается такая ОС, которая предоставляет всем компьютерам в сети потенциально равные возможности (с клиентской и серверной частями).
В сетях с выделенными серверами используются специальные варианты сетевых ОС, которые оптимизированы для работы в роли серверов и называются серверными ОС. Пользовательские компьютеры в этих сетях работают под управлением клиентских ОС. Специализация операционной системы для работы в качестве сервера является естественным способом повышения эффективности серверных операций. Клиентские ОС в сетях с выделенными серверами обычно освобождены от серверных функций, что значительно упрощает их организацию.
Выполнение ОС основных функций эффективного управления ресурсами и обеспечение удобного интерфейса для пользователя и прикладных программ — главное требование. Современная ОС, как правило, должна поддерживать мультипрограммную обработку, виртуальную память, свопинг, многооконный графический интерфейс пользователя и т. д. Далее:
- Расширяемость. Дополнения и изменения должны вноситься без нарушения целостности системы. Расширяемость достигается за счет модульной структуры кода ОС.
- Переносимость. В идеале код ОС должен легко переноситься между процессорами и аппаратными платформами. Переносимые ОС имеют несколько вариантов реализации для разных платформ, такое свойство ОС называют также многоплатформенностъю.
- Совместимость. Существует несколько «долгоживущих» популярных операционных систем (разновидности UNIX, MS-DOS, OS/2, ...), для которых наработана широкая номенклатура приложений. Если ОС имеет средства для выполнения прикладных программ для других ОС – она обладает совместимостью с этими ОС. Следует различать совместимость на уровне двоичных кодов и совместимость на уровне исходных текстов. Понятие совместимости включает также поддержку пользовательских интерфейсов других ОС.
- Надежность и отказоустойчивость. Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. Ее действия должны быть всегда предсказуемыми, а приложения не должны иметь возможности наносить вред ОС. Прежде всего это определяется архитектурными решениями, положенными в ее основу, а также качеством ее реализации (отлаженностью кода). Кроме того, важно, включает ли ОС программную поддержку аппаратных средств обеспечения отказоустойчивости, таких, например, как дисковые массивы или источники бесперебойного питания.
- Безопасность. ОС должна защищать данные и другие ресурсы системы от несанкционированного доступа, то есть как минимум иметь в своем составе средства аутентификации — определения легальности пользователей, авторизации — предоставления легальным пользователям различных прав доступа к ресурсам, аудита — фиксации всех «подозрительных» для безопасности системы событий. Особенно это важно для сетевых ОС.
- Производительность. Операционная система должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяет аппаратная платформа. На производительность ОС влияет много факторов, такие как архитектура ОС, многообразие функций, качество программирования кода, возможность исполнения ОС на высокопроизводительной (многопроцессорной) платформе.