Разработка
безопасного
программного
обеспечения
Раздел 1. Среды разработки и выполнения программ
Тема 2. Сервисы операционных систем для поддержки многозадачности
Процессы
|
|
3/44 |
Процессы |
|
|
Определение |
Компоненты процесса Windows на |
|
Процесс - абстракция, описывающая |
верхнем уровне абстракции |
|
|
закрытое виртуальное адресное |
|
выполняющуюся программу. |
• |
|
Процессы поддерживают |
|
пространство |
возможность осуществления (псевдо) |
• |
список открытых дескрипторов |
параллельных операций даже при |
• |
контекст безопасности |
наличии всего одного центрального |
• |
хотя бы один программный поток |
процессора (ЦП). |
|
|
Москва, осень 2021 г. |
Разработка безопасного программного обеспечения | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики |
4/44
Создание процесса
Четыре основных события, |
Виды процессов |
||
приводящие к созданию |
|
высокоприоритетные |
|
процессов |
• |
||
|
инициализация системы |
• |
фоновые |
• |
• |
родительские |
|
• |
выполнение работающим |
• |
дочерние |
|
процессом системного вызова, |
|
|
|
предназначенного для создания |
|
|
|
процесса |
|
|
• |
запрос пользователя на создание |
|
|
|
нового процесса |
|
|
• |
инициация пакетного задания |
|
|
Москва, осень 2021 г. |
Разработка безопасного программного обеспечения | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики |
5/44
Завершение процесса
Процесс завершается в силу следующих обстоятельств
•обычного выхода (добровольно)
•выхода при возникновении ошибки (добровольно)
•возникновения фатальной ошибки (принудительно)
•уничтожения другим процессом (принудительно)
Москва, осень 2021 г. |
Разработка безопасного программного обеспечения | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики |
6/44
Состояния процессов
Процесс может находиться в состоянии «выполнение», «готовность» и «блокировка»
Переходы между состояниями процессов
Москва, осень 2021 г. |
Разработка безопасного программного обеспечения | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики |
7/44
Реализация процессов
Для реализации модели процессов ОС ведет таблицу процессов, где каждая запись соответствует какому- нибудь процессу.
Москва, осень 2021 г. |
Разработка безопасного программного обеспечения | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики |
Виртуальная память
9/44
Виртуальная память
Существует два основных подхода для преодоления перегрузки памяти: свопинг и виртуальная память.
При свопинге в памяти размещается весь процесс целиком, запускается на некоторое время, а затем сбрасывается на диск. Бездействующие процессы большую часть времени хранятся на диске и в нерабочем состоянии не занимают пространство оперативной памяти.
Виртуальная память позволяет программам запускаться даже в том случае, если они находятся в оперативной памяти лишь частично.
Москва, осень 2021 г. |
Разработка безопасного программного обеспечения | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики |
10/
44
Страничная организация памяти
При использовании виртуальной памяти виртуальные адреса поступают в диспетчер, который отображает виртуальные адреса на адреса физической памяти.
Виртуальное адресное пространство состоит из блоков фиксированного размера, называемых страницами. Соответствующие блоки в физической памяти называются страничными блоками.
Москва, осень 2021 г. |
Разработка безопасного программного обеспечения | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики |
11/
44
Страничная
организация
памяти
Москва, осень 2021 г. |
Разработка безопасного программного обеспечения | Кафедра «Информационная безопасность» | © Московский технический университет связи и информатики |