V>А вот так.. Ты видел Win на которой от оригинального MS-продукта стоит только то, что ты называешь "ядром"?
V>Я вот нет.. поэтому и называю "ядром" всё API..
Это совершенно твоё особое понимание. Мало общего с реальной действительностью.
V>Соотв. если в проекте Linux команда отвечающая за ядро, тестирует только функции ядра (~200 шт),
V>а за всё остальное отвечают множество других команд (и соотв выбор вариантов гораздо больший),
V>То в MS команда отвечает сразу за всё.. и тестить и переносить это "чудо" приходится соответственно.. разом все ~2000 функций..
Серьёзно? Ты был в этой команде, или может знаком с кем-то из этой команды? Сомневаюсь.
Ты слишком увлёкся обобщениями. Микрософт — реальная контора, делющая реальную работу. И, будь уверен, они там деньги считать умеют, и технологический процесс поставить не дураки.
V>У меня вот вообще вопрос, GDI в Win работает через функции ядра? или у него "прямой хак"?
GDI в Windows работает через функции ядра. Обращается к драйверам через функции ядра. Драйверы работают некоторой частью в режиме ядра, некоторой — в пользовательском режиме.
То есть, в режиме ядра отрабатывается минимум, чтобы уменьшить время отклика. Через специальный механизм отложенных вызовов дополнительные более длительные функции отрабатываются в пользовательском режиме.
Кроме того, есть много специальных ухищрений именно в GDI и оконной подсистеме, связанных с дублированием данных, чтобы уменьшить необходимое число "переходов" между режимом ядра и пользовательским режимом. Для каждого окна хранится кроме действительно необходимой ещё некоторое количество "окружающей" информации.
Механизм DLL как раз помогает абстрагироваться от подробностей ядро/драйвер/подсистема. Программы используют просто функции и не берут в голову, на каком уровне они выполняются. Например, в Windows 9x все эти механизмы совершенно другие, там куча "прямых хаков". Но практически все программы работают что там что там — и не жужжат. Это большой плюс.
Естественно, у механизма DLL есть и неудобства. Но просто так поливать их грязью, как тут кто-то высказывался — неверно. Очень полезный механизм.
Естественно, приходится поддерживать множество устаревшего кода, устаревших моделей взаимодействия. И это говорит в плюс Микрософту — совместимость действительно важна, и сделана она очень качественно.
... << RSDN@Home 1.0 beta 7a >>