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



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

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

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

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

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

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

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

Ядро и вспомогательные модули ОС

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:

- ядро — модули, выполняющие основные функции ОС;

- модули, выполняющие вспомогательные функции ОС.

Модули ядра выполняют такие базовые функции ОС, как управление процессами, памятью, устройствами ввода-вывода и т. п. Ядро составляет сердцевину операционной системы, без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций.

В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка станиц, обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами — системными вызовами — для выполнения тех или иных действий, например для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т. д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования — API.

Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями операционной системы, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются резидентными.

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

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

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

Некоторая программа может существовать определенное время как пользовательское приложение, а потом стать частью ОС, или наоборот. Ярким примером такого изменения статуса программы является Web-браузер компании Microsoft, который сначала поставлялся как отдельное приложение, затем стал частью операционных систем Windows NT 4.0 и Windows 95/98.

Вспомогательные модули ОС подразделяются на группы:

- утилиты — программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных на магнитную ленту;

- системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;

- программы предоставления пользователю дополнительных услуг — специальный вариант пользовательского интерфейса, калькулятор и даже игры;

- библиотеки процедур различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т. д.

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

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

Рисунок 3.2 Взаимодействие между ядром и вспомогательными модулями ОС

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

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

 


Дата добавления: 2018-05-09; просмотров: 1524; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!