Управление процессами Состояния процессов. Управление состояниями процессов.

Презентация:



Advertisements
Похожие презентации
Системное программное обеспечение Кыргызско – Российский Славянский Университет Кафедра ИВТ, 3-й курс ИВТ, 5 семестр Лекция 9.
Advertisements

Система прерываний в защищенном режиме процессора Intel.
Процессоры Intel в защищенном режиме. Недостатки реального режима Невозможно адресовать пространство памяти свыше 1-го Мб Невозможно работать с массивами,
Управление процессами Понятие процесса. Представление процесса в различных операционных системах Старший преподаватель каф. Процессов управления и информационной.
1 ЛЕКЦИЯ 4 ОБРАБОТКА ПРЕРЫВАНИЙ В ЗАЩИЩЕННОМ РЕЖИМЕ Обработка прерываний в защищенном режиме так же сильно отличается от обработки в реальном режиме, как.
1 ЛЕКЦИЯ 3 ХАРАКТЕРИСТИКА ЗАЩИЩЕННОГО РЕЖИМА РАБОТЫ МИКРОПРОЦЕССОРА В реальном режиме работы поддерживается выполнение всего одной программы. Для этого.
Системные механизмы Windows. Системные механизмы диспетчеризация ловушек, в т.ч. прерываний, DPC (deferred procedure call), APC (asynchronous procedure.
Лекция 3. Исключения и прерывания в встроенных системах.
Встроенные Системы Часть 3. Прерывания Кафедра Информатики, мат-мех СПбГУ Copyright © 2004 Victor Vengerov
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Учебный курс Основы операционных систем Лекция 2 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Управление процессами и потоками в Microsoft Windows Представление процессов Диспетчеризация процессов и потоков Планирование процессов и потоков.
Проектирование центральных и периферийных устройств Преподаватель: Мельников Максим Игоревич.
Операционная система MS Windows* Развитие ОС: пакетная обработка, интерактивные системы, ОС реального времени, системы с разделением времени. Истинная.
Операционная система. Базовые понятия Операционная система – это комплекс программ, обеспечивающий контроль за существованием, распределением и использованием.
Системы реального времени Лекция 4: процессы. Понятие процесса Процесс - фундаментальное понятие любой операционной системы С помощью процессов происходит.
Управление памятью. В ИРТУАЛЬНАЯ ПАМЯТЬ Основная идея заключается в разбиении программы на части, и в память эти части загружаются по очереди. Программа.
Учебный курс Операционные среды, системы и оболочки Лекция 5 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.
Процессы и потоки. Процессы В общем представлении, процесс - это программа, выполняющаяся в оперативной памяти компьютера. Реально, все гораздо сложней.
Лекция 5 Управление памятью Виртуальное адресное пространство Непрерывное…..
Транксрипт:

Управление процессами Состояния процессов. Управление состояниями процессов

Классическая схема состояний процесса 1. Запуск 2. Готовность 3. Выполнение 4. Ожидание 5. Завершение

1. Запуск ОС открывает файл-образ процесса; Создаются системные таблицы и объекты, связанные с процессом; Выделяется адресное пространство для размещения процесса; Выделяются ресурсы, необходимые процессу для начала работы

2. Готовность ОС выполнила все необходимые действия для начала выполнения процесса; Процесс размещен в физической оперативной памяти (по крайней мере те участки памяти процесса, без которых нельзя начать его выполнение); Процесс захватил все ресурсы необходимые для его выполнения

3. Выполнение Процессу выделен квант времени процессора (только в многозадачных системах с квантованием времени процессора) Процесс находится «в процессоре» - инструкции процесса выполняются, регистры процессора отражают регистровый контекст процесса

4. Ожидание Процесс требует выделения ему новых ресурсов, которые в данный момент заняты; Процесс ожидает подкачки участков памяти своего адресного пространства в физическую оперативную память; Процесс ожидает завершения выполнения системной функции, которую он вызвал (например, для выполнения операции ввода/вывода)

5. Завершение Процесс освобождает захваченные ресурсы Процесс выгружается из памяти Уничтожаются системные таблицы и объекты, связанные с данным процессом

Переход «Запуск – Готовность» Для процесса уже созданы все системные таблицы и объекты; Процесс находится в физической оперативной памяти; Процессу выделены все необходимые ресурсы

Переход «Готовность – Выполнение» Процессу выделен квант времени процессора В соответствии с реализуемой дисциплиной планирования процессов настала очередь данного процесса начать/продолжить свое выполнение

Переход «Выполнение – Готовность» Истек квант времени процессора, отпущенный данному процессу на выполнение В соответствии с реализуемой дисциплиной планирования процессов настала очередь другого процесса начать/продолжить свое выполнение

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

Переход «Ожидание – Готовность» Процесс получил необходимые для продолжения работы ресурсы Недостающие участки адресного пространства были подкачены в физическую оперативную память Системная функция, вызванная процессом, завершила свою работу Закончилась обработка прерывания

Переход «Выполнение – Завершение» Процесс закончил свою работу Произошла ошибка в работе процесса (исключение), в результате которого дальнейшее выполнение процесса невозможно (деление на ноль, обращение по несуществующему адресу памяти, нарушение границ адресного пространства, попытка выполнения неизвестной процессору команды и т.д.)

Уровни управления состояниями процессов Аппаратный уровень Реализуются примитивные операции по управлению процессами: - прерывания; - переключение контекстов задач. Диспетчеризация процессов (уровень ядра) Реализуются примитивы перевода процессов из одного состояния в другое – запуск, приостановка, возобновление, остановка (завершение) Планирование процессов (уровень менеджера процессов) Реализуется строгий и сложный алгоритм управления состояниями процессов с учетом различных факторов, условий функционирования процессов, особенностей аппаратной части и операционной системы

Механизм прерываний Прерывание – ситуация в системе, требующая приостановки процесса и обработки.

Классификация прерываний Аппаратные прерывания – прерывания, вызванные функционированием аппаратуры. Могут быть сгенерированы аппаратно и программно. Немаскируемые (поступают по линии NMI) Маскируемые (поступают по линиям IRQ) Программные прерывания (исключения) – вызваны работой программ (процессов) и не связаны с устройствами в вычислительной системе Нарушения – могут быть отлажены (debug mode) Ловушки – средство вызова системных функций в MS DOS и программной генерации аппаратных прерываний Ошибки – не могут быть отлажены. Всего приводят к завершению работы процесса

Аппаратная часть обработки прерываний По линии IRQ поступает запрос на прерывание от внешнего устройства Контроллер прерывания (IC, PIC, APIC) пересылает данный запрос процессору Если процессор готов обработать прерывание и ему разрешено это сделать (прерывание не замаскировано), то процессор опрашивает IC о необходимости обработки этого прерывания IC опрашивает устройство и, если прерывание действительно нужно обработать, преобразует IRQ в номер прерывания – INT Номер передается процессору и он начинает обработку прерывания в соответствии с определенной моделью IC CPU Внешние устройства Линии IRQ CPU и IC обмениваются IRQ INT

Обработка прерываний в реальном режиме процессора Intel 256 векторов прерываний 00000h 00004h 00008h 0000Ch 000FCh селектор int FFh int 00h int 01h int 02h int 03h сегмент

Обработка прерываний в реальном режиме процессора Intel int N N*4 = X … Таблица векторов прерываний Вектор N offsetsegment Системная область памяти Обработчик iret … push cs push ip pop ip pop cs

Обработка прерываний в защищенном режиме процессора Intel База IDTЛимит IDT IDTR Системный дескриптор сегмента … -Шлюз прерывания (6 или E) -Шлюз ловушки (7 или F) -Шлюз задачи (5) 8 байт база доступ…база лимит база Байт доступа обеспечивает защиту таблицы IDT Хранит информацию о местоположении обработчика IDT

Обработка прерываний в защищенном режиме процессора Intel int N N*8 IDTR IDT дескриптор + Обработчик iretd Сохранение регистрового контекста Передача управления обработчику прерываний Восстановление регистрового контекста

Аппаратная поддержка многозадачности и переключение задач в защищенном режиме процессора Intel GDTR LDTR TR CS LDT Оперативная память TSS Сегмент кода Доп. сегмент основной сегменты кода, данных, стека Дескриптор TSS активного процесса Дескриптор сегмента кода активного процесса Дескриптор доп. сегмента Селектор сегмента кода Селектор TSS Копия дескриптора TSS

Переключение задач Для команд CALL и JMP проверяет привилегии (CPL текущей задачи и RPL селектора новой задачи не могут быть больше, чем DPL шлюза или TSS, на который передается управление). Проверяется дескриптор TSS (его бит присутствия и лимит). Проверяется, что новый TSS, старый TSS и все дескрипторы сегментов находятся в страницах, отмеченных как присутствующие. Сохраняется состояние задачи. Загружается регистр TR. Если на следующих шагах происходит исключение, его обработчику придется доделывать переключение задач, вместо того чтобы повторять ошибочную команду. Тип новой задачи в дескрипторе изменяется на занятый и устанавливается флаг TS в CR0. Загружается состояние задачи из нового TSS: LDTR, CR3, EFLAGS, EIP, регистры общего назначения и сегментные регистры.

Создание процесса в Windows и функция CreateProcess Открытие файла-образа процесса (имя.exe или имя.com) Создание объекта процесс исполнительной системы (PCB) Создание первичного потока Уведомление о создании процесса и первичного потока Начать выполнение первичного потока Инициализировать адресное пространство процесса в контексте нового процесса и потока, подгрузить динамические библиотеки (*.dll) Начать выполнение программы

Создание потока в Windows и функция CreateThread Создание стека пользовательского режима в адресном пространстве процесса Инициализация аппаратного контекста потока Создать объект потока исполнительной системы (в приостановленном состоянии) Уведомление Windows о создании нового потока Вернуть порождающему процессу (потоку) идентификатор и дескриптор (HANDLE) созданного потока Начать выполнение потока

Особенности запуска приложений ОС, совместимых с Windows

Создание процесса в UNIX/Linux и функция fork() Отводит место в таблице процессов под новый процесс. Присваивает порождаемому процессу уникальный код идентификации. Делает логическую копию контекста родительского процесса. Поскольку те или иные составляющие процесса, такие как область команд, могут разделяться другими процессами, ядро может иногда вместо копирования области в новый физический участок памяти просто увеличить значение счетчика ссылок на область. Увеличивает значения счетчика числа файлов, связанных с процессом, как в таблице файлов, так и в таблице индексов. Возвращает родительскому процессу код идентификации порожденного процесса, а порожденному процессу - нулевое значение.