Управление процессами Понятие процесса. Представление процесса в различных операционных системах Старший преподаватель каф. Процессов управления и информационной.

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



Advertisements
Похожие презентации
Процессоры Intel в защищенном режиме. Недостатки реального режима Невозможно адресовать пространство памяти свыше 1-го Мб Невозможно работать с массивами,
Advertisements

Системное программное обеспечение Кыргызско – Российский Славянский Университет Кафедра ИВТ, 3-й курс ИВТ, 5 семестр Лекция 9.
1 ЛЕКЦИЯ 3 ХАРАКТЕРИСТИКА ЗАЩИЩЕННОГО РЕЖИМА РАБОТЫ МИКРОПРОЦЕССОРА В реальном режиме работы поддерживается выполнение всего одной программы. Для этого.
Управление процессами Состояния процессов. Управление состояниями процессов.
Управление процессами и потоками в Microsoft Windows Представление процессов Диспетчеризация процессов и потоков Планирование процессов и потоков.
Лекция 2 Управление задачами Процессы и потоки. Процесс Выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ. Стандарт ISO 9000:2000.
Программирование на языке низкого уровня Ассемблер.
Системы реального времени Лекция 4: процессы. Понятие процесса Процесс - фундаментальное понятие любой операционной системы С помощью процессов происходит.
1 Управление памятью Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Процессы и потоки. Процессы В общем представлении, процесс - это программа, выполняющаяся в оперативной памяти компьютера. Реально, все гораздо сложней.
Архитектура ЭВМ и микроархитектура процессора Под архитектурой ЭВМ понимают абстрактное представление вычислительной системы на структурном, схемотехническом.
Управление процессами. Определение процесса. Основные понятия Процесс совокупность машинных команд и данных, которая обрабатывается в рамках вычислительной.
Учебный курс Основы операционных систем Лекция 2 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Управление процессами. Определение процесса. Основные понятия Процесс совокупность машинных команд и данных, которая исполняется в рамках вычислительной.
Лекция 6. Способы адресации в микропроцессорных системах.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 10 Типы адресации. Стеки. Процессоры. ОЗУ. профессор ГУ-ВШЭ, доктор технических наук Геннадий.
Архитектура и обеспечение систем базы данных. СУБД.
Дисциплина: Операционные системы § 7. Организация памяти компьютера План: 1.Физическая память компьютера. 2.Логическая память компьютера. 3.Функции системы.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 1 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Транксрипт:

Управление процессами Понятие процесса. Представление процесса в различных операционных системах Старший преподаватель каф. Процессов управления и информационной безопасности Пермского государственного университета Неверов Алексей Валерьевич

Понятие процесса Процесс – это программа, выполняющаяся в процессоре Синонимами понятия «процесс» являются термины: - программа; - задача.

Характеристики процесса Процесс как самостоятельная сущность рассматривается на уровне архитектуры ЭВМ и на уровне ОС. На уровне архитектуры ЭВМ процесс характеризуется: - контекстом; - адресным пространством. На уровне ОС процесс описывается специальной структурой уровня ядра – PCB (Process Control Block)

Представление процесса на уровне архитектуры ЭВМ Контекст процесса включает в себя: - состояние регистров процессора для данного процесса; - состояние и местоположение системных таблиц для данного процесса; - состояние стеков. Адресное пространство процесса – это совокупность участков памяти (сегментов, страниц, секций), в которых располагаются программный код и данные процесса. В ряде архитектур в состав адресного пространства процесса входит собственный стек

Представление процесса в реальном режиме процессора Intel Сегмент кода Сегмент стека Сегмент данных CS IP SS SP DS + Оперативная память

Адресное пространство процесса в реальном режиме процессора Intel - Представляет собой область памяти для временного хранения данных – стек, используемую по правилу LIFO; - Регистр SS хранит сегментный адрес начала сегмента стека - Регистр SP хранит указатель вершины стека. SS, SPСегмент стека - Хранит данные, которые использует процесс - Регистр DS указывает на начало сегмента данных DSСегмент данных - Хранит программный код процесса - Регистр CS хранит сегментный адрес начала сегмента (физический адрес:16) - Регистр IP хранит смещение (в байтах) текущей инструкции, относительно начала сегмента CS, IPСегмент кода Описание Регистр ы Наименование сегмента

Регистровый контекст процесса в реальном режиме процессора Intel Флаговый регистр. Хранит коды условий, описывающих состояние системы в текущий момент времени FLAGS Хранит смещение верхней ячейки стека относительно начала сегмента стека SP Хранит смещение инструкции, которая должна быть выполнена следующей, относительно начала сегмента кода IP Хранит сегментный адрес начала сегмента стекаSS Хранит сегментный адрес начала сегмента данныхDS Хранит сегментный адрес начала сегмента кодаCS Описание Регистр

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

Адресное пространство процесса в защищенном режиме процессора Intel - Через дескрипторы в таблице LDT - Селекторы дополнительных сегментов хранятся в сегментных регистрах DS, ES, FS, GS, SS Могут содержать код и данные, в т.ч. собственные стеки процесса (задачи) Другие сегменты - Через дескриптор в таблице LDT - Селектор дескриптора всегда хранится в регистре CS Каждая задача обязательно должна иметь хотя бы один сегмент кода Сегмент кода - Через специальный системный дескриптор, который хранится в таблице GDT - Селектор дескриптора и копия самого дескриптора хранятся в регистре TR Task Status Segment – сегмент состояния задачи Хранит полное описание контекста задачи TSS Адресация ОписаниеСегмент

