<<
>>

Общий код

При выполнении процесса содержимое его областей данных и стека может меняться, но код не меняется никогда. Часто случается, что несколько процессов выполняют одну и ту же программу, например, несколько пользователей могут работать с одной оболочкой.
Поэтому общий код повышает эффективность памяти. Когда системный вызов ехес собирается загрузить процесс, он открывает файл с образом этого процесса и считывает заголовок. Если у процесса раздельные адресные пространства кода и данных, среди всех ячеек таблицы шргос осуществляется поиск по полям mp_dev, mp_ino, mp_ctime. Эти поля содержат информацию о номере индексного узла и времени модификации образов, исполняемых другими процессами. Если обнаруживается процесс, который уже выполняет нужную программу, то выделять память под еще одну копию кода не нужно. Вместо этого в карту памяти нового процесса в поле mp_seg [т] записывается указатель на ту область памяти, где уже хранится код, а память выделяется только под данные и стек (рис. 4.31). Если загруженного образа найдено не было или адресные пространства кода и данных объединены, память выделяется согласно рис. 4.30 и заполняется данными с диска.

Помимо информации о сегментах, шргос хранит идентификатор самого процесса и его родителя, идентификаторы пользователя и группы (реальное и эффективное значения), информацию о сигналах и код возврата, если процесс уже завершился, но его родитель еще не завершил вызов wait. В шргос есть поля таймера для si gal arm, а также накопленного времени пользователя и системы для дочерних процессов. В ранних версиях MINIX за эти поля отвечало ядро, однако в MINIX 3 это делает менеджер процессов.

<< | >>
Источник: Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание. 2007

Еще по теме Общий код:

  1. Общий обзор
  2. 2. Общий и специальные сроки исковой давности
  3. 7.1. Общий взгляд на проблему
  4. 7.1. Общий взгляд на проблему
  5. ПСИХОАНАЛИЗ: ПРИНЦИП ОБЩИЙ
  6. 2. Общий порядок заключения договоров
  7. ОБЩИЙ СИНТЕЗ: ЗАПАДНАЯ ПОЛОВИНА
  8. ОБЩИЙ СИHТЕЗ: ВОСТОЧHАЯ ПОЛОВИHА
  9. 2. Общий вывод из единичных фактов
  10. 1. Общий анализ энергетической системы пациента.
  11. Роберт находит общий язык с детьми
  12. Вот общий итог Трёх Аксиом Справедливости.
  13. § 4. Содержание корпоративных прав: Общий обзор (п. 2229-2234)
  14. 9.19. Лечебно-профилактический массаж по системе До-Ин (общий для всех каналов)
  15. § 11. Содержание товарищеских прав: Общий обзор. Правоотношения по поводу общего имущества (п. 2272-2279)