- •11.Понятие многозадачности
- •12.Процессы и потоки. Понятия, связанные с процессами и потоками.
- •13.Алгоритмы планирования. Планирование в Windows.
- •14. Моменты перепланировки. Пример перепланировки в Windows.
- •15.Механизм прерываний в Windows, обработка прерываний, приоритеты прерываний
- •16.Синхронизация потоков. Способы синхронизации потоков.
- •17.Взаимоблокировки. Условия возникновения блокировок.
- •18.Взаимоблокировки. Варианты решения проблемы блокировок в ос
- •20.Адресация памяти. Виртуальное адресное пространство в Windows
- •19.Функции ос по управлению памятью. Типы систем управления памятью.
- •21.Реализация страничной виртуальной памяти
- •22. Управление памятью в Windows
- •Vad диапазон отображаемых адресов // файл подкачки// смещение в файле// режим доступа// каталог таблиц страниц//
- •23.Порядок доступа к памяти. Типы страничных прерываний
- •24.Рабочий набор процесса. Алгоритм замещения станиц в Windows
- •25.Управление физической памятью в Windows
12.Процессы и потоки. Понятия, связанные с процессами и потоками.
Процесс – выполняющееся приложение. Заявка на ресурсы.
Поток – последовательность выполняемых команд. Заявка на процессорное время.
При создании процесса ОС:
- создает объект (описатель процесса) – информационную структуру в памяти для управления и учета выделенных ресурсов
-выделяет виртуальное адресное пространство
-загружает (частично) код в память
- формирует маркер доступа
- создает выполняемый поток
Поток:
- используется для планирования работы процессора
- создается и уничтожается динамически
- выполняется в пользовательском режиме
- при обращении к системному вызову переключается в режим ядра
- имеет два стека (для режима пользователя и ядра )
- имеет контекст для сохранения состояния CPU и окружения во время не активности потока
Диаграмма состояний потока
Создание
и завершение процесса
Процесс создается в следующих случаях:
-инициализация системы (создание, активация, подготовка к работе, определение параметров. Приведение программы или устройства к состоянию готовности к использованию)
- выполнение системного запроса на создание процесса от уже работающего процесса
- выполнение запроса пользователя на создание процесса
-инициация пакетного задания
Процесс завершается в следующих случаях:
-обычный выход
-выход по ошибке
-уничтожение другим процессом
Процедура создания процесса:
При создании процесса ОС необходимо:
-создать описатель процесса (объект-процесс в Windows)
-обнаружить на накопителе местоположение файла с кодом программы
-перераспределить память и выделить область памяти для нового процесса
-загрузить с накопителя программу (или ее часть) в область памяти
-создать поток для выполнения
-перевести поток в состояние готовности
При создании потока ОС создает описатель потока, содержащий:
1.идентификатор потока.2.данные о правах доступа.3.данные о приоритете потока.4. состояние потока
Понятия, связанные с процессом:
Образ процесса – совокупность кода и данных процесса
Дескриптор процесса – информационная структура, содержащая информацию о процессе, необходимую ядру в течении всего жизненного цикла процесса. Содержит следующие данные:
-состояние процесса
- расположение образа процесса в памяти и на диске. Образ процесса - совокупность кода и данных процесса.
-приоритет процесса
-идентификатор пользователя - владельца процесса
- родственные процессы
- ресурсы, выделенные процессу
- события, осуществление которых ожидается процессом
Дескрипторы процессов хранятся в таблице в области памяти ядра. Они используются для планирования и синхронизации процессов.
Понятия, связанные с потоком:
С каждым потоком связаны:
1.идентификатор2.состояние3.маркер доступа4.стеки (режима ядра и пользователя)5.контекст
Контекст потока – информационная структура, содержащая информацию о процессе, необходимую ядру для возобновления выполнения потока с прерванного места. Содержит следующие данные:
- значение счетчика команд
- содержимое регистров процессора
- режим работы процессора
-коды ошибок выполняемых процессором системных вызовов
-указатели на открытые файлы
-данные о незавершенных операциях ввода - вывода
-флаги, маски, прерывания и т.п.
Контекст хранится в адресном пространстве ядра, но может быть выгружен на диск.
