Требования к современным операционным системам

Современные операционные системы отвечают требованиям постоянно развивающегося аппаратного и программного обеспечения. Они способны управлять работой мультипроцессорных систем, сетевых компонентов и т.д. Из приложений, оказавших влияние на устройство ОС, следует выделить мультимедийные приложения, средства доступа в Интернет, а также клиент – серверную модель организации сети. Отличительной особенностью большинства ОС является монолитное ядро, обеспечивающее большинство ее возможностей, включая планирование, работу с файловой системой, сетевые функции, работу драйверов устройств, управление памятью. Монолитное ядро реализуется как единый процесс, все элементы которого реализуют одно и тоже адресное пространство. В архитектуре микроядра ядру отводится лишь несколько самых важных функций, работу остальных сервисов обеспечивают процессы, называемые серверами. Такой подход позволяет разделить задачу разработки ОС на разработку ядра и сервера. Микроядерная архитектура упрощает реализацию системы, обеспечивает ее гибкость и хорошо вписывается в распределенную среду. Многопоточность (multithereading) -это технология, при которой процесс, выполняющий приложение, разделяется на несколько одновременно выполняющихся потоков. Для повышения эффективности и надежности систем используется технология симметричной многопроцессорности (symmetric multiprocessing - SMP). Этот термин означает, что данная система имеет несколько процессоров, все они объединены коммуникационной шиной, совместно используют основную память и одни и те же устройства ввода – вывода и могут совместно выполнять одинаковые функции. Одним из последних новшеств стало использование объектно-ориентированных технологий. Данная технология позволяет настраивать операционную систему, не нарушая ее целостности за счет добавления к ядру дополнительных модулей.

Безопасность данных вычислительной системы обеспечивается средствами отказоустойчивости ОС, направленными на защиту от сбоев и отказов аппаратуры и ошибок программного обеспечения, а также средствами защиты от несанкционированного доступа. ОС должна защищать данные и другие ресурсы от взлома. Это достигается за счет использования средств аутентификации и аудита. Эти средства тесно связаны с функциями системного администратора. Так как администратор определяет права доступа пользователей к ресурсам системы и имеет права ограничивать те или иные действия, которые может производить пользователей с доступной ему информацией. Аудит – это фиксация всех событий, от которых зависит безопасность ОС. Например, попытки удачного и неудачного входа в систему, операции доступа к некоторым файлам и каталогам, использование внешних устройств и т.д.Список событий анализируется системным администратором.

Надежность и отказоустойчивость. Система защищена от внутренних и внешних ошибок, сбоев и отказов. Эти свойства определяются архитектурными решениями, положенными в ее основу. Отказоустойчивость предусматривает использование дисковых массивов. Тема организации дисковых массивов будет рассмотрена в одной из тем курса. Особым случаем повышения отказоустойчивости является использование нескольких процессоров (мультипроцессирование). Поддержка отказоустойчивости – одна из функций системного администратора. В состав ОС входят утилиты, позволяющие администратору выполняя операции резервного копирования для обеспечения быстрого восстановления в случае необходимости важных данных.

Кроме этого к операционным системам предъявляются эксплутационные требования, перечисленные ниже:

- Расширяемость. Код ОС должен быть написан таким образом, что дополнения и изменения могут вносится без нарушения целостности системы. Расширяемость достигается за счет модульной структуры ОС - такой, что программы строятся из набора отдельных модулей, взаимодействующих только через функциональный интерфейс. Пример – ОС UNIX.

- Переносимость. Код ОС легко переносится с одной аппаратной платформы на другую.

- Совместимость. ОС имеет средства для выполнения прикладных программ, написанных для других ОС. Разные версии одной и той же ОС обладают совместимостью (разновидности UNIX, Windows 3.1., OS/2 и т.д.)

.