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

Discussion in 'WASM.BEGINNERS' started by asmfan, Jul 22, 2007.

  1. asmfan

    asmfan New Member

    Blog Posts:
    0
    Joined:
    Jul 10, 2006
    Messages:
    1,004
    Location:
    Abaddon
    Возник такой вопрос - почему код (секция кода / .text / code readable executable) по дефолту не разделяемый (shared / sharable) для всех сходных процессов?
    /SMC в расчёт не берём - ибо изжило себя./
     
  2. t00x

    t00x New Member

    Blog Posts:
    0
    Joined:
    Feb 15, 2007
    Messages:
    1,921
    какой критерий сходности процессов? имя екзешника?
     
  3. Mental_Mirror

    Mental_Mirror New Member

    Blog Posts:
    0
    Joined:
    May 7, 2007
    Messages:
    431
    t00x
    Явно, одинаковый путь к exe.

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

    asmfan New Member

    Blog Posts:
    0
    Joined:
    Jul 10, 2006
    Messages:
    1,004
    Location:
    Abaddon
    t00x
    Точного Механизма принадлежности shared секций процессам не знаю (возможно Mental_Mirror прав про путь)
    Mental_Mirror
    А почему нет? разве код - не статические данные, не изменяемые во времени (см.#1)?
     
  5. roman_pro

    roman_pro New Member

    Blog Posts:
    0
    Joined:
    Feb 9, 2007
    Messages:
    291
    А как же протекторы и самомодифицирующийся код ?
     
  6. Турецкий

    Турецкий New Member

    Blog Posts:
    0
    Joined:
    Oct 10, 2006
    Messages:
    10
    Они создают копию кода в адресном пространстве каждого процесса, в который была загружена DLL.
     
  7. Mental_Mirror

    Mental_Mirror New Member

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

    asmfan New Member

    Blog Posts:
    0
    Joined:
    Jul 10, 2006
    Messages:
    1,004
    Location:
    Abaddon
    Т.е. PAGE_WRITECOPY априори задействовано для секций без sharable и всё прекрасно разделяется м-ду процессами..., ясн. Спс.