Similar presentations:
Процессы и потоки
1. Безопасность операционных систем
Тема лекции:Процессы и потоки
Ветлугин
Константин Александрович
2. Процесс
2Процесс
Процесс (Process) – абстракция, описывающая выполняющуюся программу.
Операционная система называется многозадачной, если в ней
реализована возможность параллельной (псевдопараллельной) обработки
нескольких процессов. Реальная многозадачность возможна только в
распределенной вычислительной системе.
3. Типы многозадачности
3Типы многозадачности
Существует 2 типа многозадачности:
• Процессорная многозадачность. В таком случае наименьшим
элементом управляемого кода, которым может управлять планировщик
ОС, является программа (процесс).
• Поточная многозадачность. Наименьший элемент управляемого кода поток (одна программа может выполнять 2 и более задачи
одновременно).
4. Модель процесса
4Модель процесса
Процесс – это экземпляр выполняемой программы, включая текущие
значения счетчика команд*, регистров и переменных. Концептуально у
каждого процесса есть свой виртуальный процессор, но, на самом деле,
реальный ЦП постоянно переключается между программами. Это
постоянное
переключение
между
процессами
называется
мультипрограммированием или многозадачным режимом работы.
* - регистр процессора, содержащий адрес текущей выполняемой команды. В зависимости от
архитектуры содержит либо адрес инструкции, которая будет выполняться, либо той, которая выполняется в
данный.
5. Модель процесса
5Модель процесса
а - четыре программы, работающие в многозадачном режиме;
б - концептуальная модель четырех независимых друг от друга процессов;
в – в отдельно взятый момент времени активна только одна программа.
6. Создание процесса
6Создание процесса
Существует 4 основных события, приводящих к созданию процессов:
1. Инициализация системы.
2. Выполнение
работающим
процессом
предназначенного для создания процесса.
системного
3. Запрос пользователя на создание нового процесса.
4. Инициализация пакетного задания.
вызова,
7. Завершение процесса
7Завершение процесса
Наиболее частые причины завершения процесса:
Обычный выход (добровольно).
Выход при возникновении ошибки (добровольно).
Возникновение фатальной ошибки (принудительно).
Уничтожение другим процессом (принудительно).
8. Иерархии процессов
8Иерархии процессов
В некоторых системах, когда процесс порождает другой процесс,
родительский
и
дочерний
процессы
продолжают
оставаться
определенным образом связанными. Дочерний процесс может и сам
создавать какие-нибудь процессы, формируя иерархию процессов.
В Unix процесс, все его дочерние процессы и более отдаленные потомки
образуют группу процессов.
9. Пример иерархии процессов в Unix
9Пример иерархии процессов в Unix
В загрузочном образе UNIX присутствует специальный процесс,
называемый init. В начале своей работы init считывает файл, содержащий
сведения о количестве терминалов*. Затем он разветвляется, порождая по
одном процессу на каждый терминал. Эти процессы ждут, пока
кто-нибудь не зарегистрируется в системе.
* - ОС предоставляет пользователю специальный интерфейс – терминал (командную строку), через
которую пользователи получают персональную рабочую среду. Несмотря на то, что в современных
UNIX-системах широко используются графические пользовательские интерфейсы, командная строка
остаётся основным рабочим инструментом администратора системы.
10. Пример иерархии процессов в Unix
10Пример иерархии процессов в Unix
Если регистрация проходит успешно, то процесс регистрации порождает
оболочку для приема команд. Эти команды могут породить другие
процессы и т.д. Таким образом, все процессы в UNIX образуют дерево с
корнем в init.
* - команды интерпретируются и выполняются специальной программой – командной оболочкой (или
«shell», по-английски). Через командную оболочку производится управление пользовательскими
процессами.
11. Состояния процессов
11Состояния процессов
Процесс может находиться в трех состояниях:
• выполняемый (в данный момент использующий ЦП);
• готовый (работоспособный, но временно приостановленный, чтобы дать
возможность выполниться другому процессу);
• заблокированный (не способный выполняться, пока не возникнет
какое-нибудь событие).
12. Состояния процессов
12Состояния процессов
На рисунке представлен граф состояний процесса
13. Планировщик
13Планировщик
Самый низший уровень структурированной в виде процессов
операционной системы. Он обрабатывает прерывания и планирует
выполнение процессов. Над этим уровнем находятся последовательные
процессы.