Хибер. Нате
Жаль, но в то время эта задача была практически невыполнимой, а то бы я, возможно, уже сказочно разбогател. :) Или не я. Вряд ли мне принадлежит первенство в рождении этой идеи. Как показала практика, трудность не в сохранении дампа базовой (как тогда это называлось) памяти и содержимого XMS, да и с сохранением состояния контролера клавиатуры и прерываний (как не странно некоторые игры перепрограммировали и то и другое) я бы справился. Мне помешал защищенный режим и оставшееся оборудование.
Сначала на моем пути встал EMM386, этот менеджер VCPI— и EMS-памяти переводил процессор в защищенный режим (protected mode). Программировать под него я не умел, но из того, что знал, я сделал, может быть ошибочный, вывод — я не смогу после восстановления состояния компьютера сделать «так как было». Я решил на защищенный режим «забить» и загружать содержимое EMS уже после старта DOSа и самого EMM386. VCPI я не трогал, да он нигде и не использовался.
Потом появился DOS4GW. Его требовали DOOM и другие игрушки. Эта библиотека (или как это еще назвать?) так же использовала для своих темных дел защищенный режим. Я узнал слово «DPMI». С DPMI так же легко как с EMS я работать не умел, не было документации. Это стало первым гвоздем в гроб моей идеи.
Вторым, и последующими гвоздями, оказалось оборудование. Слово драйвер тогда рождало несколько другие ассоциации, ни о какой универсализации работы с оборудованием речи не шло. Так что нелегкий труд по опросу и сохранению состояния
Шли годы…
Незаметно появилась и вошла в нашу жизнь ОС Windows. Операционная система встала над защищенным режимом. Слово «драйвер» получило другой смысл, прослойка между операционкой и оборудованием… Слова XMS, EMS и VCPI стали забываться, а DPMI — расшифровываться
Идея «
«Здорово», — подумал я, и отправился в недра настроек своей W2K — искать, где у меня спрятан этот самый режим. Найти с первого раза мне его не удалось. Пришлось идти в большой Интернет и читать. Все оказалось просто. Оказывается, по умолчанию возможность использования этого режима отключена. Так исторически сложилось. А для его включения необходимо выполнение двух условий:
- все оборудование, включая материнскую плату, должно уметь работать с ACPI;
- BIOS, который на этот самой плате стоит так же должен знать, что это такое.
Выяснить, как дело обстоит у вас просто — достаточно зайти на «Панель управления» («Control Panel»), там найти «Управление энергопитанием» («Power») и посмотреть, есть ли у вас закладка «Hibernate». Если есть — включайте режим, в списке «
Мне повезло. У меня машина «белой сборки» IBM-IntelliStation-
Ссылки по теме
Hibernate и Win2000
Hibernate и Windows 98
Технология Hibernate и Win2000