Похожие презентации:
Лекция_1_2_процессы_и_потоки_с_комментариями
1.
Тема 1.2Общие сведения
о процессах и потоках
Лекция 2 часа: модель процесса, состояние, создание процесса,
назначение потоков
Презентация с заметками лектора
поток 1
процесс
поток 2
ресурсы
2.
План лекции1
Процесс, поток, программа
разграничиваем базовые понятия
2
Потоки
преимущества и ограничения
4
Состояния процесса
выполнение, готовность, ожидание
5
Результат занятия
Ресурсы процесса
память, файлы, устройства, данные
3
02
Создание процесса
источники и этапы создания
Тема 1.2. Общие сведения о процессах и потоках
• объяснять различие между программой,
процессом и потоком
• описывать состояния процесса и причины
переходов
• перечислять основные этапы создания
процесса
3.
Базовые понятия: программа, процесс, поток,приложение
03
Программа
Процесс
Поток
Приложени
е
статический набор
команд
в файле на диске
выполнение + ресурсы
+ данные + состояние
единица работы,
которой
выделяется время
процессора
набор
загружаемых
процессов
Главная мысль
Программа сама по себе не выполняется. Когда ОС запускает программу, появляется
процесс, а внутри процесса выполняются один или несколько потоков.
Тема 1.2. Общие сведения о процессах и потоках
4.
Модель процесса: процесс как контейнер для потоковадресное
пространство
поток 1
контекст + стек
данные
поток 2
Процесс
контекст + стек
открытые
файлы
поток N
контекст + стек
Потоки используют общие участки кода и данных внутри своего процесса, но каждый поток
имеет собственный контекст и стек.
Тема 1.2. Общие сведения о процессах и потоках
04
5.
Из чего состоит процесс05
1
2
3
Выполняемая
программа
Данные
Контекст
выполнения
команды и подпрограммы
переменные, рабочее
пространство, буферы
счётчик команд, регистры,
состояние
Почему ОС разделяет
процессы?
• у каждого процесса своё адресное пространство
• ресурсы назначаются конкретному процессу
• изоляция защищает процессы от взаимного влияния
Тема 1.2. Общие сведения о процессах и потоках
6.
Потоки: сильные стороны и рискиПреимущества
06
Недостатки
• несколько потоков внутри одного
исполнительного модуля экономят ресурсы
• добавление потока обычно требует
изменения исходного кода
• общая память ускоряет обмен сообщениями
• потоки имеют доступ к общим данным друг
друга
• контекст потока меньше, чем контекст
процесса
• ошибка одного потока может повлиять на
весь процесс
• упрощается отладка внутри одного модуля
Пример: в текстовом редакторе одновременно идут набор текста и
проверка орфографии.
Тема 1.2. Общие сведения о процессах и потоках
7.
Состояния активного процессанет процессора
Готовность
к выполнению
Пассивное
состояние
07
выделен процессор
Выполнение
Блокировка
(ожидание)
ждёт ресурс/ВВ
В однопроцессорной системе в каждый момент времени выполняется только
один процесс.
Тема 1.2. Общие сведения о процессах и потоках
8.
Что переводит процесс из состояния в состояниеСобытия
Перемещение
дескриптора
прерывание
завершение ВВ
освобождение
ресурса
истечение кванта
Супервизор
процессов
очередь готовых
очереди ожидания
пассивный список
ОС не «угадывает» состояние процесса — она реагирует на события и меняет положение
дескриптора процесса в очередях.
Тема 1.2. Общие сведения о процессах и потоках
08
9.
Дескриптор процесса: зачем он нужен ОСPCB / дескриптор
процесса
Списки и очереди
идентификатор процесса
состояние процесса
счётчик команд
готовые к выполнению
ожидающие ввод-вывод
регистры
параметры памяти
открытые ресурсы
ожидающие ресурс
пассивные / завершённые
Когда состояние меняется, ОС перемещает дескриптор из одной очереди в
другую.
Тема 1.2. Общие сведения о процессах и потоках
09
10.
Многозадачность: видимость параллельной работыP1
На одном ядре
одновременно
реально
выполняется
только один
процесс; ОС
быстро
переключает
процессор между
процессами.
P2
P3
P4
время
Тема 1.2. Общие сведения о процессах и потоках
10
11.
Почему не стоит полагаться на “точное время”выполнения
11
Процесс A
аудио
холостой цикл
как “таймер”
Переключение
на другой процесс
Сбой
синхронизаци
и
Скорость выполнения процесса может меняться, потому что процессор
переключается между задачами.
Для требований реального времени нужны специальные механизмы ОС, а не “пустые
циклы” в программе.
Тема 1.2. Общие сведения о процессах и потоках
12.
Создание процесса12
Источники создания
Этапы создания
• загрузка операционной
системы
1
присвоить уникальный
идентификатор
• родительский процесс создаёт
дочерний
2
выделить память для программы,
данных и стека
3
инициализировать блок управления
процессом
4
добавить процесс в очередь
готовых
• пользователь запускает
программу из оболочки
Тема 1.2. Общие сведения о процессах и потоках
Пример
Пользователь
запускает
программу →
оболочка ОС
становится
родительским
процессом →
создаётся новый
процесс.
13.
Проверка понимания1. Чем программа отличается от процесса?
2. Почему процесс называют контейнером для потоков?
3. Какие преимущества дают потоки?
4. Почему процесс переходит в состояние ожидания?
5. Какие шаги выполняет ОС при создании процесса?
Итог: процесс связывает выполняемую программу, ресурсы и состояние; поток
является единицей работы, которой ОС выделяет процессорное время.
Тема 1.2. Общие сведения о процессах и потоках
13
14.
Краткий конспект для завершенияЗапомнить
• процесс — выполняемый экземпляр программы с
ресурсами и состоянием
• поток — единица работы внутри процесса
• потоки быстрее обмениваются данными, но требуют
аккуратной работы с общей памятью
14
Задание после лекции
Составить сравнительную
таблицу: процесс и поток. В
таблице указать ресурсы,
контекст, память, переключение,
обмен данными и риск ошибок.
• состояния процесса меняются под действием событий
• ОС управляет процессами через дескрипторы и
очереди
Источник содержания: учебный материал «Тема 1.2.
Общие сведения о процессах и потоках».
Тема 1.2. Общие сведения о процессах и потоках