Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OSSO ().docx
Скачиваний:
18
Добавлен:
08.04.2015
Размер:
53 Кб
Скачать
☆

26.03.13

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

При создании потоков ОС создает специальную информационную структуру – описатель потока, в котором находятся блок управления потоком и его контекст.

Способы реализации пакетов потока:

1. в пространстве пользователя (ULT).

В программе, состоящей из ULT потоков, все действия по управлению потоков выполняет само приложение. Ядро о потоках ничего не знает и управляет решением на уровне процесса. Для этого в каждом процессе имеет собственная управляющая структура, включающая библиотеки подпрограмм для работы с потоками (их создание, уничтожение, блокировка…) и таблицу потоков, содержащий счетчик команд, идентификатор потока, регистры состояния и другое. Когда поток переходит в состояние готовности или блокировки, вся информация для повторного запуска хранится в таблице потока.

Достоинства схемы:

- повышение производительности за счет отсутствия потерь времени на переключение в режим ядра и обратно

- упрощенная система управления процессами за счет снижения уровня детальности – ядро о потоках ничего не знает

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

Недостатки:

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

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

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

- внутри одного потока не существует прерываний по таймеру

2. на уровне ядра (KLT)

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

Достоинства:

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

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

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

Недостаток:

- потеря времени при переключении в режим ядра и обратно.

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

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

28.03.13

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

Существует статистический метод планирования – применяется в специализированных системах с заданным набором заранее определенных задач. В этом случае статистический планировщик может принимать решение не вовремя решения работы системы, а заранее ознакомилась с реальным перечнем загружаемых задач. Результатом работы – расписание - таблица, в которой указано к какому процессу, когда и на какое время будет предоставлен ЦП.

Независимо от типа планирования основными участниками планирования являются:

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

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

- долгосрочное планирование – осуществляется в период принятия решения о добавлении процесса в множество выполняемых системой процессов.

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

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

1. выполнение – активное состояние потока, во время которого он обладает всеми необходимыми ресурсами и обрабатывается ЦП.

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

3. готовность - пассивное состояние потока, находясь в котором поток заблокирован по внешним причинам. (имеет все требуемые ресурсы, готов выполняться, но ЦП занят обслуживанием другого потока)

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

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

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

Базовые особенности:

- планирование распределяется между ОС и прикладными программами

- необходимость частой передачи управления между ОС и задачи

- зависания приложений могут привести к краху системы

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

Особенности:

- функции планирования сосредоточены в ОС

- планирование осуществляется на основе квантования процессорного времени

- планирование на основе учета приоритета потоков

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]