Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОЛНЫЕ ОТВЕТЫ ОС.docx
Скачиваний:
94
Добавлен:
21.09.2019
Размер:
782.97 Кб
Скачать

9. Понятия: задание, процесс, поток. Планирование и диспетчеризация потоков.

Программа – статический объект на носителе информации, содержащий инструкции и команда для ЭВМ.

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

Составная часть процесса – поток.(наименьшая единица обработки, назначенная ОС)

Задача – процесс, состоящий из одного потока.

Переход от выполнения одного потока к другому осуществляется при помощи планирования и диспечерезации.

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

Планирование потоков

1)Определение момента времени для смены текущего активного потока.

2)Выбор потока для выполнения из очереди готовых потоков.

Виды планирования потоков:

а) Динамический

Решения принимаются во время работы системы, на основе анализа текущей ситуации. Требует значительного количества ресурсов(on-line)

б)Статический

Используется в специализированных системах.(например в системах реального времени) решения планирования принимаются до начала работы системы (off-line)

Диспетчеризация – заключается в реализации найденного в результате планирования (динамич. или статич.) решения, т.е. в переключение процессора с одного потока на другой.

Перед переключением на выполнение нового потока ОС запоминает контекст текущего.

Контекст - информация о состояние ПК в момент прерывания потока:

  • Флаги регистров(значения)

  • Значение счетчика команд

  • Режим работы процессора

  • Регистры общего назначения

  • Ссылки на открытые файлы

  • Коды ошибок

  • Данные об операциях ввода-вывода

Действия при диспетчеризации:

1)Сохранение контекста текущего потока(который требуется сменить)

2)загрузка контекста нового потока

3)запуск нового потока на выполнение

  1. Состояния существования процесса. Графы состояний потоков.

Состояние потока:

1)Выполнение

Активное состояние потока, во время которого поток обладает всеми необходимыми ресурсами, и непосредственно выполняется процессором

2)Готовность

Пассивное состояние, в котором поток заблокирован внешними причинами (поток обладает всеми ресурсами, но не имеет доступа к процессору)

3)Ожидание

Пассивное состояние потока, при котором он заблокирован внутренними обстоятельствами (не обрабатывается процессором и не имеет ресурсов)

Типичный граф состояния потока

Алгоритмы планирования потоков:

  1. Не вытесняющие – активный поток выполняется, пока сам не передаст управление ОС (для загрузки следующего потока)

  2. Вытесняющая – решение о переключение с потока на поток принимает ОС.а не активной задачей.

11. Алгоритмы диспетчеризации. Способ выбора процесса для диспетчеризации

Диспетчеризация процессора – распределение его времени между процессами в системе. Цель диспетчеризации – максимальная загрузка процессора, достигаемая с помощью мультипрограммирования.

Исполнение любого процесса можно рассматривать как цикл CPU / I-O – чередование периодов использования процессора и ожидания ввода-вывода.

Алгоритмы планирования, основанные на квантовании

В основе многих вытесняющих алгоритмов планирования лежит концепция квантования. В соответствии с этой концепцией каждому потоку поочередно для выполнения предоставляется ограниченный непрерывный период процессорного времени — квант. Смена активного потока происходит, если:

  •  поток завершился и покинул систему;

  •  произошла ошибка;

  •  поток перешел в состояние ожидания;

  •  исчерпан квант процессорного времени, отведенный данному потоку.