рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Создание процесса

Создание процесса - Лекция, раздел Компьютеры, Архитектура компьютерной системы Обычно Процесс Создается Другим Процессом Вызовом Win32-Функции Createprocess...

Обычно процесс создается другим процессом вызовом Win32-функции CreateProcess (а также CreateProcessAsUser и CreateProcessWithLogonW ). Создание процесса осуществляется в несколько этапов.

На первом этапе, выполняемом библиотекой kernel32.dll в режиме пользователя, на диске отыскивается нужный файл-образ, после чего создается объект "раздел" памяти для его проецирования на адресное пространство нового процесса.

На втором этапе выполняется обращение к системному сервису NtCreateProcess для создания объекта "процесс". Формируются блоки EPROCESS, KPROCESS и блок переменных окружения PEB. Менеджер процессов инициализирует в блоке процесса маркер доступа (копируя аналогичный маркер родительского процесса), идентификатор и другие поля.

На третьем этапе в уже полностью проинициализированном объекте "процесс" необходимо создать первичный поток. Это, посредством системного сервиса NtCreateThread, делает библиотека kernel32.dll.

Затем kernel32.dll посылает подсистеме Win32 сообщение, которое содержит информацию, необходимую для выполнения нового процесса. Данные о процессе и потоке помещаются, соответственно, в список процессов и список потоков данного процесса, затем устанавливается приоритет процесса, создается структура, используемая той частью подсистемы Win32, которая работает в режиме ядра, и т.д.

Наконец, запускается первичный поток, для чего формируются его начальный контекст и стек, и выполняется запуск стартовой процедуры потока режима ядра KiThreadStartup. После этого стартовый код из библиотеки C/C++ передает управление функции main() запускаемой программы.

– Конец работы –

Эта тема принадлежит разделу:

Архитектура компьютерной системы

Вступительная лекция... Архитектура компьютерной системы Компоненты... Классификация компьютерных систем...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Создание процесса

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Компоненты компьютерной системы
В данной лекции рассмотрим более подробно архитектуру компьютерной системы. Будут рассмотрены следующие вопросы: функционирование компьютерной системы архитектура ввода-выво

Функционирование компьютерной системы
Преимущество описанного модульного подхода к аппаратуре в том, что центральный процессор, память и внешние устройства могут функционировать параллельно. Работой каждого устройства управляет специал

Обработка прерываний
Прерывание означает временное прекращение основного процесса вычислений для выполнения некоторых запланированных или незапланированных действий, вызываемых работой аппаратуры или программы.Т.е. это

Архитектура ввода-вывода
На рис. 4.2 изображена временная диаграмма прерываний процессора, выполняющего ввод-вывод.     увеличить изображение Рис. 4.2. Временная

Аппаратная защита памяти и процессора
В целях совместного использования системных ресурсов (памяти, процессора, внешних устройств) несколькими программами, требуется, чтобы аппаратура и операционная система обеспечили невозможность вли

Определение и назначение
  Чтобы лучше понять место и роль операционной системы в процессе вычислений, рассмотрим компьютерную систему в целом. Она состоит из следующих компонентов: Апп

Управление процессами.
Подсистема управления процессами непосредственно влияет на функционирование вычислительной системы. Для каждой выполняемой программы ОС организует один или более процессов. Каждый такой процесс пре

Управление памятью.
Подсистема управления памятью производит распределение физической памяти между всеми существующими в системе процессами, загрузку и удаление программных кодов и данных процессов в отведенные им обл

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

Управление внешними устройствами.
Функции управления внешними устройствами возлагаются на подсистему управления внешними устройствами, называемую также подсистемой ввода-вывода. Она является интерфейсом между ядром компьютера и все

Защита данных и администрирование.
Безопасность данных вычислительной системы обеспечивается средствами отказоустойчивости ОС, направленными на защиту от сбоев и отказов аппаратуры и ошибок программного обеспечения, а также средства

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

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

Лекция 3 История создания
Первым этапом развития системного программного обеспечения можно считать использование библиотечных программ, стандартных и служебных подпрограмм и макрокоманд. Концепция библиотек подпрограмм явля