Контекст процесса в защищенном режиме процессора Intel - Регистры общего назначения (EAX, EBX, ECX, EDX, EDI, ESI, ESP, EBP); - Регистры состояния (EIP, EFLAGS); - Регистры состояния процессора (CR0-CR4); - Сегментные регистры (CS, DS, ES, FS, GS, SS); - Регистры управления памятью (LDTR, TR); - Значение поля селектора TSS из регистра TR для процесса, который запустил данный процесс; - Содержимое таблицы LDT; - Содержимое каталогов и таблиц страниц; - Адрес битовой карты ввода/вывода.

Представление процесса на уровне ОС В общем случае – информация о процессе (контекст процесса) ОС хранят в структурах PCB – Process Control Block (блок управления процессом) Структура PCB и состав контекста процесса различен для каждой конкретной ОС

Представление процессов в ОС Windows XP Процесс – абстрактная структура, определяющая единое адресное пространство и контекст одного или нескольких взаимосвязанных потоков Поток – системный объект операционной системы, реально выполняющийся в процессоре. При создании любого процесса всегда создается первичный поток Потоки могут порождать новые потоки Процесс Основной поток Порожденный поток

Структуры Windows для управления процессами и потоками (обобщенная схема)

Структура EPROCESS

Блок процесса ядра (PCB)

Блок переменных окружения процесса (PEB)

Структура ETHREAD

Структура KTHREAD

Блок переменных окружения потока (TEB)

Представление процесса в UNIX/Linux Процесс – программа, выполняющаяся в процессоре Процессы могут порождать новые процессы, используя системные вызовы system(), fork(), exec() В Linux введено понятие потока, но на уровне ядра каждый поток рассматривается как отдельный процесс Основное отличие потоков Linux от процессов заключается в том, что потоки работают в адресном пространстве породившего их процесса и наследуют его контекст

Дерево процессов в UNIX/Linux init P1P2 P3P4P5 Основной процесс – прародитель всех процессов UNIX/Linux Процесс- отец для процесса Р5 Процесс-сын для процесса Р2

Процессы-сироты init P1P2 P3P4P5 Процесс, завершившийся раньше своих потомков без отправки сигнала SIG_TERM или SIG_KILL Процессы-сироты

Процессы-зомби init P1P2 P3P4P5 Процесс завершился раньше, не сообщив об этом «отцу» Отец продолжает ждать от сына результатов, которых никогда не дождется Зомби Процесс-демон

Структуры UNIX/Linux для хранения информации о процессе Таблица процессов – специальная системная таблица ядра, используемая ОС для управления процессом; Пространство процесса – адресное пространство процесса и контекст процесса (регистровый контекст, таблица секций, таблица страниц)

Таблица процессов UNIX/Linux - Поле состояния, которое идентифицирует состояние процесса; - Поля, используемые ядром при размещении процесса и его пространства в основной или внешней памяти; - Несколько пользовательских идентификаторов (UID), устанавливающих различные привилегии процесса; - Идентификаторы процесса (PID), указывающие взаимосвязь между процессами; - Дескриптор события (устанавливается тогда, когда процесс приостановлен); - Параметры планирования, позволяющие ядру устанавливать порядок перехода процессов из состояния "выполнения в режиме ядра" в состояние "выполнения в режиме задачи; - Поле сигналов, в котором перечисляются сигналы, посланные процессу, но еще не обработанные; - Различные таймеры, описывающие время выполнения процесса и использование ресурсов ядра и позволяющие осуществлять слежение за выполнением и вычислять приоритет планирования процесса; - Пользовательские идентификаторы, устанавливающие различные привилегии процесса, в частности, права доступа к файлу; - Поля таймеров, хранящие время выполнения процесса (и его потомков) в режиме задачи и в режиме ядра; - Вектор, описывающий реакцию процесса на сигналы; - Поле операторского терминала, идентифицирующее "регистрационный терминал", который связан с процессом; - Поле ошибок, в которое записываются ошибки, имевшие место при выполнении системной функции; - Поле возвращенного значения, хранящее результат выполнения системной функции; - Параметры ввода-вывода; - Имена текущего каталога и текущего корня, описывающие файловую систему, в которой выполняется процесс; - Таблица пользовательских дескрипторов файла, которая описывает файлы, открытые процессом; - Поля границ, накладывающие ограничения на размерные характеристики процесса и на размер файла, в который процесс может вести запись; - Поле прав доступа, хранящее двоичную маску установок прав доступа к файлам, которые создаются процессом;

Адресное пространство процесса и области процессов

Пользовательский контекст процесса в UNIX/Linux Область памяти, в которой находятся команды процесса (секция.text) Область памяти, в которой находятся данные процесса (секция.data)

Регистровый контекст процесса в UNIX/Linux Все РОНR0-R15Регистры общего назначения SP/ESP/RSPSPУказателя вершины стека FLAGS/EFLAGSPS (PSW)Регистра состояния процессора IP/EIP/RIPPCСчетчика команд, указывающего адрес следующей команды, которую будет выполнять центральный процессор IBM PCVAX-11Название и функции регистра

Системный контекст процесса в UNIX/Linux - Запись в таблице процессов, описывающая состояние процесса; - Часть адресного пространства задачи, выделенная процессу, где хранится управляющая информация о процессе, доступная только в контексте процесса; - Записи частной таблицы областей процесса, общие таблицы областей и таблицы страниц, необходимые для преобразования виртуальных адресов в физические; - Стек ядра, в котором хранятся записи процедур ядра, если процесс выполняется в режиме ядра; - Динамическая часть системного контекста процесса, состоящая из нескольких уровней и имеющая вид стека.