2. Процессы и потоки.ppt
- Количество слайдов: 18
Процессы и потоки Бестужев Никита Евгеньевич Преподаватель
Содержание лекции Основные понятия 2. Планирование потоков 1. 2
Основные понятия Программа – последовательность команд, реализующая алгоритм решения задачи Процесс – программа в ходе выполнения Поток – объект, которому ОС предоставляет процессорное время Стек – область памяти потока 3
Основные понятия Структура данных для процессов: Pcb (Process Control Block – блок управления процессом) Create. Time и Exit. Time Unique. Process. Id Active. Process. Links Quota. Usage, Quota. Peak, Commit. Charge Object. Table Token Image. File. Name Thread. List. Head Peb (Process Environment Block Priority. Class 4
Основные понятия Структура данных для потоков: Tcb (Thread Control Block – блок управления потоком) Create. Time и Exit. Time Cid Threads. Process Start. Address Win 32 Start. Address 5
Основные понятия Создание процесса: 1. 2. 3. 4. 5. 6. 7. Проверка и преобразование параметров Открытие исполняемого файла Создание объекта «Процесс» Создание основного потока Уведомление подсистемы Windows Запуск основного потока Инициализация процесса 6
Планирование потоков Алгоритмы планирования: Вытесняющие/невытесняющие алгоритмы Алгоритмы с квантованием Алгоритмы с приоритетами 7
Планирование потоков Состояния потоков: 8
Планирование потоков Кванты: 9
Планирование потоков Приоритеты: 10
Планирование потоков Влияние относительных приоритетов: Относительный приоритет Смещение для динамических приоритетов Смещение для приоритетов реального времени Time Critical Базовый приоритет = 15 Базовый приоритет = 31 Highest +2 +2 Above Normal +1 +1 Normal 0 0 Below Normal – 1 Lowest – 2 Idle Базовый приоритет = 16 11
Планирование потоков Алгоритм планирования в Windows. Структура KPRCB (Kernel Processor Control Block) содержит следующие поля, требуемые для планирования: Current. Thread Next. Thread Idle. Thread Dispatcher. Ready. List. Head 12 Ready. Summary
Планирование потоков Ситуация 1. Выбор потока на выполнение 13
Планирование потоков Ситуация 2. Переход выполняющегося потока в состояние ожидания 14
Планирование потоков Ситуация 3. Вытеснение потоком с большим приоритетом 15
Планирование потоков Ситуация 4. Завершение кванта времени 16
Планирование потоков Динамическое повышение приоритета: Возникает событие диспетчера ядра Завершается операция ввода/вывода Происходит событие пользовательского интерфейса Поток слишком долго ожидает ресурс Поток слишком долго ожидает своей очереди на выполнение 17
Спасибо за внимание! 18
2. Процессы и потоки.ppt