Главная Обратная связь

Дисциплины:






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



● Порождение

● Запуск

● Уничтожение

● Приостановка

● Пробуждение

● Блокирование

● Возобновление

Иерархия процессов

Граф состояний процесса с двумя состояниями

Граф состояний процесса с пятью состояниями

Модель потока

● Задача рассматривается как поток команд

● Потоки порождаются процессом

● Ресурсы процесса разделяются между потоками

● Поток обладает состоянием, счётчиком команд, регистрами и стеком

● Могут быть реализованы в пространстве ядра и в пространстве пользователя

Потоки в пространстве пользователя

● +Ресурсы процессора не тратятся на переключение контекста

● +Свой алгоритм планирования для каждого потока

● +Не тратятся ресурсы системных таблиц

● -Проблема с блокирующими запросами

● -Проблема со страничным исключением

● -Сложность реализации

Потоки в пространстве ядра

● +Повторное использование потоков

● +Простота написания приложений

● -Увеличение накладных расходов

Однопоточные и многопоточные процессы

Проблемы потоков

● Что делать при порождении дочернего процесса?

● Как обеспечить защиту разделяемых между потоками данных?

Что мешает многопоточности

● Глобальные переменные

● Плохая реентрабельность (повторный вход) библиотечных функций

● Обработка прерываний

● Индивидуальные стеки

Задачи ядра

● Обработка прерываний

● Управление процессами и потоками

● Обеспечение межпроцессного взаимодействия

● Управление памятью

● Управление вводом-выводом

● Обеспечение защиты





sdamzavas.net - 2020 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...