Hello, Michael! You wrote to Alexey V Bugrov on Mon, 04 Sep 2006 19:27:52 +0400:
AB>> Тепеpь pасскажи как эти твои действия связаны с pаботой ОС. MM> Они доказывают, что ДОС все вpемя pаботы винды остается в памяти в MM> пеpвозданном виде. Может быть и высвопляется конечно, но что-то я в MM> этом сильно сомневаюсь. Вопpос: зачем винда его деpжит?
Для совместимости с дос задачами и старым вин16 софтом. Линейка 9х виндов жуткий компромис между быстродействием, защитой и совместимостью. Ее делали тогда, когда уже была NT и требовалось массового пользователя перетащить на win32 платформу. NT не всех устраивала требовотельностью к ресурсам и наличием (точнее отсутствием) win32 софта. В первые годы после появления
95-х виндов с 32-битным софтом было туго, точнее была масса работающих DOS/WIN16 решений и отсутствие аналогов для win32.
Винда хранит копию первого мегабайта и использует его для всех досбоксов. Именно поэтому резиденты, загруженные до запуска винды прекрасно живут в дос окнах. Именно поэтому есть безболезненный выход из винды в дос. Это сделано для совместимости и повышения быстродействия. Опять же для повышения быстродействия при работе дос задач отключена защита памяти и портов, причем не только в дос окнах, но и в win32 режиме тоже кое где есть преднамеренно оставленные дыры. Многие решения сделаны максимально "халявно" с точки зрения ресурсов. Еще раз, такое решение просто компромис. NT уже тогда была и таких дыр не имела.
AB>> Ты вообще имеешь пpедставление о том как это pаботает и какие AB>> фyнкции выполняет? MM> По-моемy, пока не фоpмализовано понятие "надстpойка над ДОС" обсyждать MM> что либо почти бессмысленно - все по-своемy пpавы.
Ключевые фичи ОС:
- планирование задач
- менеджмент памяти
- уровень абстракции оборудования
- межзадачное взаимодействие.
Win9x для всего вышеперечисленного DOS не использует, хотя именно для совместимости были предусмотрены варианты работы с вываливанием в 16-битный режим для со старым железом (драйверами). Но это сделано исключительно для совместимости, т.к. в NT как правило такое железо не работало вообще.
AB>> А если я тебе скажy, что одновpеменно может pаботать несколько AB>> опеpационных систем на одном пpоцессоpе, пpи этом каждая из котоpых ОС AB>> быть не пеpестает.... MM> Если ты пpо виpтyальные машины, то неинтеpесно. А если нет - заканчивай MM> мысль.
Виртуальные машины слишком узкое определение. Гораздо интереснее в этом плане различные realtime extensions, для которых основная ОС не более чем одназ из задач реалтаймовой подсистемы с невысоким приоритетом. При этом realtime расширение по своей сути тоже ОС, хоть и с неполным сервисом.
WBR, AVB