Про реентерабельность модулей ядра MS Windows

Тема в разделе "WASM.ZEN", создана пользователем EvilsInterrupt, 24 мар 2006.

  1. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Если динам. библы *.dll реентерабельны, то относится ли данное понятие к модулям ядра?



    Если да то к каким?

    И как это Увидеть?



    Основные понятия, взял:

    http://www.kolasc.net.ru/cdo/programmes/os/354.htm



    Глубже смотрю в книге Марка Руссиновича про внутренний мир винды, пока не понял, чтоже такое вынесено в нереентерабельность в винде
     
  2. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    Говорить о реентерабельности/нереентерабельности применительно к модулям несколько некорректно. Реентерабельным/нереентерабельным может быть участок кода или на худой конец какая-то финкция/функции модуля, но не весь модуль целиком.



    MS Windows не является монолитной системой, а её ядро не основано на архитектуре микроядра. Ядро MS Windows построено таким образом, чтобы сделать максимальное кол-во кода реентерабельным. Там где необходимо запретить повторное вхождение, как правило, хватаются блокировки (spin-locks) или используются другие механизмы синхронизации, например, мьютексы. Но это очень короткие участки кода. Весь остальной код полностью реентерабелен, а потоки режима ядра обладают теми же самыми правами, что и пользовательские. В том смысле, что могут быть в любой момент вытеснены/прерваны, точно также, как и пользовательские потоки.



    Увидеть это никак нельзя. Только анализируя код (исходники или дизасм) можно обнаружить нереентерабельные участки.
     
  3. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Four-F

    Спасибо, это то что я и хотел услышать!
     
  4. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Если глянуть в djvu вот этого бестселлера ISBN_5-469-01174-7,5-7502-0085-x, то на в самом начале Главы 2, Руссинович или Соломон(вобщем сооавтор) пишет:



    "Характеристики Windows NT в 1989 году определялись следующими требованиями."



    Не ужели о линейке NT-систем начали подумывать в 89м году?
     
  5. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    Да. В исходниках w2k сплошь и рядом мелькает начало 1989. Есть даже датированные 1988 годом. MS мыслит на 10 лет вперёд и, наверное, правильно делает.
     
  6. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347




    Или использует copy+paste из старых ядер :)
     
  7. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    rmn

    Да не сказал бы, чтобы так уж и copy+past, если учесть что над NT работал Катлер, то это наводит мысль о большой проделанной работе. Да и если сравнить устройство 9х и NT, то copy+past тут не слишком пахнет :) Тут и удивляться то нечему, что там все толково не ужто 4000 программеров не способны че нить на кодить?! :)
     
  8. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    Может всё и так, но IE - фигня полная. Я до сих пор сижу под юзером и юзаю Оперу.
     
  9. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    NullSessi0n

    >IE



    Так похоже на системное ПО? :)