5. Контекст и дескриптор процесса.
Контекст процесса – информация, необходимая для возобновления выполнения процесса, включающая в себя состояние регистров, программного счетчика, режим работы CPU, указатели на открытые файлы…
Дескриптор –ОС для каждого процесса создает дескриптор вида D=(I,V,T,P,R),__где I-идентификатор(имя) процесса, V – определ. виртуальную машину процесса, T – включает состояние процесса, Р –указывает на родительские и дочерние процессы, R- приоритет процесса
Чтобы ОС могла управлять процессами, на каждый процесс заводится дескриптор( описатель), он содержит идентификатор процесса. PID (process identification): приоритет процесса, состояние процесса, информация о ресурсах процесса, указатель на родителя и потомки, контекст задачи (состояние процесса, если он прервется). Эти дескрипторы хранятся в виде таблицы процессов.
6. Классификация процессов.
1.По принадлежности к центральному процессору: внутренние и внешние. По внешним признакам. Трасса процесса – последовательность и длительность пребывания процесса в каждом из своих состояний интервал существования процесса, время между порождением и завершением процесса. Процессы реального времени, интерактивные и пакетные.
2.По генеалогическому признаку – пораждающие и поражденные.
3. По динамическим признакам: последовательные интервалы сущ процессов не пересекаются.
Если на рассматриваемом интервале времени сущ-ют одновременно 2 процесса, они параллельн. Если хотя бы одна точка, когда один проц сущ, а второй нет, то такие проц комбинированные.
4.по принадлежности к ОС: системные и пользовательские(прикладные)
5. по результативности: эквивалентные процессы – которые на одинаковых входных данных выдают одинаковые выходные данные. Причем работают АО одной или разным программам. Трассы эквивалентных процессов в общем случае не совпадают.
Тождественные – эквивалентные процессы работающие по одной и той же программе, но с различными трассами.
Равные – тождественные процессы с одинаковыми трассами. Все остальные процессы различны.
6.по связности.
Два процесса являются взаимосвязанными, если между ними поддерживаются, с помощью системы управления процессами, функциональные пространственно-временные управляющие информационные или другие связи, иначе процессы изолированные. Изолированные со слабой связью могут влиять друг на друга. Если два взаимосвяз процесса используют вместе некоторые ресурсы, но информационно не связаны, те не обмениваются инф, то эти процессы информационно независимы. При наличии информацион связей, процессы взаимодействуют.
7 . Понятие потока. Способы реализации. Планирование.
Каждому процессу соответствует одиночный управляющий поток, представляющий из себя поток исполняемых команд. При запуске многопотокового процесса в системе с одним процессоров потоки работают поочередно. Процессор быстро переключается между потоками, создавая впечатления параллельной работы потоков.
Элементы процесса | Элементы потока |
Адресное пространство | Счетчик команд |
Глобальные переменные | Регистры |
Открытые файлы | Стек |
Дочерние процессы | Состояние потока |
Необработан. аварийные сигналы |
Аргументы в пользу использования потоков. 1) выполнение большинством программных приложений действий, которые могут временно блокироваться. 2) легкость создания потоков и их уничтожение, поскольку с потоком не связано никаких ресурсов. 3) Возможность совмещения во времени операций ввода – вывода или вычислений, когда в них имеется одновременная потребность. 4) концепция потоков удобна в системах с несколькими процессорами.
Способы реализации потоков
3 способа реализации пакета потоков
1)В пространстве пользователя.
Процесс
Поток
Таблица потоков
Ядро Таблица процессов
Ядро о потоках ничего не знает и управляет обычными однопоточными процессами. Каждому процессу необходима собственная таблица потоков для отслеживания потоков в процессе
Достоинства: Переключение потоков происходит быстрее, чем между процессами. Каждый процесс имеет свой алгоритм планирования
Недостатки. Проблема реализации блокир. системных запросов. Пока не обработается один поток не будет запущен другой
2) В пространстве ядра.
Процесс
Поток
Ядро Таблица процессов
Таблица потоков
Достоинства Все запросы, которые блокируют поток реализуются как системные. Когда поток блокируется, ядро запускает поток из этого или другого процесса. Недостатки Все системные запросы требуют значит. больше времени так как связаны с переключением потоков
3)Смешанная
Потоки
Ядро Поток ядра
Ядро знает только о потоке своего уровня. Некоторые из этих потоков могут содержать по несколько потоков пользовательского уровня. Потоки пользователя используют потоки ядра по очереди
Планирование потоков
При планировании потоков определяется поддерживание потоков на уровне пользователя или ядра. Рассмотрим процесс А с потоками (А1, А2… ) и процесс В с потоками (В1, В2…). При планировании потоков на уровне пользователя, ядро не знает о существовании потоков, выполняет обычное планирование. Выбирает процесс А и предоставляет ему квант времени. Планировщик потоков внутри процесса А выбирает поток А1. Если квант времени для процесса А (50 нс) > чем квант времени для потока А1 (5нс), то планироваться будет выполнение (А1, А2 …)
При реализации потоков на уровне ядра, ядро не обязательно принимает во внимание какой поток принадлежит какому процессу. По истечении кванта времени управление передается потоку другого процесса (А1, В1, А2, В2….).
8. Планирование и диспетчеризация процессов. Стратегии планирования.
Есть три уровня планирования процесса:
1.долгосрочное планирование или планирование задач – определяет в каком порядке задачи поступают в систему и будут пораждены соответствующими процессами. Этим занимается планировщик.
2. краткосрочное планирование или диспетчеризация. Этим занимается диспетчер, но иногда называют планировщик. Диспетчер выбирает из очереди готовых процессов тот, который должен поступить на выполнение. Диспетчеризация выполняется в следующем случае:
1. если система использует вытесняющее планирование и выполняющийся процесс перешел из состояния выполнения в любое другое состояние, те закончился его квант времени.
2. если выполняющийся процесс завершился.
3. если использ невытесняющ планиров. При невытесняющ – только когда заканчивается выполнение процесса или же он переходит в состояние ожидания. Краткосрочное выполняется часто.
3. среднесрочное планирование – тесно связано с управлением памяти (виртуальной). Среднесроч планир отвечает за выбор процессов которые при необходимости можно скинуть во вторичную память (жесткий диск) причем эти процессы должна быть максимально долго не нужны системе. Механизм называется swapping.
Стратегии диспетчеризации.
Требования:
1. главное требование справедливость выделения времени всем процессам.
2. ограниченного ожидания. Процесс не должен ожидать своей очереди бесконечно.
3. минимизация полного времени оборотов – время от поступления задачи в систему, до момента когда покинет систему.
Минимизация времени ожидания в очереди waiting time.
Вытесняющее и не вытесняющее планирование.
Приоритетное планирование. Выбор процесса из очереди может осущ с помощью приоритета. Приоритет – число характеризующее степень процесса привилегированности перед другими процессами. Системн проц более привелег чем пользовательский. Приоритеты бывают абсолютные и относительные. В системе с абсолютным приоритетом из очереди выбирается более приоритетный процесс. При поступлении в систему более приор процесс
9. Планирование в системах пакетной обработки данных. Дисциплины FCFS, SJN, SRN.
FCFS - First-Come, First-Served - первым пришел, первым обслужен. Процессы обслуживаются в строгом порядке своего поступления в систему. Не вытесняющий алгоритм. Достоинство: простота. Недостатки: большая зависимость эффективности работы вычислительной системы от порядка поступления процесса. В случает если длительные процессы поступили раньше, то коротких проц нужно слишком долго ждать. Следовательно увеличивается полное время оборота, а также время ожидания.
SJN - Shortest Job Next — следующим выполняется самое короткое задание. На выполнение поступает процесс которому необходимо наименьшее время выполнения. За счет этого минимизируется полное время оборота и время ожидания. Не вытесняющий алгоритм. Достоинства: очень хороший алгоритм. Недостатки: не применяется ибо нереален.
SRN – Shortest Remain Next –Вытесняющая модификация предыдущего алгоритма. Время выполнения представляет собой абсолютный приоритет. При поступлении в систему нового процесса сравнивается время, которое необходимо новому процессу и оставшееся время выполнения текущего проц. Выполняться будет тот процесс, у которого значение меньше. Алгоритм мочень хорош и столь же нереален.
10. Планирование в интерактивных системах. Дисциплина RR (круговое планирование), дисциплины приоритетного планирования.
RR(Round Robin)- карусель. Каждому процессу выделяется квант времени. В случае если за выделен квант времени процесс завершается ,следующий процесс не простаивает. Ему выдел след квант врем. Размер кванта времени – главные вопрос. Если квант времени большой, то короткие процессы успевают завершиться и алгоритм выражается в FCFS. Если квант времени слишком маленький, то существенно возрастают накладные расходы между процессами. Может использоваться приоритетное планирование в зависимости от приоритета , после выполнения процесс может становиться не в конец очереди. Алгоритм активно используется в современных ОС.