Скачать презентацию Процессы и потоки L O G O Создание процесса Скачать презентацию Процессы и потоки L O G O Создание процесса

Процессы и потоки.ppt

  • Количество слайдов: 18

Процессы и потоки L/O/G/O Процессы и потоки L/O/G/O

Создание процесса • Загрузка системы • Работающий процесс подает системный вызов на создание процесса Создание процесса • Загрузка системы • Работающий процесс подает системный вызов на создание процесса • Запрос пользователя на создание процесса

Завершение процесса • Плановое завершение (окончание выполнения) • Плановый выход по известной ошибке (например, Завершение процесса • Плановое завершение (окончание выполнения) • Плановый выход по известной ошибке (например, отсутствие файла) • Выход по неисправимой ошибке (ошибка в программе) • Уничтожение другим процессом

Иерархия процессов • В UNIX-системах заложена жесткая иерархия процессов. • Прародитель всех процессов в Иерархия процессов • В UNIX-системах заложена жесткая иерархия процессов. • Прародитель всех процессов в UNIX - процесс init. • В Windows понятия иерархии процессов не существует

Иерархия процессов Дерево процессов для систем UNIX Иерархия процессов Дерево процессов для систем UNIX

Состояние процессов • Выполнение (занимает процессор) • Готовность (процесс временно приостановлен, чтобы позволить выполняться Состояние процессов • Выполнение (занимает процессор) • Готовность (процесс временно приостановлен, чтобы позволить выполняться другому процессу) • Ожидание (процесс не может быть запущен по своим внутренним причинам, например, ожидая операции ввода/вывода)

Состояния процессов Состояния процессов

Переходы между состояниями 1. Процесс блокируется, ожидая входных данных 2. Планировщик выбирает другой процесс Переходы между состояниями 1. Процесс блокируется, ожидая входных данных 2. Планировщик выбирает другой процесс 3. Планировщик выбирает этот процесс 4. Поступили входные данные

Потоки Потоки

Модель потока С каждым потоком связывается: • • Счетчик выполнения команд Регистры для текущих Модель потока С каждым потоком связывается: • • Счетчик выполнения команд Регистры для текущих переменных Стек Состояние

Модель потока Потоки делят между собой элементы своего процесса: § Адресное пространство § Глобальные Модель потока Потоки делят между собой элементы своего процесса: § Адресное пространство § Глобальные переменные § Открытые файлы § Таймеры § Семафоры § Статистическую информацию

Преимущества использования потоков • Упрощение программы в некоторых случаях, за счет использования общего адресного Преимущества использования потоков • Упрощение программы в некоторых случаях, за счет использования общего адресного пространства. • Быстрота создания потока, по сравнению с процессом, примерно в 100 раз • Повышение производительности самой программы

Реализация потоков L/O/G/O Реализация потоков L/O/G/O

Реализация потоков в пространстве пользователя Преимущества: • Такую многопоточность можно реализовать на ядре, неподдерживающем Реализация потоков в пространстве пользователя Преимущества: • Такую многопоточность можно реализовать на ядре, неподдерживающем многопоточность • Более быстрое переключение, создание и завершение потоков • Процесс может иметь собственный алгоритм планирования.

Реализация потоков в пространстве пользователя Недостатки : • Отсутствие прерывания по таймеру внутри одного Реализация потоков в пространстве пользователя Недостатки : • Отсутствие прерывания по таймеру внутри одного процесса • При использовании блокирующего (процесс переводится в режим ожидания, например: чтение с клавиатуры, а данные не поступают) системного запроса все остальные потоки блокируются. • Сложность реализации

Реализация потоков в пространстве ядра Преимущества: • Управление потоками в ядре не требует новых Реализация потоков в пространстве ядра Преимущества: • Управление потоками в ядре не требует новых неблокирующих системных запросов. • При блокировке потока, ядро запускает другой поток в состоянии готовности из этого же процесса. Основной недостаток - существенная цена системных запросов

Смешанная реализация Смешанная реализация