Если динам. библы *.dll реентерабельны, то относится ли данное понятие к модулям ядра? Если да то к каким? И как это Увидеть? Основные понятия, взял: http://www.kolasc.net.ru/cdo/programmes/os/354.htm Глубже смотрю в книге Марка Руссиновича про внутренний мир винды, пока не понял, чтоже такое вынесено в нереентерабельность в винде
Говорить о реентерабельности/нереентерабельности применительно к модулям несколько некорректно. Реентерабельным/нереентерабельным может быть участок кода или на худой конец какая-то финкция/функции модуля, но не весь модуль целиком. MS Windows не является монолитной системой, а её ядро не основано на архитектуре микроядра. Ядро MS Windows построено таким образом, чтобы сделать максимальное кол-во кода реентерабельным. Там где необходимо запретить повторное вхождение, как правило, хватаются блокировки (spin-locks) или используются другие механизмы синхронизации, например, мьютексы. Но это очень короткие участки кода. Весь остальной код полностью реентерабелен, а потоки режима ядра обладают теми же самыми правами, что и пользовательские. В том смысле, что могут быть в любой момент вытеснены/прерваны, точно также, как и пользовательские потоки. Увидеть это никак нельзя. Только анализируя код (исходники или дизасм) можно обнаружить нереентерабельные участки.
Если глянуть в djvu вот этого бестселлера ISBN_5-469-01174-7,5-7502-0085-x, то на в самом начале Главы 2, Руссинович или Соломон(вобщем сооавтор) пишет: "Характеристики Windows NT в 1989 году определялись следующими требованиями." Не ужели о линейке NT-систем начали подумывать в 89м году?
Да. В исходниках w2k сплошь и рядом мелькает начало 1989. Есть даже датированные 1988 годом. MS мыслит на 10 лет вперёд и, наверное, правильно делает.
rmn Да не сказал бы, чтобы так уж и copy+past, если учесть что над NT работал Катлер, то это наводит мысль о большой проделанной работе. Да и если сравнить устройство 9х и NT, то copy+past тут не слишком пахнет Тут и удивляться то нечему, что там все толково не ужто 4000 программеров не способны че нить на кодить?!