Идентификатор - процесс - Большая Энциклопедия Нефти и Газа, статья, страница 2
Ничто не хорошо настолько, чтобы где-то не нашелся кто-то, кто это ненавидит. Законы Мерфи (еще...)

Идентификатор - процесс

Cтраница 2


Процесс также может получить дескриптор другого процесса ( даже если он не создает его), вызывая функцию Win32: : OpenProcess. В этом случае в функцию: rOpenProcess нужно передать идентификатор процесса, а не имя ( в отличие от объектов синхронизации процессам нельзя задавать имя), как в следующем примере.  [16]

Следует обратить внимание на следующее обстоятельство. Процессы не имеют предопределенных заранее описанных имен или идентификаторов; идентификатор процесса никак не связан с именем программы, выполняемой процессом. На самом деле эти понятия должны быть развязаны.  [17]

Отметим, что при изменении своих идентификаторов ( например, реальный и эффективный идентификаторы пользователя, связанные с процессом) процесс делает их одинаковыми. Поскольку права процесса определяются эффективными идентификаторами, становится понятным требование, чтобы устанавливаемое значение совпадало с реальным идентификатором процесса.  [18]

Тот факт, что образы памяти, переменные, регистры и все остальное у родительского процесса и у дочернего идентично, приводит к небольшому затруднению: Как процессам узнать, который из них должен исполнять родительскую программу, а который дочернюю. Эта проблема решается просто: системный вызов fork возвращает дочернему процессу число 0, а родительскому - отличный от нуля PID ( Process IDentifier - идентификатор процесса) дочернего процесса.  [19]

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

Выполняется обращение к системному вызову NtCreateProcess, чтобы создать пустой объект процесса и поместить его в пространство менеджера объектов. Создаются объект ядра и объект исполняющей системы. Кроме того, менеджер процессов создает для объекта управляющий блок процесса и инициализирует его идентификатором процесса, квотами, маркером доступа и различными другими полями. Также создается объект секции, чтобы следить за адресным пространством процесса.  [21]

Выполняется обращение к системному вызову NtCreateProcess, чтобы создать пустой объект процесса и поместить его в пространство менеджера объектов. Создаются объект ядра и объект исполняющей системы. Кроме того, менеджер процессов создает для объекта управляющий блок процесса и инициализирует его идентификатором процесса, квотами, маркером доступа и различными другими полями. Также создается объект секции, чтобы следить за адресным пространством процесса.  [22]

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

24 Схема возможного подключения нарушителя к вычислительной сети. [24]

В случае пассивного перехвата нарушитель только следит за сообщениями, передаваемыми по соединению, без вмешательства в их поток. Наблюдение нарушителя за данными ( прикладного уровня) в сообщении позволяет раскрыть содержание сообщений. Нарушитель может также следить за заголовками сообщений, даже если данные не понятны ему, с целью определения места размещения и идентификаторов процессов, участвующих в передаче данных.  [25]

Процессы являются более интересными, чем задания, а также более важными. Как и в системе UNIX, процессы представляют собой контейнеры для ресурсов. У каждого процесса есть 4-гигабайтное адресное пространство, в котором пользователь занимает нижние 2 Гбайт ( в версиях Windows 2000 Advanced Server и Datacenter Server этот размер может быть по желанию увеличен до 3 Гбайт), а операционная система занимает остальную его часть. Таким образом, операционная система присутствует в адресном пространстве каждого процесса, хотя она и защищена от изменений с помощью аппаратного блока управления памятью MM U. У процесса есть идентификатор процесса, один или несколько потоков, список дескрипторов ( управляемых в режиме ядра) и маркер доступа, хранящий информацию защиты. Процессы создаются с помощью вызова Win32, который принимает на входе имя исполняемого файла, определяющего начальное содержимое адресного пространства, и создает первый поток.  [26]

Процессы являются более интересными, чем задания, а также более важными. Как и в системе UNIX, процессы представляют собой контейнеры для ресурсов. У каждого процесса есть 4-гигабайтное адресное пространство, в котором пользователь занимает нижние 2 Гбайт ( в версиях Windows 2000 Advanced Server и Datacenter Server этот размер может быть по желанию увеличен до 3 Гбайт), а операционная система занимает остальную его часть. Таким образом, операционная система присутствует в адресном пространстве каждого процесса, хотя она и защищена от изменений с помощью аппаратного блока управления памятью MMU. У процесса есть идентификатор процесса, один или несколько потоков, список дескрипторов ( управляемых в режиме ядра) и маркер доступа, хранящий информацию защиты. Процессы создаются с помощью вызова Win32, который принимает на входе имя исполняемого файла, определяющего начальное содержимое адресного пространства, и создает первый поток.  [27]

28 Некоторые системные вызовы, относящиеся к процессам Системный вызов Описание. [28]

Она считывает команды с терминала, с помощью системного вызова fork выполняет введенную команду, затем ждет окончания работы дочернего процесса, после чего считывает следующую команду. Для ожидания завершения дочернего процесса родительский процесс обращается к системному вызову waitpid. В первом параметре указывается PID процесса, завершение которого ожидается. Если вместо идентификатора процесса указать число - 1, то в этом случае системный вызов ожидает завершения любого дочернего процесса. Третий параметр определяет, будет ли обращающийся к системному вызову waitpid процесс блокирован до завершения дочернего процесса или сразу получит управление после обращения к системному вызову.  [29]

30 Основные функции Win32 API для управления защитой Функция Описание. [30]



Страницы:      1    2    3