Управление Памятью Freebsd
Каждый процесс начинает выполнение с тремя сегментами памяти: кода (text), данных и стека. Сегмент данных делится на инициализированные данные и неинициализированные данные (известные также как BSS). Сегмент text является сегментом только для чтения и обычно разделяется между всеми процессами, выполняющими файл, тогда как в области данных и стека может быть осуществлена запись и они индивидуальны для каждого процесса. Сегмент text и инициализированные данные для процесса считываются из исполняемого файла. Исполняемый файл отличается тем, что это обычный файл (а не каталог, специальный файл или символическая ссылка) и для него установлены один или более битов с разрешением доступа на исполнение. У каждого исполняемого файла есть заголовок exec, содержащий магическое число, обозначающее тип исполняемого файла. FreeBSD поддерживает несколько исполняемых форматов, включая следующие. Файлы, которые должны читаться интерпретатором. Файлы, которые могут исполняться непосредственно, включая AOUT, ELF и сжатый gzip ELF. Исполняемый файл вначале анализируется структурой активизации образа (imgact). Заголовок файла, который должен быть выполнен, передается по списку зарегистрированных активаторов образа для обнаружения подходящего формата. Когда подходящий формат найден, соответствующий активатор образа подготавливает файл к выполнению У файлов, попадающих в первую категорию, магическое число (занимающее 2 первых байта файла) представляет собой последовательность из двух символов «#!» , за которыми следует имя пути к интерпретатору, который должен быть использован. Это имя пути в настоящее время ограничено константой времени компиляции в 128 символов. Например, #!/bin/sh ссылается на оболочку Борна. Активатор образа, который будет выбран, обрабатывает вызов интерпретаторов. Он загрузит и запустит указанный интерпретатор, передав в качестве аргумента имя файла, который должен быть интерпретирован. Для предотвращения зацикливаний FreeBSD допускает лишь один уровень интерпретации, и интерпретатор файла не может сам интерпретироваться По соображениям производительности большинство файлов попадают во вторую категорию и являются непосредственно выполняемыми. Информация в заголовке непосредственно выполняемого файла включает архитектуру и операционную систему, для которой исполняемый файл был создан, а также указывает, является ли он статически скомпонованным или использующим разделяемые библиотеки. Выбранный активатор образа может использовать такую информацию, как знание операционной системы, для которой исполняемый файл был откомпилирован, чтобы отконфигурировать ядро для использования соответствующей интерпретации системных вызовов при работе программы. Например, исполняемый файл, построенный для запуска под Linux, может безболезненно работать под FreeBSD с использованием вектора перенаправления системных вызовов, предоставляющим эмуляцию системных вызовов Linux. В заголовке указаны также размеры сегментов text, инициализированных данных, неинициализированных данных и дополнительные сведения для отладки. Отладочная информация не используется ядром или выполняющейся программой. За заголовком следует образ сегмента text, за которым идет образ инициализированных данных. Неинициализированные данные не содержатся в исполняемом файле, поскольку они могут создаваться по требованию с использованием заполненной нулями памяти. Более подробно вы можете ознакомиться с внутренним устройством BSD в библиотеке Unix документации
Статьи по теме:
IBM передаёт фреймворк ACTF в дар EclipseМикропроцессорЗагрузка нескольких различных ОСАрхитектура украинского сегмента сети InternetРоссийские национальные IP-сетиИнтерфейс глобальных сетейНакопители информации в компьютереОписание построения графической схемы терминалаЗарождение кибернетикиДелайте резервные ропии профессионально - Norton Ghost 14Обзор Windows VistaПриостановка печати всех документов Анимация На Рабочем Столе Вашего КомпьютераЗагрузка в альтернативном режиме Темп развития CompactPCIПрограмма 1С Бухгалтерия Предприятия 8ПРИНЦИП ПОСТРОЕНИЯ КОМПЬЮТЕРНЫХ СЕТЕЙLCD мониторыКомпьютер и инвалидыКак работает вирусДругие отличил NetWare 4.xЗадача, решаемая с использованием систем управления базами данныхУровень агентовДиспетчер печати WordPad: Выделение текста кеглем шрифта Цифровая логикаОчистка большой области рисунка Программа AntiVirВыпущена Версия Mobile Forex 2.15: Новый Подход К Надежности И УдобствуСистемы электронной почтыПрограммный код в среде Visual BasicЛинукс привелось в действие приборы: Теперь в рынкеИспользование буфера обмена Советы владельцам виртуальных магазиновОткрытие документа в процессе загрузки операционной системы Обзор возможностей WinRAR 3.70 RU FinalКлассификация прикладных систем и классификация кабельных системМикропроцессорОтличие ЭС от других программных продуктовСОЗДАНИЕ И РАБОТА С ГРАФИЧЕСКОЙ ИНФОРМАЦИЕЙИспользование анонимного ftp по e-mailОткрытие документа из Главного меню Как структура Internet сказывается на Пользователе?Windows Vista как платформаМЕЖДУНАРОДНЫЙ И ОТЕЧЕСТВЕННЫЙ ОПЫТ БОРЬБЫ И ПРЕДУПРЕЖДЕНИЯ КОМПЬЮТЕРНЫХ ПРЕСТУПЛЕНИЙ И ВНОВЬ ВОЗНИКАЮЩИЕ ПРОБЛЕМЫСписки воспроизведения Обмен данными через буфер обмена 3Ds Max 2008 (Rip)Настройка уровня звука Поколения ЭВММикроконтроллерыне СистемыРАЗВИТИЕ ИНФОРМАЦИОННОГО ОБЩЕСТВАШина ISAJava, как объектно-ориентированный языкНовые концентраторы и коммутаторы BayStack компании Bay Networks