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

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

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

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

Добавлен: 11.01.2024

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

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

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

СОДЕРЖАНИЕ

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

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

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

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

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

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

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

Пакетные ОС

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Уточнение

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

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

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

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

Это:

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

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

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

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

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

, поэтому в итоге здесь речь должна идти о планировании потоков. В системах, не поддерживающих потоки, все положения о планировании относятся к процессу в целом. Таким образом, общий термин «планирование процессов» при необходимости должен конкретизироваться в зависимости от рассматриваемой ОС и относиться соответственно либо к потокам (в Windows), либо к процессам (в Unix, MacOS).

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

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

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

  • дескриптор процесса;
  • контекст процесса.

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

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

Это:

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

    • значение счетчика команд; содержимое регистров общего назначения;
    • режим работы процессора;
    • флаги;
    • маски прерываний и др.;
    • - параметры операционной системы:

    • указатели на открытые файлы;
    • информация о незавершенных операциях ввода-вывода;
    • коды ошибок выполняемых процессом системных вызовов и др.

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

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

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

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

    • выполнение – активное состояние, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;
    • ожидание – пассивное состояние; процесс заблокирован, он не может выполняться по своим внутренним причинам, ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;
    • готовность – также пассивное состояние; но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

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


Выполнение

Готовность

Ожидание

Только что созданный процесс

Процесс выбран на выполнение

Процесс завершен или произошла ошибка

Процесс ожидает ввода-вывода (или другого события)

Ввод-вывод завершен (событие произошло)

Процесс вытеснен

Рис. 4. Граф состояний процессов в многозадачной системе

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

В состоянии выполнение в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ожидание и готовность – несколько процессов. Эти процессы образуют очереди ожидающих и готовых процессов соответственно.
Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый элемент списка содержит по крайней мере один указатель на другой элемент, соседствующий с ним в очереди. Такая организация очередей позволяет легко переупорядочивать, включать и исключать процессы, переводить их из одного состояния в другое (удалять из одной и ставить в другую очередь). Рис. 5. иллюстрирует размещение процессов в очереди.
Предположим, что на рисунке изображена очередь готовых к выполнению процессов.

Тогда запланированный порядок выполнения выглядит так: A, B, E, D, C.

A



B



C



D



E



Дескриптор процесса

Ссылка на следующий дескриптор