Архитектура современных операционных систем
55 командный процессор заносит значения все переменных среды и родительскую командную строку. Если несколько пользователей одновременно запускают на выполнение одну и туже программу, то все сегменты уникальны, кроме сегментов текста, которые ссылаются на одну физическую область (рис. 2.26.). Ядро Unix содержит таблицу областей и выделяет в ней по одной записи каждой активной области памяти. Запись таблицы содержит следующие пара- метры: 1) указатель на индексный дескриптор файла, откуда была загружена область; 2) тип области (стек, текст, данные); 3) размер области в байтах; 4) место расположения в памяти; 5) счетчик ссылок; Система поддерживает ряд операции с областями памяти: 1) Блокировать / Снять блокировку; 2) Выделить / Освободить; 3) Присоединить к адресному пространству / отсоединить; 4) Изменить размер; 5) Загрузить область из файла; 6) Копировать область; Каждый процесс, в свою очередь имеет частную таблицу областей (рис. 2.26.). В зависимости от реализации системы эта таблица может находиться ли- бо в адресном пространстве самого процесса, либо в таблице процессов, либо в специальной области. Она содержит по одной записи на каждую область про- цесса. Эти записи содержат такие же характеристики области, как и системные таблицы областей и ссылаются на соответствующий элемент в системной таб- лице областей. Многие версии UNIX поддерживают отображение файлов в адресное пространство. Это свойство позволяет отобразить файл или часть файла на не-
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy