> то его архитектура тех лет, между прочим, оч. напоминала Линукс - вначале запускается > ДОС, затем уж поверх него вин-подсистема с гуем (линукс ядро + ИКС-сервер -> десктоп-Тогда уж и архитектура NT ... тоже напоминает DOS :) А то win32 подсистема и полноценная графика и десктоп там тоже стартуют сильно опосля native subsystem (ядра, дров и прочего минимального окружения) и строго говоря, с точки зрения архитектуры, win32 подсистема в винде в общем то опциональна, как и иксы в *никсах. Более того - я бы сильно удивился если бы в какойнить системе взлетала полная графика со всеми наворотами до запуска ядра и основных подсистем - это был бы номер! Линух скорее похож на NT в этом плане. И кое что обшее есть: оба как правило стартуют из non-DOS окружения (то есть, не закладываются на вызовы DOS вообще никак). Оба как минимум 32-битные и почти не используют BIOS в процессе работы, реализуя нужные вызовы самолично в драйверах и ядре. По этой же причине они не могут юзать устройства работающие через BIOS и должны явно имплементить свои драйвера (а 9x будучи частично 16-битным, мог делать и вызовы в BIOS, так что некоторые железки работали и без дров, если BIOS умел с ними работать - касалось дисков и т.п. в основном). Оба защищают память процессов всерьез, напрочь обрубая поползновения, предпринимают меры к ограничению прямого I/O с железом непривилегированных программ, честно деля время между процессами (вытесняящая многозадачность, в 9x вытесняющая была только для 32-битных программ, а для 16-битных - кооперативная, так что любая 16-битная программа могла поставить систему в позу просто заграбастав все ресурсы и не поделившись или перехватив чегонить и т.п.). Общая архитектура Win9x - помоечная куча костылей, жуткая смесь 16 и 32-битного кода и нескольких разных ядер, часть из которых были 16-битными.
|