Распределение памяти в однозадачной ОС с пакетной обработкой заданий
    Рис. 2.1. Распределение памяти в простой системе пакетной обработки Оно очень простое: операционная система занимает постоянно смежную облас

ОС пакетной обработки с поддержкой мультипрограммирования
Более развитые операционные системы поддерживают режим мультипрограммирования –одновременной обработки и размещении в памяти сразу нескольких пользовательских заданий. Распределени

Ключевые термины
  Теория построения операционных систем в этот период обогатилась рядом плодотворных идей. Появились различные формы мультипрограммных режимов работы, в том числе разделение времени –

Диалекты UNIX
Одним из наиболее широко используемых семейств операционных систем с 1970-х гг. является UNIX. Существуют сотни диалектов UNIX. Все они имеют ряд общих возможностей, в том числе – мощные командные

Лекция 4 Архитектура операционных систем
Основные части ОС. Ядро (kernel) –низкоуровневая основа любой операционной системы, выполняемая аппаратурой в особом привилегированном режиме(подробно о н

Принцип генерируемости ОС
Основное положение этого принципа определяет такой способ исходного представления центральной системной управляющей программы ОС (ее ядра и основных компонентов, которые должны постоянно находиться

Принцип совместимости
  Одним из аспектов совместимости является способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной операционной системы, а также для другой апп

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

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

Общее описание структуры системы
Архитектура ОС Windows (в данном разделе она излагается, следуя главным образом [3] и [6]), претерпела ряд изменений в процессе эволюции. Первые версии системы имели микроядерный дизайн, основанный

Подсистема Win32
Поскольку практическая часть данного курса предполагает разработку и выполнение разнообразных Win32-приложений, которые работают в среде, создаваемой Win32-подсистемой, необходимо рассмотреть ее бо

Ловушки
Общим для реализации рассматриваемых основных механизмов является необходимость сохранения состояния текущего потока с его последующим восстановлением. Для этого в ОС Windows используется ме

Приоритеты. IRQL
В большинстве операционных систем аппаратные прерывания имеют приоритеты, которые определяются контроллерами прерываний. Однако ОС Windows имеет свою аппаратно-независимую шкалу приоритетов, которы

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

Внутреннее устройство процессов в ОС Windows
В 32-разрядной версии системы у каждого процесса есть 4-гигабайтное адресное пространство, в котором пользовательский код занимает нижние 2 гигабайта (в серверах 3 Гбайта). В своем адресном простра

Состояния потоков
Каждый новый процесс содержит, по крайней мере, один поток, остальные потоки создаются динамически. Потоки составляют основу планирования и могут: выполняться на одном из процессоров, ожидать событ

Отдельные характеристики потоков
Идентификаторы потоков, так же как и идентификаторы процессов, кратны четырем, выбираются из того же пространства, что и идентификаторы процессов, и с ними не пересекаются. Как уже говорил

Внутреннее устройство потоков
Перейдем к формальному описанию потоков. Материал этого раздела в равной мере относится как к обычным потокам пользовательского режима, так и к системным потокам режима ядра. Подобно проце

Создание потоков
Создание потока инициируется Win32-функцией CreateThread, которая находится в библиотеке Kernel32.dll. При этом создается объект ядра "поток", хранящий статистическую информацию о создава

Контекст потока, переключение контекстов
Особую роль в структурах данных, описывающих потоки, играет контекст потока. Информацию, входящую в состав контекста, необходимо периодически сохранять и восстанавливать в случае возникновения разл

Способы межпроцессного обмена.
Традиционно считается, что основными способами межпроцессного обмена являются каналы и разделяемая память (рис. 7.1), которые базируются на соответствующих объектах ядра.   &

Каналы связи
Основной принцип работы канала состоит в буферизации вывода одного процесса и обеспечении возможности чтения содержимого программного канала другим процессом. При этом часто интерфейс программного

Переменная-замок
Одним из возможных не вполне корректных решений проблемы синхронизации является использование переменной-замка. Например, можно сделать условием вхождения в критическую секцию значение 0 некоторой

Синхронизация на основе общих семафоров
Мы уже начали рассматривать семафоры Дейкстры как средство синхронизации в обзорной части курса. Здесь мы рассмотрим их более подробно в общем виде. Общий семафор (counting semaphore)

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги