Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.docx
Скачиваний:
42
Добавлен:
16.12.2014
Размер:
12.48 Кб
Скачать

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

Проце́сс — выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ.

Компьютерная программа сама по себе это только пассивная совокупность инструкций, в то время как процесс — это непосредственное выполнение этих инструкций.

Часто процессом называют выполняющуюся программу и все её элементы: адресное пространство, глобальные переменные, регистры, стек, открытые файлы и т. д.

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

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

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

Возможные состояния процесса:

- действие (использует процессор в данный момент)

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

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

Переходы между состояниями:

1: процесс блокируется, ожидая входных данных

2: планировщик выбирает другой процесс

3: планировщик выбирает этот процесс

4: доступны входные данные

Соседние файлы в предмете Операционные системы