Файл: 1. Основные режимы работы операционной системы Критерии эффективности вычислительной системы.ppt

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 42

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Мультипрограммирование

1. Основные режимы работы операционной системы

Критерии эффективности вычислительной системы.

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

Мультипрограммирование (многозадачность, multitasking) – способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняется сразу несколько программ.

Мультипрограммирование призвано повысить эффективность использования вычислительной системы согласно выбранным критериям.

Критерии эффективности вычислительных систем и соответствующие типы ОС

Пакетные ОС

Цель: повышение пропускной способности вычислительной системы

Концепция мультипрограммирования: минимизация простоев процессора за счет его переключения на выполнение другой задачи.

Тип решаемых задач: в основном вычислительного характера, не требующие быстрого получения результатов.

Схема функционирования:

Следствие: невозможно гарантировать выполнение конкретного задания в течение заданного периода времени.

Рассмотрим схему работы мультипрограммной пакетной ОС на примере совмещения во времени операций ввода-вывода и вычислений

Это происходит за счет того, что задача может быть готова к выполнению (как задача А по истечении 4-х единиц времени на рис. б), но процессор занят выполнением другой задачи.

Такой режим повышает эффективность функционирования аппаратуры, но снижает эффективность работы пользователя.

Системы разделения времени

Цель: предоставление пользователю (пользователям) возможности интерактивной работы одновременно с несколькими приложениями.

Концепция мультипрограммирования: разделение времени, или циклическое поочередное выделение кванта процессорного времени каждому приложению.

Тип решаемых задач: задачи, ориентированные на решение в интерактивном режиме (периодически требующие участия пользователя).

Общая схема функционирования представлена на рисунке:

Схема функционирования ОС в режиме разделения времени

Системы реального времени

Цель: управление техническими объектами (станком, спутником, ядерным реактором и т.п.) или процессами (доменным процессом и т.п.).

Концепция мультипрограммирования: выбор программы для выполнения по прерыванию (исходя из текущего состояния объекта) или согласно расписанию плановых работ.

Тип решаемых задач: задачи управления в реальном режиме времени.

Общая схема функционирования

Мультипрограммная смесь представляет собой фиксированный набор заранее составленных программ. Выбор программы для выполнения осуществляется согласно складывающейся ситуации управления (см. выше).

Исходя из того, что требует и что получает пользователь от современной ОС, можно сделать следующие утверждения:

1. Прежде всего, качественно изменились критерии эффективности использования вычислительной системы.

5. Режим разделения времени присутствует безусловно во всех настольных и серверных ОС в усовершенствованном виде – выделение квантов времени задаче с учетом ее приоритета.

Для современных ОС схема выполнения задач может выглядеть примерно следующим образом (для наглядности процессы A и B конкретизированы).

Мультипрограммирование и мультипроцессорная обработка

Кратко мультипрограммирование – одновременное выполнение нескольких задач на одном процессоре.

Мультипроцессорная обработка (мультипроцессирование) – одновременное выполнение нескольких задач на нескольких процессорах, входящих в одну вычислительную систему.

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

2. Понятие процесса и потока

Примеры процессов:

Понятию «поток», таким образом, соответствует некоторая последовательность команд программы в процессе ее выполнения.

Поток – это единица работы внутри процесса.

Уточнение

Создание процессов и потоков. Дескриптор и контекст процесса

Управление процессами состоит в их создании и уничтожении; приостановлении и возобновлении; изменении приоритета; переключении состояний.

При управлении процессами ОС использует два основных типа информационных структур:

Дескриптор содержит:

Это:

- состояние аппаратуры компьютера:

Создать процесс – это означает:

Состояния процесса (потока)

В мультипрограммной системе процесс может находиться в одном из трех основных состояний:

Типичный граф состояний потока приведен на рис. 4.

Мультипрограммирование


Учебные вопросы:

1. Основные режимы работы операционной системы

2. Понятие процесса и потока

1. Основные режимы работы операционной системы

Критерии эффективности вычислительной системы.

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

Мультипрограммирование (многозадачность, multitasking) – способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняется сразу несколько программ.

Мультипрограммирование призвано повысить эффективность использования вычислительной системы согласно выбранным критериям.

Критерии эффективности вычислительных систем и соответствующие типы ОС


Критерий

эффективности

Смысл критерия

Тип ОС

Пропускная

способность

Количество задач, выполняемых системой в единицу времени

Системы

пакетной

обработки

Удобство

работы

пользователей

Возможность интерактивной работы одновременно с несколькими приложениями на одной машине

Системы

разделения

времени

Реактивность системы

Способность выдерживать заранее заданные интервалы времени между запуском программ и получением результата (реакция за время не более заданного)

Системы

Реального

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

  • Пакетные ОС
  • Системы разделения времени
  • Системы реального времени

Пакетные ОС

Цель: повышение пропускной способности вычислительной системы

Концепция мультипрограммирования: минимизация простоев процессора за счет его переключения на выполнение другой задачи.

Тип решаемых задач: в основном вычислительного характера, не требующие быстрого получения результатов.


Схема функционирования:

