Головна |
У 32-розрядної версії системи у кожного процесу є 4-гігабайтний адресний простір, в якому користувальницький код займає нижні 2 гігабайти (в серверах 3 Гб). У своєму адресному просторі, яке представляє собою набір регіонів і описується спеціальними структурами даних (див. Частину III "система управління пам'яттю"), процес містить потоки, облікову інформацію і посилання на ресурси, які усуспільнюється усіма потоками процесу.
Блок управління процесом (PCB) реалізований у вигляді набору пов'язаних структур, головна з яких називається блоком процесу EPROCESS. Відповідно, кожен потік також представлений набором структур на чолі з блоком потоку ETHREAD. Ці набори даних, за винятком блоків змінних оточення процесу і потоку (PEB і TEB), існують в системному адресному просторі. Спрощена схема структур даних процесу показана на рис. 5.2.
Мал. 5.2. Керуючі структури даних процесу
Вміст блоку EPROCESS докладно описано в [6]. Блок KPROCESS (на рис. Праворуч), блок змінних оточення процесу (PEB) і структура даних, підтримувана підсистемою Win32 (блок процесу Win32), містять додаткові відомості про об'єкт "процес".
Ідентифікатор процесу кратний чотирьом і використовується в ролі байтового індексу в таблицях ядра нарівні з іншими об'єктами.
Лекція 4 Архітектура операційних систем | Принцип генерування ОС | принцип сумісності | Принцип відкритої і нарощуваною ОС | Принцип забезпечення безпеки обчислень | Класифікація операційних систем | Загальний опис структури системи | підсистема Win32 | пастки | Пріоритети. IRQL |