Управление ресурсами включает решение следующих общих, не зависящих

от типа ресурса задач:

планирование ресурса — то есть определение, какому процессу, когда и в каком количестве (если ресурс может выделяться частями) следует выделить данный ресурс; удовлетворение запросов на ресурсы; отслеживание состояния и учет использования ресурса — то есть поддержание оперативной информации о том, занят или свободен ресурс и какая доля ресурса уже распределена; разрешение конфликтов между процессами.

6.

Управление процессами (ресурсы, синхрон., взаимодействие между, создание и уничтожение), Управление памятью (Механизм виртуальной памяти позволяет программисту писать программу так, как будто в его распоряжении имеется однородная оперативная память большого объема, часто существенно превышающего объем имеющейся физической памяти +Защита памяти+ выделение+swap), Управление файлами и внешними устройствами,

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

■ сетевые средства, в свою очередь, можно разделить на три компонента:

□ средства предоставления локальных ресурсов и услуг в общее пользование — серверная часть ОС;

□ средства запроса доступа к удаленным ресурсам и услугам — клиентская часть ОС;

□ транспортные средства ОС совместно с коммуникационной системой обеспечивают передачу сообщений между компьютерами сети.

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

8.

Модули ядра выполняют базовые функции ОС, связанные с управлением

процессами, памятью, устройствами ввода-вывода и т. п. Именно ядро занимается

переключением контекстов, загрузкой/выгрузкой страниц, обработкой прерываний. Непосредственное выполнение такого рода действий недоступно для

приложений. При необходимости они могут обращаться к ядру с системными

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

программирования — API.

Функции, отнесенные в ведение ядра, являются наиболее часто используемыми

функциями операционной системы, поэтому скорость их выполнения определяет

производительность системы в целом.

Обычно ядро оформляется в виде программного модуля некоторого специального

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

Ядро является движущей силой всех вычислительных процессов в компьютерной

системе, и крах ядра равносилен краху всей системы. Поэтому разработчики

операционной системы уделяют особое внимание надежности кодов ядра.

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

функции. Например, к таким модулям могут быть отнесены программы

архивирования данных на магнитной ленте, дефрагментации диска, текстового

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

либо в виде библиотек процедур.

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

группы:

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

компьютерной системы, такие, например, как программы сжатия

дисков, архивирования данных на магнитную ленту;

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

компиляторы, компоновщики, отладчики;

■ программы предоставления пользователю дополнительных услуг — специальный

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

■ библиотеки процедур различного назначения, упрощающие разработку приложений,

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

Наши рекомендации