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

Лекция 3. Основные подсистемы ОС: подсистема управления процессами и потоками

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

создание и уничтожение процессов (т.е. структур данных, связанных с процессами)

поддержание очередей заявок процессов на ресурсы

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

обеспечивать прерывание и возобновление некоторого процесса

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

предоставить средства межпроцессного взаимодействия

2

Определение процесса

Процесс – задача в стадии выполнения в системе.

Процесс – заявка на потребление всех видов ресурсов (в системах, где определено понятие «поток», кроме одного ресурса - процессорного времени).

3

Процессы в системе UNIX

Системные

 

Процессы –

 

Прикладные

(запускаются

 

демоны

 

процессы

ядром, не имеют

 

(выполняются в

 

(процессы,

файлов,

 

фоновом режиме,

 

порожденные в

содержащих код

 

большую часть

 

пользовательском

процесса)

 

времени находятся

 

сеансе работы)

 

 

в состоянии

 

 

 

 

 

 

 

ожидания запроса

 

 

 

 

на выполнение

 

 

 

 

услуги другим

 

 

 

 

процессом)

 

 

4

Описание процесса в

системе UNIX

PID - уникальный идентификационный номер - подобно номеру паспорта, фактическое значение PID большой роли не играет.

РРID - идентификатор своего родительского процесса

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

UID – это идентификационный номер пользователя, создавшего данный процесс.

EUID – это «эффективный» UID процесса. Существует возможность задать процессу более широкие права, чем права пользователя, запустившего процесс. Он действует от имени владельца выполняемого файла (чаще всего пользователя root).

5

Описание процесса в системе UNIX (продолжение)

GID – это идентификационный номер группы данного процесса.

EGID -это «эффективный» GID процесса - связан с GID так же, как ЕUID с UID.

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

Значение nice - это число показывает степень «уступчивости» процесса.

Терминальная линия (TTY) - Терминал или псевдотерминал, связанный с процессом. С этим терминалом по умолчанию связаны стандартные потоки: входной, выходной и поток сообщений об ошибках. Потоки (программные каналы) являются стандартным средством межпроцессного взаимодействия в ОС UNIX.

6

Получение списка процессов: ps

7

Потоки

Поток (thread) – средство распараллеливания вычислений внутри процесса.

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

Мультипрограммирование на уровне потоков более эффективно (распараллеливание).

Использование потоков приводит к

созданию более структурированных и

понятных программ.

8

 

Планирование потоков (процессов) состоит в решении задач:

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

выбор для выполнения потока (процесса) из очереди готовых потоков (процессов)

9

При планировании потоков учитываются

приоритет потоков

время их ожидания в очереди

накопленное время выполнения

интенсивность обращений к вводу- выводу

другие факторы

10

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