Hibernate

Kernel architecture questions
  • Если не секрет, зачем???
    in code we trust
  • Vlad G. Maslakov
    такая функция вроде есть в VMware - типа save state... ИМХО сохранить содержимое памяти не проблема - проблема загрузить это всё как полагается ;)
  • Если не секрет, зачем???
    Как зачем? Чтобы можно было работать с того момента, на котором закончил. Вроде как полезная вещь.
    проблема загрузить это всё как полагается
    Можно, допустим, сразу перед загрузкой оболочки MeOS (т.е. всяких таскбаров, иконок и т.д.) загрузить образ. Теоретически ;)
  • А откопаю-ка я занесенную песком, илом и землей тему... (да-да, такая нездоровая некрофилия)

    Если я несу бред сивой кобылы, то по почкам не бить, но критика приветствуется.

    Итак одна из вещей которая смызывает красоту возможной реализации - программное выключение питания работает не во всех случаях. Однако при большом желании можно вывести надпись "Теперь можно сделать выкл." и пользователь будет тем самым костылем. Неприятно, но не смертельно - хотя разумеется наши любимые критики могут начать откладывать кирпичи от изобретения очередного костыля, ну да бог с ними.

    Теперь как я вижу реализацию.

    Выключение: идея зародившаяся в межушном узле, заставляет тентаклю нажать клавишу или кликнуть манипулятором. Ядро последовательно тормозит все процессы, кроме себя любимого разумеется. Возможно не за один обход - вероятно придется подождать приложения производящие запись на дисковые носители. Хотя опять вопрос интересный - запись на флопик процесс не быстрый. Далее тормозится планировщик и в работе остается только тот кусок кода, который отвечает за запись содержимого ОЗУ в файл-хранилище. Поскольку кроме Fat32 нам пока реально рассчитывать не на что, то запись всех 4 Гб будет производится в 2 файла по 2 Гб, можно и в 4 по 1 Гб, чтобы уж наверняка исключить накладки. После сохранения содержимого помечаем каким либо образом (загрузочный сектор, ini файл и т.д.), что система была усыплена в спящий режим Разумеется если сохранение прошло корректно - к примеру если есть ошибки в файловой системе, то такую сохраненную сессию придется отвергнуть с потерей данных содержащихся в оперативке.

    Восстановление: идея зародившаяся в межушном узле, заставляет тентаклю нажать клавишу Выкл (отдельные несознательные индивиды обзывают ее Power). Ядро при старте прочухивает что система была успылена. Все физические устройства сбрасываются в исходное состояние (потому что это хоть и не полнокровная, но все же такая же с точки зрения железа загрузка системы). Активируется кусок кода, который считывает и заменяет всю память кроме себя любимого соответственно. Далее все процессы оживляются (раньше еще в Menuet была установка процессу "зомби" статуса, не смотрел в код Колибри как оно есть сейчас) и включается планировщик. Главный вирус нетерпеливо елозит манипулятором по столу...

    Вот как-то так.

    Знаю что сумбурно и неполно, но это всего лишь идейная часть с руководством к действиям. Сами действия собственно придется продумывать.
  • Слишком накладно на диск записывать весь объём ОЗУ...4 Гб записать на винчестер ...сколько это минут займёт?...а потом их же считать придётся...сколько займёт времени загрузка?...тут нужен более хитрый способ...
  • Надо писать лишь области памяти, реально занятые чем-то полезным (ядром системы, приложениями и т.п.). В том случае, если занята вся память, придётся писать всё -- от этого не уйдёшь.
  • Не знаю - Виндовс файл почти во всю память создает, за исключением того куска который восстановлением потом занимается. Сколько при этом записывается данных неизвестно, но размер выделен всегда под максимальный объем.

    А насчет скорости записи - даже если скорость будет 30 Мб/с, то запись будет не более 2,5 минут. Надо понимать, что монопольная работа с дисковым устройством - это достаточно быстрая и эффективная операция. Хотя разумеется записывать только используемые области памяти более эффективно и быстро.
  • Mario
    Суспендить дрова, а потом восстанавливать их состояние то ещё удовольствие.
  • А никто не обещал, что будет легко.
  • Что бы не сливать всю память надо придумать способ её архивировать...похожие данные помечать и писать только 1 раз...ну это как будущее суспендиьния..:)
  • popovpa, отправь свою винду в спящий режим и загрузись из Колибри. Увидишь в корне диска с виндой красивенький файлик, размером точно с твою оперативную память. Такие дела...
  • Вообще-то он там виден и без перезагрузки. Надо только отображение скрытых и системных файлов включить в проводнике.
  • Я знаю про этот файл...но ведь идея про сжатие просто отличная...применять например 7zip...ну или что-то своё...но первая реализация должна конечно же быть самой простой...зато я про такой способ что-то ни разу не слышал...

    Хотя тут просто сжатие не очень подойдёт...тут надо реализовывать алгоритм под конкретную задачу...нам ведь не надо фото или музыку сжимать...у нас на сколько я понимаю только числа?
  • Слишком большой расход времени.
  • Who is online

    Users browsing this forum: No registered users and 8 guests