Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по ОС.doc
Скачиваний:
22
Добавлен:
26.09.2019
Размер:
196.1 Кб
Скачать

20. Понятие потока. Модель потока. Типы реализации

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

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

Модель потока.С каждым потоком связывается счетчик выполнения команд, регистр, стек, состояние и т.д. Потоки делятся между собой элементы своего процесса: адресное прост-во, глобальная переменная, открытые файлы, таймеры,семафоры, статическая инфа.В остальном идентична модели процесса. Пример: Ос Windows.Процессы-объединение нескольких потоков.Типы реализации потоков. Поток в пространстве пользователя.Достоинство: возможность реализ на ядре, не поддерживает многопоточность, более быстрое переключение создания и завершен потоков, процесс может иметь собственный алгоритм планирования.Недостаток:отсутвие прерывания по таймеру внутри одного процесса, сложность реализации, при использовании блокирующего системного запроса все остальные потоки блокируются.Поток в пространстве ядра.Наряду с таблицей процессов имеется таблица потоков в пространстве ядра.Смешанная реализация.Потоки работают в режиме пользователя, но при системных вызовах переключаются в режим ядра.Переключение в режим ядра и обратно является ресурсоемкой операцией и отрицательно сказывается на системе, поэтому ввели понятие волокно-облегченный поток, выполняемый в режиме пользователя. У каждого потока может быть несколько волокон. Подобный тип используется в о.с Windows.

21. Дескрипторы и контексты процессов

На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса. Кроме этого, о. с. для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса. Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется о. с.только после того, как принято решение о возобновлении прерванного процесса. Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Т.о., каждый дескриптор, содержит по крайней мере 1 указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое. Программный код только тогда начнет выполняться, когда для него о.с. будет создан процесс. Создать процесс - это значит: 1) создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст; 2) включить дескриптор нового процесса в очередь готовых процессов; 3) загрузить кодовый сегмент процесса в операт. память или в область свопинга