Формируется пакет заданий, каждое из которых содержит требования к системным ресурсам. Из пакета формируется мультипрограммная смесь, т.е. множество задач для одновременного выполнения. Для этого выбираются задачи, предъявляющие разные требования к ресурсам, так, чтобы обеспечивалась сбалансированная нагрузка всех устройств вычислительной машины (например, в смеси должны присутствовать задачи вычислительного характера задачи с интенсивным вводом-выводом). Выбор очередного задания для выполнения зависит от складывающейся в системе ситуации – это должно быть «выгодное» с точки зрения загрузки задание.

Следствие: невозможно гарантировать выполнение конкретного задания в течение заданного периода времени.

Рассмотрим схему работы мультипрограммной пакетной ОС на примере совмещения во времени операций ввода-вывода и вычислений


Ввод-вывод

Вычисления

TB = 5

A

A

B

B

A

B

TA +B =11

TA = 6

TB = 6

A

A

B

B

A

B

TA +B = 8

TA = 7

A

B

Вычисления

Ввод-вывод

Готовность

(ожидание

процессора)

а

б

Схема выполнения двух задач:

в однопрограммной системе (а)

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

Это происходит за счет того, что задача может быть готова к выполнению (как задача А по истечении 4-х единиц времени на рис. б), но процессор занят выполнением другой задачи.

Такой режим повышает эффективность функционирования аппаратуры, но снижает эффективность работы пользователя.

Системы разделения времени

Цель: предоставление пользователю (пользователям) возможности интерактивной работы одновременно с несколькими приложениями.

Концепция мультипрограммирования: разделение времени, или циклическое поочередное выделение кванта процессорного времени каждому приложению.

Тип решаемых задач: задачи, ориентированные на решение в интерактивном режиме (периодически требующие участия пользователя).

Общая схема функционирования представлена на рисунке:


Схема функционирования ОС в режиме разделения времени


1

2

3

…..

n-1

n

Очередь

приложений

Процессор

Время между циклами обслуживания одного приложения

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

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

Пропускная способность системы меньше, чем при пакетной обработке, за счет «навязанной извне» очередности задач и затрат на переключение процессора. Тем не менее аппаратура загружается лучше, чем в однопрограммном режиме, так как процессор не простаивает во время ожидания сообщения пользователя, а может обрабатывать другие приложения.

Системы реального времени

Цель: управление техническими объектами (станком, спутником, ядерным реактором и т.п.) или процессами (доменным процессом и т.п.).

Концепция мультипрограммирования: выбор программы для выполнения по прерыванию (исходя из текущего состояния объекта) или согласно расписанию плановых работ.

Тип решаемых задач: задачи управления в реальном режиме времени.

Общая схема функционирования

Мультипрограммная смесь представляет собой фиксированный набор заранее составленных программ. Выбор программы для выполнения осуществляется согласно складывающейся ситуации управления (см. выше).

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

Исходя из того, что требует и что получает пользователь от современной ОС, можно сделать следующие утверждения:


1. Прежде всего, качественно изменились критерии эффективности использования вычислительной системы.

2. Для пользователей настольных ОС это в первую очередь необходимость решения имеющегося класса задач максимально удобным для пользователя образом. Вопросы производительности в смысле оптимального использования аппаратных ресурсов рассматриваются в последнюю очередь. В общем случае загрузка процессора невелика (порядка 1-2%) не из-за плохого планирования, а из-за отсутствия задач, требующих процессорного времени. Совмещение задач преследует цель не повышения производительности, а одновременного выполнения нескольких действий (за исключением ограниченных классов задач). 4. Можно сказать, что от пакетных ОС частично унаследовано совмещение ввода-вывода и процессорной обработки и выбор задач на выполнение самой системой согласно определяемым ею же приоритетам. Режим в чистом виде принадлежит истории.

5. Режим разделения времени присутствует безусловно во всех настольных и серверных ОС в усовершенствованном виде – выделение квантов времени задаче с учетом ее приоритета.

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

Для современных ОС схема выполнения задач может выглядеть примерно следующим образом (для наглядности процессы A и B конкретизированы).


. . . . .

архивация

проверка памяти

проверка

запись на диск

чтение файлов

Процесс A

(архивация)

Процесс B

(антивирус)

A

A

A

A

A

A

B

B

A

B

A

B

A

B

B

A

B

A

B

A

A

B

A

A

Работа

процессора

Рис. 3. Примерная схема мультипрограммной обработки двух задач с квантованием времени

Мультипрограммирование и мультипроцессорная обработка

Кратко мультипрограммирование – одновременное выполнение нескольких задач на одном процессоре.

Мультипроцессорная обработка (мультипроцессирование) – одновременное выполнение нескольких задач на нескольких процессорах, входящих в одну вычислительную систему.


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

При мультипрограммной обработке в процессоре в каждый момент времени выполняется только одна программа, а одновременная обработка нескольких программ осуществляется за счет параллельной работы разных устройств (см. рис. 1, 2). Параллельная обработка задач на процессоре – лишь видимость.

2. Понятие процесса и потока

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

Примеры процессов:

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

Понятию «поток», таким образом, соответствует некоторая последовательность команд программы в процессе ее выполнения.

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

Поток – это единица работы внутри процесса.

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

Уточнение

В многопоточных системах выполняемой единицей является поток