Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




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

Читайте также:
  1. I. Создание баз данных
  2. Power Point Создание однослайдовой презентации
  3. АВТОМАТИЧЕСКОЕ СОЗДАНИЕ ОГЛАВЛЕНИЯ
  4. Билет 7. Характеристика восприятия и представления как психических процессов.
  5. Билет 9. Характеристика мышления и речи как психических процессов.
  6. Билет 9. Характеристика мышления и речи как психических процессов.
  7. Влияние температуры на тепловые эффекты различных процессов. Закон Кирхгофа
  8. ВОЕННАЯ РЕФОРМА ПЕТРА I. СОЗДАНИЕ РЕГУЛЯРНОЙ РУССКОЙ АРМИИ
  9. ВОЕННЫЕ РЕФОРМЫ В РОССИИ ВО ВТОРОЙ ПОЛОВИНЕ Х1Х-НАЧАЛЕ XX ВВ. СОЗДАНИЕ МАССОВОЙ АРМИИ
  10. Вопрос № 2. Значение принятия христианства для культурных процессов.

Для создания любого процесса служит основное системное средство, а именно – системная функция CreateProcess (), которая вызывается в прикладной программе.

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

Функция CreateProcess имеет следующий формат вызова:

CreateProcess (P1, P2,…, P9);

В результате выполнения этой функции, система создает объекты ядра типа «процесс» с начальным значением параметра, который называется счетчиком числа пользователей процесса, равным единице. Затем, система выделяет для нового процесса область ВАП и загружает в него программный код и данные всех .exe и .dll файлов процесса. Затем формируется объект ядра типа «поток» для первичного потока нового процесса. Перед запуском программы этого потока выполняется стартовая функция системы программирования. Затем начинают выполняться программные коды основной функции первичного потока.

Функция CreateProcess имеет несколько параметров (9), назначение и смысл которых позволяют получить более подробную информацию о действиях системы при выполнении данной функции.

Значение и смысл параметров:

1. Представляет собой указатель на полную командную строку процесса. При выполнении функции CreateProcess эта строка читается и из неё выделяется имя исполняемого файла программы первичного потока. Если в имени этого файла полный путь доступа не указан, то функция осуществляет поиск файла, просматривая несколько каталогов:

1) каталог, содержащий .exe-файл запускаемого процесса;

2) текущий каталог создаваемого процесса;

3) системный каталог Windows;

4) основной каталог Windows;

5) каталоги, перечисляемые в файле автозапуска;

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

2. Также и 3. Определяют атрибуты защиты объектов «процесс» и «поток». Они используются для дочернего процесса, который запускается из исходного. Эти атрибуты могут устанавливаться системой по умолчанию, либо могут задаваться пользователем с помощью двух системных структур данных;

3. -/-

4. Имеет логический тип и определяет возможность наследования в дочернем процессе описателя родительского процесса. Если true, то система передает дочерним процессам наследуемые описатели, и не передает в противном случае;

5. Задает флаги, которые определяют дополнительные свойства создаваемого процесса. Таких флагов несколько, и они могут комбинироваться с помощью операции «или»:

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

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

c) флаги (3), которые определяют порядок работы с консольными (текстовыми) окнами, создаваемыми в родительском или дочернем процессах;

d) флаги (2), определяющие порядок выполнения в системе шестнадцатиразрядных программ. Для таких программ в системе создается специальный режим работы, который называется виртуальной DOS-машиной (VDM). Флаги определяют, является ли эта машина одной для всех шестнадцатиразрядных программ, либо для каждой из них создается своя отдельная VDM. Кроме того, данный параметр позволяет задавать процессу один из шести возможных классов приоритета, а именно:

i) простаивающий;

ii) ниже обычного;

iii) обычный;

iv) выше обычного;

v) высокий;

vi) реального времени.

Классы приоритета влияют на распределение процессорного времени между процессами и потоками;

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

7. Устанавливает текущий диск и текущий каталог для дочернего процесса;

8. Представляет собой указатель на системную структуру данных STARTUPINFO. Элементами этой структуры являются различные вспомогательные характеристики процесса, как то:

a) имя рабочего стола;

b) заголовок консольного окна;

c) координаты (x; y) для верхнего левого угла окна программы;

d) ширина и высота окна в пикселях;

9. Представляет собой указатель на системную структуру данных PROCESS_INFORMATION. В элементах этой структуры функция CreateProcess в ходе своего выполнения записывает описатели объектов ядра типа «процесс» и типа «поток», а также их идентификаторы. Эти параметры используются при завершении работы функции CreateProcess.

 


<== предыдущая страница | следующая страница ==>
Описатель, командная строка, и переменные окружения процесса | Завершение процесса

Дата добавления: 2014-10-10; просмотров: 411; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.