Разделяемый код

Тема в разделе "WASM.BEGINNERS", создана пользователем asmfan, 22 июл 2007.

  1. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Возник такой вопрос - почему код (секция кода / .text / code readable executable) по дефолту не разделяемый (shared / sharable) для всех сходных процессов?
    /SMC в расчёт не берём - ибо изжило себя./
     
  2. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    какой критерий сходности процессов? имя екзешника?
     
  3. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    t00x
    Явно, одинаковый путь к exe.

    asmfan
    Почему вдруг она (секция) должна быть разделяемая?
     
  4. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    t00x
    Точного Механизма принадлежности shared секций процессам не знаю (возможно Mental_Mirror прав про путь)
    Mental_Mirror
    А почему нет? разве код - не статические данные, не изменяемые во времени (см.#1)?
     
  5. roman_pro

    roman_pro New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    291
    А как же протекторы и самомодифицирующийся код ?
     
  6. Турецкий

    Турецкий New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2006
    Сообщения:
    10
    Они создают копию кода в адресном пространстве каждого процесса, в который была загружена DLL.
     
  7. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    Явно нет. Вообще известный факт, что одни и те же страницы копий одной и той же программы совпадают, т.е. здесь можно сказать что они разделяемые. Если вдруг страницы в одной из копий изменяются, то включается механизм "копирование при записи". Про это очень хорошо писал дядя Рихтер.
     
  8. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Т.е. PAGE_WRITECOPY априори задействовано для секций без sharable и всё прекрасно разделяется м-ду процессами..., ясн. Спс.