русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Переменная ядра, связанная с процессами.


Дата добавления: 2013-12-23; просмотров: 673; Нарушение авторских прав


Таблица дескрипторов.

Таблицы дескрипторов.

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

HIGH

Блок KPROCESS.

Содержит дополнительную информацию, которая необходима Windows для потоков, а именно:

· указатель на каталог страниц процесса.

· базовый приоритет по умолчанию: в ОС Windows имеются четыре класса приоритета.

IDLE

NORMAL

REAL_TIME

В Windows 95 всем процессам выделяется квант времени процессора 20 мс. В этом блоке ука-зывается суммарное время работы потока в режиме ядра и пользовательского времени.

 

Расположен в пользовательском адресном пространстве.

В Windows 2000 находится по адресу 7FFDF000h. Содержит следующую информацию, необходимую для работы:

· Адрес кучи процесса по умолчанию.

· Указатель на структуры, описывающий загруженные модули.

· IMTE – описывает все загруженные модули всеми процессами.

· MODREF – содержит список всех модулей, используемых данным процессом.

· Содержит указатель на список файлов, отображённых в памяти, которые используются данным процессом.

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

· Указатель на заголовок списка свободного пространства в куче по умолчанию.

· Указатель на заголовок связанного списка куч процесса.

 

В DOS List OF List – это основная управляющая структура, адрес которой можно получить с помощью соотвествующих прерываний.

Int 52h

Int 21h

 
 
MCB


LOL

 
 

 


Информация о всех открытых файлах содержится в системной таблице файлов. В простейшем случае системная таблица файлов состоит из пяти записей. В этой таблице содержится информация об устройствах:

CON

AUX

PRN



FILES

В общем случае SFT имеет следующую структуру.

 
 

 


SFT содержит список всех открытых файлов.

           
PSP   JFT   Программный код и данные
Каждая запись представляет собой номер

строки в таблице SFT

           
   
 
   
 


Job File Table SFT

       
   
 
 
 
 

 

 


набор однобайтных

записей

   
 
 
 

 


В SFT нельзя создавать больше 255 файлов. Структура записей меняется 53h – 58h.

 

Таблица дескрипторов содержит не только дескрипторы файлов, но и объектов ядра. Структу-ра таблицы дескрипторов имеет следующий вид.

 

Количество записей 4байта
Флаг 1 8 байт
Объект 1
 
Флаг N 8 байт
Объект N

 

Первые 4 байта определяют количество записей в таблице дескрипторов (30h). Если таблица заполнена, то Windows создаёт кучу, делая прибавление 10h и так далее, то есть для Windows ограничения в 255 дескрипторов не существует. После количества записей идёт массив 8 байтных структур. Каждая структура состоит из двух полей.

1 поле. Флаг управления доступом к объекту. Назначение флагов различно для различных типов объекта. Например объект – процесс. Флаг – процесс завершён. Следующее DWORD – указатель базы данных соответствующего объекта.

 

PsActiveProcessHead. Заголовок списка блоков PDB. CreateProcess(…) открывет ехе файл, который будет выполняться в процессе, то есть PDB. Создаёт первичный поток, то есть стек потока, контекст потока (содержимое всех регистров) и объект поток, то есть TDB.

Уведомляет подсистему Win32 о создании нового процесса и потока. Начинает выполнение первичного потока, если в том случае не указан флаг Create_Suspend.

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

 



<== предыдущая лекция | следующая лекция ==>
Структура блока PDB. | Потоки.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.