Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Тема_2.ppt
Скачиваний:
209
Добавлен:
11.04.2015
Размер:
3 Мб
Скачать
☆

Поток на уровне пользователя НЕДОСТАТКИ:

системный вызов блокирует не только работающий поток, но и все потоки того процесса, к которому он относится;

приложение не может работать в многопроцессорном режиме, так как ядро закрепляет за каждым процессом только один процессор;

при запуске одного потока ни один другой поток а рамках одного процесса не будет запущен пока первый добровольно не отдаст процессор;

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

71

Операционные системы

Поток на уровне ядра

Процессы

Потоки

Пространство пользователя

Ядро

Таблица

Таблица

 

процессов

потоков

72

Операционные системы

Поток на уровне ядра

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

Вместо этого есть единая таблица потоков, отслеживающая все потоки в системе.

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

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

73

Операционные системы

Поток на уровне ядра

ДОСТОИНСТВА:

возможно планирование работы нескольких потоков одного и того же процесса на нескольких процессорах;

реализуется мультипрограммирование в рамках всех процессов (в том числе одного);

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

процедуры ядра могут быть многопоточными.

НЕДОСТАТКИ:

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

74

Операционные системы

Потоки и их модели

С целью совмещения преимуществ реализации потоков на уровне пользователя и на уровне ядра были оправданы многие способы смешанной реализации.

Один из методов заключается в использовании управления ядром и последующем мультиплексировании потоков на уровне пользователя.

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

75

Операционные системы

2.5.Планирование заданий, процессов и потоков

1.Виды планирования

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

Такими

требованиями

могут

быть

пропускная

способность,

время

отклика,

загрузка процессора и др.

 

 

 

 

 

Операционные системы

 

 

76

 

 

 

 

2.5.Планирование заданий, процессов и потоков

1.Виды планирования

Вид планирования

Долгосрочное

Среднесрочное

Краткосрочное (диспетчериза- ция)

Планирование ввода-вывода

Выполняемые функции

Решение о добавлении задания (процесса) в пул выполняемых в системе

Решение о добавлении процесса к числу процессов полностью или частично размещенных в основной памяти

Решение о том, какой из доступных процессов (потоков) будет выполняться процессором

Решение о том, какой из запросов процессов (потоков) на операцию ввода-вывода будет выполняться свободным устройством ввода-вывода

77

Операционные системы

2.5.Планирование заданий, процессов и потоков

1.Виды планирования

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

Найденное оперативно решение в таких

условиях редко бывает оптимальным.

78

Операционные системы

2.5.Планирование заданий, процессов и потоков

1.Виды планирования

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

В этом случае статический планировщик (или предварительный планировщик) принимает решение не во время работы системы, а заранее (off-line).

79

Операционные системы

2.5.Планирование заданий, процессов и потоков

1.Виды планирования

Результатом его работы является расписание - таблица, в которой указано, какому процессу, когда и на какое время должен быть предоставлен процессор.

При этом накладные расходы ОС на исполнение расписания значительно меньше, чем при динамическом планировании.

80

Операционные системы