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

Главным требованием, предъявляемым к операционной системе, является вы­полнение ею основных функций эффективного управления ресурсами и обеспечение удобного интерфейса для пользователя и прикладных программ. Совре­менная ОС, как правило, должна поддерживать мультипрограммную обработку, виртуальную память, свопинг, многооконный графический интерфейс пользова­теля, а также выполнять многие другие необходимые функции и услуги. Кроме этих требований функциональной полноты к операционным системам предъяв­ляются не менее важные эксплуатационные требования, которые перечислены ниже.

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

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

Совместимость. Существует несколько «долгоживущих» популярных опера­ционных систем (разновидности UNIX, MS-DOS, Windows 3.x, Windows NT, OS/2), для которых наработана широкая номенклатура приложений. Некото­рые из них пользуются широкой популярностью. Поэтому для пользователя, переходящего по тем или иным причинам с одной ОС на другую, очень при­ влекательна возможность запуска в новой операционной системе привычно­го приложения. Если ОС имеет средства для выполнения прикладных про­грамм, написанных для других операционных систем, то про нее говорят, что она обладает совместимостью с этими ОС. Следует различать совместимость на уровне двоичных кодов и совместимость на уровне исходных текстов. По­нятие совместимости включает также поддержку пользовательских интер­фейсов других ОС.


Надежность/ отказоустойчивость. Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. Ее действия должны быть всегда предсказуемыми, а приложения не должны иметь возможности наносить вред ОС. Надежность и отказоустойчивость ОС прежде всего опре­деляются архитектурными решениями, положенными в ее основу, а также ка­чеством ее реализации (отлаженностью кода). Кроме того, важно, включает ли ОС программную поддержку аппаратных средств обеспечения отказо­устойчивости, таких, например, как дисковые массивы или источники беспе­ребойного питания.

Безопасность. Современная ОС должна защищать данные и другие ресурсы вычислительной системы от несанкционированного доступа. Чтобы ОС обла­дала свойством безопасности, она должна как минимум иметь в своем составе средства аутентификации — определения легальности пользователей, автори­зации — предоставления легальным пользователям дифференцированных прав доступа к ресурсам, аудита — фиксации всех «подозрительных» для безопас­ности системы событий. Свойство безопасности особенно важно для сетевых ОС. В таких ОС к задаче контроля доступа добавляется задача защиты дан­ных, передаваемых по сети.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: