- •1)Основные функции операционных систем, сред и оболочек
- •2) Классификация ос
- •3) Требования к современным ос
- •4) Мультипрограммирование и распределение ресурсов
- •5) Понятие процессов и потоков
- •6) Алгоритмы планирования процессов и потоков
- •7) Синхронизация процессов
- •9) Функции ос по управлению памятью
- •10) Виртуализация памяти. Классы виртуальной памяти
- •11) Кэширование данных
3) Требования к современным ос
Суть требований к функциональности ОС состоит в управлении ресурсами и обес-
печении интерфейса пользователя и прикладных программ.
Помимо этого, к операционным системам предъявляется целый ряд важных эксп-
луатационных требований.
· Расширяемость – возможность внесения изменений без нарушения целостности
системы. Расширяемость достигается за счет модульной структуры ОС: программы
строятся из набора отдельных модулей, взаимодействующих только через функцио-
нальный интерфейс.
· Переносимость. В идеале код ОС должен легко переноситься с процессора одного
типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную
платформу другого типа. Поскольку переносимые ОС имеют несколько вариантов реали-
зации для разных платформ, это свойство называют также многоплатформенностью.
· Совместимость. Если ОС имеет средства для выполнения прикладных программ,
написанных для других операционных систем, то она обладает совместимостью с эти-
ми ОС. Различают: совместимость на уровне двоичных кодов (исполняемых программ);
на уровне исходных текстов; поддержку пользовательских интерфейсов других ОС.
· Надежность и отказоустойчивость. Система должна быть защищена от внут-
ренних и внешних ошибок, сбоев и отказов. Ее действия должны быть предсказуемы,
а приложения не должны иметь возможности наносить вред ОС.
Эти свойства обеспечиваются архитектурными решениями, положенными в осно-
ву ОС, качеством их реализации (отлаженностью кода) и программной поддержкой
аппаратных средств обеспечения отказоустойчивости (например, источников беспе-
ребойного питания).
· Безопасность. Заключается в защите данных и других ресурсов от несанк-
ционированного доступа. Обеспечивается средствами аутентификации (опреде-
ления легальности пользователя), авторизации (предоставления дифференци-
рованных прав доступа к ресурсам), аудита (фиксации «подозрительных» с точ-
ки зрения безопасности событий).
· Производительность – настолько хорошее быстродействие и время реакции, на-
сколько это позволяет аппаратная платформа. Определяется архитектурой ОС, много-
образием функций, качеством кода, возможностью использования высокопроизводитель-
ной аппаратной платформы.
4) Мультипрограммирование и распределение ресурсов
Главные сложности при решении задач управления ресурсами возникают в муль-
типрограммных ОС, где за ресурсы конкурирует сразу несколько приложений.
Мультипрограммирование (многозадачность, multitasking) – способ организации
вычислительного процесса, при котором на одном процессоре попеременно выполня-
ется сразу несколько программ. Эти программы одновременно используют и другие
ресурсы компьютера. Мультипрограммирование призвано повысить эффективность
использования вычислительной системы согласно выбранным критериям. Однако тре-
бования к современным вычислительным системам столь многозначны, что любая
совокупность критериев изменяется (размывается, переосмысливается либо вообще
уходит в историю), следуя за изменениями в сфере информационных технологий.
Поэтому приведем сложившийся набор критериев с последующим их анализом пере-
ходом к реально наличествующей ситуации.
В зависимости от реализуемого критерия ОС подразделяются на типы, каждый из
которых имеет свою специфику реализации и область применения.
Ниже приведены наиболее характерные критерии эффективности вычислитель-
ных систем и соответствующие типы ОС. Некоторые ОС могут поддерживать одновременно несколько режимов: часть задач может выполняться в режиме пакетной обработки, часть – в режиме реального
времени или в режиме разделения времени. Пакетные ОС.
Цель: повышение пропускной способности вычислительной системы
Концепция мультипрограммирования: минимизация простоев процессора за счет
его переключения на выполнение другой задачи.
Тип решаемых задач: в основном вычислительного характера, не требующие бы-
строго получения результатов. Схема функционирования
Формируется пакет заданий, каждое из которых содержит требования к систем-
ным ресурсам. Из пакета формируется мультипрограммная смесь, т.е. множество
задач для одновременного выполнения. Для этого выбираются задачи, предъявляю-
щие разные требования к ресурсам, так, чтобы обеспечивалась сбалансированная
нагрузка всех устройств вычислительной машины (например, в смеси должны при-
сутствовать задачи вычислительного характера задачи с интенсивным вводом-вы-
водом). Выбор очередного задания для выполнения зависит от складывающейся в
системе ситуации – это должно быть «выгодное» с точки зрения загрузки задание.
Следствие: невозможно гарантировать выполнение конкретного задания в тече-
ние заданного периода времени.
Рассмотрим схему работы мультипрограммной пакетной ОС на примере совмеще-
ния во времени операций ввода-вывода и вычислений. Системы разделения времени.
Цель: предоставление пользователю (пользователям) возможности интерактив-
ной работы одновременно с несколькими приложениями.
Концепция мультипрограммирования: разделение времени, или циклическое пооче-
редное выделение кванта процессорного времени каждому приложению.
Тип решаемых задач: задачи, ориентированные на решение в интерактивном ре-
жиме (периодически требующие участия пользователя). Переключение процессора на выполнение очередной задачи осуществляется при-
нудительно операционной системой, но к выполнению принимается каждая запущен-
ная пользователем задача в порядке запуска.
В случае нескольких пользователей каждому из них предоставляется свой тер-
минал. Так как ни одна задача не занимает процессор надолго, время ожидания
ответа системы в интерактивном режиме оказывается приемлемым, а если кван-
ты времени малы, то у всех пользователей складывается впечатление монополь-
ной работы на машине.