Классификация мультипрограммных операционных систем
ТЕМА 2. УПРАВЛЕНИЕ РЕСУРСАМИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Важнейшей функцией операционной системы является организация рационального использования всех ее ресурсов: процессоров, памяти, внешних устройств, данных и программ. Особенно эта задача актуальна в мультипрограммных операционных систем, в которых за ресурсы конкурируют сразу несколько приложений.
Цель темы – раскрыть принципы функционирования современных операционных систем по управлению ресурсами вычислительных систем.
В результате изучения темы обучаемые должны усвоить:
· Понятие мультипрограммирование. Назначение процессов и потоков, планирование и диспетчеризация потоков в современных операционных системах.
· Назначение прерываний и их классификацию.
· Основные алгоритмы распределения оперативной памяти между процессами.
· Понятие виртуальной памяти и ее использование в современных операционных системах.
· Принципы кэширования данных.
· Назначение и функции контроллеров и драйверов устройств ввода-вывода данных.
· Правила организации внешней памяти на магнитных дисках. Задачи низкоуровневого и высокоуровневого форматирования жесткого диска.
· Принципы функционирования современных файловых систем.
· Механизм контроля доступа к объектам, реализуемый в современных операционных системах.
Оглавление
ТЕМА 2. УПРАВЛЕНИЕ РЕСУРСАМИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ 1
2.1. Мультипрограммирование. 2
2.1.1. Классификация мультипрограммных операционных систем.. 2
2.1.2. Управление процессами и потоками.. 5
2.1.3. Мультипрограммирование на основе прерываний.. 8
2.2. Управление памятью.. 10
2.2.1. Адресация к памяти.. 10
2.2.2. Классификация алгоритмов распределения памяти.. 12
2.2.3. Страничное распределение памяти.. 14
2.2.4. Сегментное распределение памяти.. 17
2.3. Кэширование данных. 19
2.3.1. Иерархия запоминающих устройств в компьютере. 19
2.3.2. Кэш-память. 20
2.3.3. Отображение основной памяти на кэш.. 22
2.4. Управление вводом-выводом.. 23
2.4.1. Контроллеры и драйверы.. 23
2.4.2. Организация внешней памяти на магнитных дисках. 27
2.4.3. Файловые системы и системы управления файлами.. 32
2.5. Современные файловые системы.. 34
2.5.1. Файловая система FAT. 34
2.5.2. Файловая система NTFS.. 37
2.5.3. Особенности файловых систем, используемых в UNIX.. 42
2.6. Доступ к разделяемым ресурсам.. 43
2.6.1. Механизм контроля доступа. 44
2.6.2. Организация контроля доступа в операционных системах Windows 2000/XP 48
Выводы.. 55
Вопросы для самопроверки. 56
Мультипрограммирование
Мультипрограммирование, или многозадачность –это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ, совместно использующих все ресурсы компьютера. Мультипрограммирование призвано повысить эффективность использования вычислительной системы.
Классификация мультипрограммных операционных систем
В зависимости от выбранного критерия эффективности операционные системы делятся на системы пакетной обработки, системы разделения времени и системы реального времени.
В системах пакетной обработки критерий эффективности – максимальная пропускная способность компьютера, то есть решение максимального числа задач в единицу времени.
Достигается это за счет минимизация простоев всех устройств компьютера и прежде всего центрального процессора.
Системы пакетной обработки предназначены для решения задач в основном вычислительного характера, не требующих быстрого получения результатов.
Для одновременного выполнения формируется пакет, в который выбираются задачи, предъявляющие разные требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной системы. Выбор нового задания из пакета для его выполнения зависит от текущей ситуации в вычислительной системе, т. е. выбирается самое выгодное для системы задание, которому необходимы ресурсы, наиболее свободные в данный момент.
Переключение процессора с выполнения одной задачи на выполнение другой задачи происходит по инициативе самой активной задачи, например, когда она отказывается от процессора из-за необходимости выполнить операцию ввода-вывода. Поэтому существует высокая вероятность того, что одна задача может надолго занять процессор и выполнение интерактивных задач станет невозможным.
Следовательно, в вычислительной системе, работающей под управлением пакетной ОС, невозможно гарантировать выполнение того или иного задания в определенный период времени. Однако общее время выполнения пакета задач часто оказывается меньше, чем суммарное время их последовательного выполнения.
Операционные системы с пакетной обработкой используются в компьютерах типа мэйнфреймов, процессорное время которых относительно дорого. Работа таких ОС повышает эффективность функционирования аппаратуры, но снижает эффективность работы пользователей.
В системах разделения времени критерий эффективности – повышение удобства работы пользователей, которые могут интерактивно работать одновременно с несколькими приложениями на одной машине.
Для этого каждому приложению попеременно выделяется одинаковый квант времени. Таким образом, пользователи, запустившие программы на выполнение, получают возможность поддерживать с ними диалог. Если квант времени выбран небольшим, то у всех пользователей складывается впечатление, что каждый из них единолично использует машину.
Такие системы обладают меньшей пропускной способностью, чем системы с пакетной обработкой и применяются для многотерминальных или многооконных компьютеров, то есть в большинстве универсальных ОС.
В системах реального времени критерий эффективности – реактивность системы, то есть ее способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата.
В таких системах мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется по прерываниям или в соответствие с расписанием плановых работ.
Операционные системы реального времени применяются в специализированных компьютерах, например, управляющих каким-то технологическим процессом.
Не следует путать мультипрограммирование с мультипроцессорной обработкой. В мультипрограммных системах в процессоре в каждый момент времени выполняется только одна программа (процесс), то есть параллельность выполнения задач имеет общий характер. В мультипроцессорных системах разные задачи могут действительно параллельно выполняться на разных процессорах.
Мультипроцессорные системы различаются архитектурой на симметричную и ассиметричную.
В симметричной архитектуре все процессоры однородны и пользуются одной и той же оперативной памятью, поэтому располагаются в одном корпусе.
При этом вычислительный процесс может быть реализован двумя способами: симметричным и асимметричным мультипроцессированием. Симметричное мультипроцессирование реализуется общей для всех процессоров операционной системой. Все процессоры равноправно участвуют и в управлении вычислительным процессом, и в выполнении прикладных задач.
В случае отказа одного из процессоров системы с симметричным мультипроцессированием, как правило, сравнительно легко реконфигурируются, что является их большим преимуществом.
Асимметричное мультипроцессирование предполагается выделение одного из процессоров в качестве «ведущего», на котором работает операционная система, и который управляет всеми остальными «ведомыми» процессорами. Такая операционная система проще, чем на основе симметричного мультипроцессирования.
В ассиметричной архитектуре процессоры могут различаться как своими характеристиками, так и своей функциональной ролью в системе. Например, одни процессоры предназначены для работы в качестве основных вычислителей, другие – для управления подсистемой ввода-вывода, третьи – еще для каких-то целей. При этом вычислительный процесс может быть организован только путем асимметричного мультипроцессирования. На основе ассиметричной архитектуры строятся кластерные системы.
Большинство современных персональных компьютеров тоже можно считать многопроцессорными и построенными по ассиметричной архитектуре. У них есть один центральный процессор, на котором работает операционная система, и специализированные процессоры – видеоадаптера, аудиоадаптера и другие, выполняющие самостоятельные задачи.