Быстрый запуск компьютера
Иллюстрации
Показать всеИзобретение относится к компьютерной технике. Технический результат заключается в обеспечении возможности быстрой готовности к работе компьютера в состоянии, которое согласуется с ожиданием пользователей за счет копирования содержимого энергозависимой памяти в другую энергонезависимую память, причем копируемое содержимое включает в себя сохраненное системное состояние, но не пользовательское состояние, которое больше не сохраняется. Технический результат достигается за счет того, что в целевом состоянии на вычислительном устройстве могут быть закрыты все сеансы пользователей, так что пользовательское состояние больше не сохраняется энергозависимую память. Тем не менее, операционная система все еще может выполняться. В ответ на команду запуска компьютера, данное целевое состояние может быть быстро повторно создано из записанной информации о целевом состоянии. Части последовательности запуска могут выполняться для завершения процесса запуска, включая создание пользовательского состояния. 3 н. и 17 з.п. ф-лы, 8 ил.
Реферат
УРОВЕНЬ ТЕХНИКИ
Компьютеры имеют несколько режимов работы, начиная от работы на полную мощность и заканчивая полным выключением. При работе на полную мощность, программное обеспечение, определяющее исполняющиеся блоки операционной системы, загружается из энергонезависимой памяти в энергозависимую память, из которой оно может быстрее исполняться. Компьютер переходит в данный режим работы на полной мощности через процесс «запуска». Процесс запуска конфигурирует аппаратное обеспечение и загружает операционную систему компьютера. В рамках процесса запуска, устанавливаются драйверы и запускаются службы операционной системы.
Как только компьютер готов для эксплуатации любым пользователем, пользователь может осуществить логический вход на компьютер. Данный логический вход может задействовать дальнейшее конфигурирование компьютера на основании профиля, специфичного для пользователя, который выполняет логический вход. Затем либо автоматически, либо в ответ на ввод пользователя могут загружаться приложения, таким образом, что приложения могут исполняться, используя преимущества возможностей аппаратного обеспечения и служб операционной системы вычислительного устройства.
В процессе загрузки программного обеспечения, как для операционной системы, так и для приложений может выделяться память, параметрам программного обеспечения могут назначаться значения на основании конфигурации аппаратного обеспечения компьютера или профиля пользователя, и могут выполняться прочие действия по конфигурированию.
Эти действия устанавливают «состояние» вычислительного устройства. Дальнейшие изменения касательно памяти и прочих параметров системы, которые определяют ее рабочее состояние, так же могут выполняться по мере того, как пользователь предоставляет команды для взаимодействия касательно исполнения приложений или служб операционной системы.
В режиме полного выключения компонентам аппаратного обеспечения компьютера не подается питание. В энергозависимой памяти не хранится программное обеспечение или информация о состоянии, поскольку данный тип памяти не хранит информацию при выключении питания. Наоборот, любая информация, которая будет использована позже для переконфигурирования компьютера в отношении режима работы на полной мощности, хранится в энергонезависимой памяти.
Компьютер переходит в режим выключения через процесс, именуемый выключением. Во время выключения, любая информация, которая может потребоваться для переконфигурирования компьютера, если она еще не хранится в энергонезависимой памяти, может сохраняться в энергонезависимой памяти. Программное обеспечение и прочая информация о конфигурации, которая была скопирована в энергозависимую память из энергонезависимой памяти, не копируется обратно в энергонезависимую память, поскольку она может быть воссоздана при последующем процессе запуска. Тем не менее, в том объеме, в котором энергозависимая память кэшировала данные, скопированные из энергонезависимой памяти, которые были модифицированы после того как были скопированы (иногда именуемые как «измененные» данные), эти данные копируются в энергонезависимую память во время выключения.
Другой вариант называется логическим выходом. На компьютере, который обеспечивает сеансы пользователей, пользователь может выполнить логический вход на компьютер с тем, чтобы осуществить доступ к его функциональным возможностям. Несмотря на то, что выключением эффективно осуществляется логический выход пользователей, может выполняться отдельный процесс логического выхода, вслед за которым компьютер не выключает питание. Наоборот, операционная система остается загруженной и готовой к логическому входу другого пользователя. Во время логического выхода, компьютер «разрывает» сеансы пользователей. Разрыв сеанса пользователя может вызывать закрытие приложений, запущенных пользователем, и сохранение данных пользователя, которые еще не находятся в энергонезависимой памяти.
В дополнение к полному выключению и логическому выходу, могут существовать режимы энергосбережения, при которых прекращается подача питания к некоторым или ко всем компонентам аппаратного обеспечения компьютера. В режиме энергосбережения, иногда именуемом спящим режимом, прекращается подача питания к процессору компьютера, сетевым интерфейсам и, возможно, прочим компонентам. Тем не менее, подача питания сохраняется к энергозависимой памяти. Таким образом, любая информация о состоянии, созданная при загрузке или при последующей работе компьютера, сохраняется в энергозависимой памяти. Когда питание вновь подается к процессору, то он может возобновить работу в состоянии, в котором он был оставлен при переходе в спящий режим.
Дополнительный режим иногда именуется режимом гибернации. Компьютер переходит в данный режим через процесс, именуемый «гибернацией». Во время гибернации создается файл, который собирает информацию о рабочем состоянии компьютера, и он сохраняется в энергонезависимой памяти, как правило, на жестком диске. Во время процесса возобновления работы из гибернации, может выполняться считывание данного файла с жесткого диска, и он может использоваться для повторного создания состояния компьютера, которое было в момент перехода в гибернацию. Возобновление работы из гибернации восстанавливает в энергозависимой памяти копии программного обеспечения или параметров, заданных во время работы, которые существовали в момент перехода в гибернацию, таким образом, что также восстанавливается любое пользовательское состояние.
Возобновление работы из гибернации может быть быстрее, чем выполнение полного запуска по ряду причин. Одна причина состоит в том, что копирование информации о состоянии из файла гибернации в энергозависимую память повторно создает результаты процесса полного запуска, при этом, исключая время, которое затрачивается на выполнение этапов процесса запуска, таких как потребление ресурсов CPU, инициализация устройства и множество других типов действий, которые должны выполняться во время загрузки. Дополнительно, информация, к которой осуществляется доступ во время запуска, хранится во множестве различных файлов, представляющих собой различные компоненты, к которым осуществляется доступ для загрузки и конфигурирования и которые потенциально могут быть десятками тысяч компонентов операционной системы. Эти компоненты, а также информация, к которой осуществляется доступ, чтобы их сконфигурировать, могут быть произвольно распределены на жестком диске. Поскольку накопители на жестких дисках и некоторые другие виды запоминающих устройств высокой емкости наиболее эффективны при доступе к последовательным данным, то осуществление доступа к произвольно распределенным данным может занимать значительное время доступа к диску, приводя к длительному процессу запуска. В противоположность, время доступа меньше при считывании файла гибернации, поскольку информация в данном файле может храниться на диске последовательно.
Дальнейшее отличие между возобновлением работы из гибернации и запуском состоит в том, что гибернация и последующее возобновление работы восстанавливает полное состояние компьютера, включая любое пользовательское состояние применительно к пользователю компьютера в момент, когда компьютер перешел в состояние гибернации. В противоположность, до тех пор, пока пользователь не выполнит логический вход, запуск конфигурирует компьютер в целом для любого пользователя. Затем конкретные пользователи могут выполнить логический вход или иным образом предпринять действия по конфигурированию компьютера для себя. По этой причине, гибернация, как правило, выбирается пользователем, который намерен находиться вдали от компьютера в течение некоторого времени, однако намерен вернуться к компьютеру. Выключение, как правило, используется пользователем, который намерен находиться вдали от компьютера в течение продолжительного времени, возможно, не возвращаясь к компьютеру совсем, или который ожидает, что прочие пользователи могут использовать компьютер до того, как вернется пользователь.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Чтобы улучшить восприятие со стороны пользователя, компьютер может быть выполнен с возможностью ответа на команду пользователя на выключение посредством перехода в режим гибернации. Такой компьютер может быть быстрее готов к эксплуатации пользователем после того, как пользователь предоставляет команду на запуск компьютера. С тем, чтобы позволить компьютеру быстро быть готовым к работе в состоянии, которое согласуется с ожиданием пользователя, файл гибернации собирает целевое состояние, которое реализует ожидания пользователя. В ответ на команду выключения, компьютер создает данное целевое состояние перед переходом в гибернацию посредством выполнения только части этапов процесса выключения. Выполняемые этапы могут переводить компьютер в целевое состояние, соответствующее состоянию, при котором операционная система остается загруженной, однако сеансы пользователей разорваны.
По приему команды запуска, компьютерная система, вместо того чтобы создавать рабочее состояние посредством загрузки и конфигурирования программного обеспечения, может повторно создавать целевое состояние посредством копирования файла гибернации в энергозависимую память. Затем компьютер может выполнить только части последовательности запуска. Эти части могут включать в себя операции, которые будут обычно происходить во время последовательности запуска после того, как загружена операционная система. Эти этапы могут включать в себя, например, взаимодействие с пользователем для выполнения логического входа пользователя и загрузки приложений, которые определяют пользовательское состояние.
В некоторых вариантах осуществления, может выполняться обработка в зависимости от условий в ответ на команду пользователя, указывающую выключение. Вычислительное устройство может определять, например, находится ли вычислительное устройство в рабочем состоянии, при котором требуется полное выключение, или предпочтительно ли создание файла гибернации для использования в ответ на последующую команду запуска.
Такое состояние может идентифицироваться любым количеством способов, включая посредством определения того, что настройки конфигурации некоторых установленных компонентов были изменены и не будут применены до тех пор, пока компонент не будет вновь загружен как часть последовательности полного запуска. В качестве альтернативы, может быть предоставлен программный интерфейс, который позволяет компонентам приложений регистрироваться как требующие полного выключения.
Если обнаружено такое условие, то может выполняться обычная обработка по выключению до тех пор, пока вычислительное устройство не будет полностью выключено. Если нет, то последовательность выключения может выполняться до тех пор, пока вычислительное устройство не окажется в целевом состоянии, при котором может быть создан файл гибернации.
В некоторых вариантах осуществления, обработка в зависимости от условий может выполняться в ответ на команду пользователя на запуск. Данная обработка в зависимости от условий может включать в себя определение того, присутствует ли файл гибернации. Если да, то дальнейшая проверка может быть выполнена в отношении того, возможно ли, что целевое состояние вычислительного устройства было изменено с момента, когда был создан файл гибернации, до момента, когда была принята команда запуска. Если обнаружены события, которые могли вызвать изменение состояния, то вычислительное устройство может выполнить последовательность полного запуска.
Вышеприведенное является не накладывающим ограничений кратким изложением сущности изобретения, объем которого определяется прилагаемой формулой изобретения.
ПЕРЕЧЕНЬ ЧЕРТЕЖЕЙ
Не подразумевается, что сопроводительные чертежи нарисованы в масштабе. На чертежах, каждый идентичный или близкий к идентичному компонент, который проиллюстрирован на различных фигурах, представлен идентичным цифровым обозначением. Для ясности, на каждом чертеже не каждый компонент может быть обозначен. На чертежах:
Фиг.1 является концептуальной структурной схемой, иллюстрирующей последовательность запуска в вычислительном устройстве;
Фиг.2 является функциональной структурной схемой, иллюстрирующей последовательность возобновления работы из гибернации в вычислительном устройстве;
Фиг.3 является функциональной структурной схемой, иллюстрирующей последовательность быстрого запуска в соответствии с некоторыми вариантами осуществления изобретения;
Фиг.4 является алгоритмической блок-схемой, иллюстрирующей способ работы компьютера для ответа на команду запуска в соответствии с некоторыми вариантами осуществления изобретения;
Фиг.5 является алгоритмической блок-схемой способа работы вычислительного устройства для ответа на команду выключения в соответствии с некоторыми вариантами осуществления изобретения;
Фиг.6 является алгоритмической блок-схемой части последовательности запуска, которая может выполняться в зависимости от условий в соответствии с некоторыми вариантами осуществления изобретения;
Фиг.7 является эскизом части графического интерфейса пользователя, посредством которого пользователь может выбирать из команд, которые предписывают разное поведение вычислительному устройству при выключении; и
Фиг.8 является структурной схемой иллюстративного вычислительного устройства, иллюстрирующей среду, в которой могут работать варианты осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Авторы изобретения признают и оценивают, что восприятие пользователем вычислительного устройства может быть улучшено посредством использования файла гибернации совместно с частями последовательности выключения и/или запуска вычислительного устройства. Такой файл может создаваться выборочно при выключении и использоваться выборочно при запуске таким образом, чтобы производительность вычислительного устройства отвечала ожиданиям пользователя. Даже при создании или использовании файла гибернации могут использоваться обычные части последовательностей выключения или запуска.
Для обеспечения работы вычислительного устройства, которая согласуется с ожиданиями пользователя, режим гибернации может использоваться совместно с частями традиционной последовательности выключения вычислительного устройства, которые переводят вычислительное устройство в целевое состояние. Эти части могут включать в себя, по приему команды выключения, операции, которые разрывают сеансы пользователей. В дополнение, как часть ответа на команду выключения, информация, которая остается в энергозависимой памяти после разрыва сеансов пользователей, но которая предназначена для сохранения в энергонезависимой памяти, перемещается в энергонезависимую память. Например, могут выполняться традиционные операции сброса кэша, которые воспроизводят те, что выполняются при обычном выключении.
И наоборот, при обработке команды запуска, возобновление работы из гибернации может выполняться наряду с частями последовательности запуска. Эта последовательность может включать в себя любую часть последовательности запуска, которая происходит после того, как операционная система загружена и готова к работе. Данная часть последовательности запуска может включать в себя логический вход пользователя и загрузку приложений, например.
Кроме того, для обеспечения работы, которая согласуется с ожиданиями пользователя, создание или использование файла гибернации как части выключения или запуска, может быть обусловлено динамически определяемыми событиями. В сценариях, при которых компонент был переконфигурирован во время сеанса работы так, что изменения конфигурации не применяются до тех пор, пока компонент не будет загружен в следующий раз, может не создаваться никакой файл гибернации. В ответ на следующую команду запуска от пользователя, компьютер обнаружит, что файл гибернации недоступен, и создаст целевое состояние посредством перезагрузки операционной системы. В качестве альтернативы или в дополнение, операционная система может предоставлять интерфейс, посредством которого прочие компоненты могут осуществлять регистрацию для обозначения того, что им требуется полное выключение или запуск для эффективной работы. Когда зарегистрированы исполняющиеся компоненты, в ответ на команду выключения может выполняться последовательность полного выключения.
Кроме того, для работы согласованно с ожиданиями пользователя, в некоторых вариантах осуществления может предоставляться интерфейс пользователя, посредством которого пользователь может указать, выполнять ли обычное выключение или модифицированное выключение, при котором создается целевое состояние, а затем выполняется процесс гибернации. Такой интерфейс пользователя может представлять отдельные опции для последовательности обычного выключения и модифицированного выключения, заключающего в себе гибернацию. Вычислительное устройство может в зависимости от условий вызывать последовательность модифицированного выключения в ответ на ввод, обозначенный как команда обычного выключения. Отдельная опция команды может быть предоставлена посредством интерфейса, при помощи которого пользователь может указать обычное выключение.
Теперь обратимся к фиг.1, где проиллюстрирована функциональная структурная схема последовательности полного запуска. Фиг.1 иллюстрирует функциональную структурную схему вычислительного устройства 100, которое может применяться для работы в соответствии с вариантами осуществления изобретения.
В данном примере, вычислительное устройство 100 включает в себя энергозависимую память 120. Энергозависимая память 120 может быть реализована при помощи DRAM или любых других приемлемых компонентов памяти. Последовательность запуска, выполняемый вычислительным устройством 100, задействует создание информации о состоянии в энергозависимой памяти 120, которая позволяет вычислительному устройству 100 выполнять вычислительные операции, как известно в данной области техники.
В данном примере, эта информация о состоянии изображена как состоящая из двух частей, информации 130 о пользовательском состоянии и информации 140 о состоянии системы. Информация 140 о состоянии системы представляет собой информацию о состоянии, которая конфигурирует вычислительное устройство 100 в целом для эксплуатации любым пользователем. В противоположность, информация 130 о состоянии пользователя представляет собой информацию о состоянии, которая может формироваться, когда вычислительное устройство эксплуатируется или сконфигурировано для эксплуатации конкретным пользователем.
Информация 140 о состоянии системы и информация 130 о пользовательском состоянии могут создаваться в энергозависимой памяти 120 в соответствии с процессом запуска, как известно в данной области техники. Фиг.1 иллюстрирует, в упрощенной концептуальной форме, этапы обычной последовательности запуска. Такая последовательность может быть инициирована, например, когда вычислительное устройство 100 включается или предоставляется иная команда, указывающая запуск.
Вычислительное устройство 100 может включать в себя компоненты, как известно в данной области техники. Эти компоненты могут включать в себя процессор 110. Процессор 110 может быть реализован в качестве микропроцессора или совокупности микропроцессоров или процессорных ядер, как известно в данной области техники. Описываемые здесь операции могут быть результатами исполнения инструкций программного обеспечения процессором 110.
Дополнительно, вычислительное устройство 100 может заключать в себе несколько типов компьютерных носителей данных. В данном случае, эти типы включают в себя энергозависимую память и энергонезависимую память. В данном примере, проиллюстрирована энергозависимая память 120. Различные типы информации хранятся в энергонезависимой памяти 150 и 152. Память 154 начального загрузчика также является энергонезависимой памятью. Различные физические устройства могут использоваться для реализации модулей 150 и 152 энергонезависимой памяти и памяти 154 начального загрузчика. Например, энергонезависимая память 150 может быть диском, таким как вращающийся жесткий диск или твердотельный накопитель. Энергонезависимая память 152 аналогично может быть диском и может быть тем же диском, который используется для реализации энергонезависимой памяти 150, другим разделом на том же диске или полностью другим диском.
Энергонезависимая память 154 так же может быть частью того же устройства, которое используется для реализации модулей 150 и 152 энергонезависимой памяти. Тем не менее, в иллюстрируемом варианте осуществления, энергонезависимая память 154 может быть чипом энергонезависимой памяти, соединенным с процессором 110. Соответственно, следует иметь в виду, что фиг.1 представляет собой лишь пример архитектуры памяти, и может использоваться любая приемлемая архитектура памяти.
В данном примере, проиллюстрированы энергонезависимая и энергозависимая памяти. Такая конфигурация представляет собой традиционную компьютерную архитектуру. Тем не менее, не является требованием, что должна использоваться данная конкретная архитектура. Наоборот, энергозависимая память 120 является примером оперативной памяти. Во время работы вычислительного устройства 100, процессор 110 может преимущественно осуществлять доступ к программному обеспечению и данным для выполнения операций в энергозависимой памяти 120. Данная память может быть относительно высокоскоростной, так что операции могут выполняться процессором быстро.
В противоположность, модули энергонезависимой памяти, такие как энергонезависимая память 150 и 152, могут быть выполнены с возможностью хранения большого количества данных, но могут работать медленнее, чем энергозависимая память 120. В общем, затраты на хранение информации в таких модулях энергонезависимой памяти могут быть относительно небольшими в сравнении с затратами на хранение информации в энергозависимой памяти 120. Для достижения эффективности затрат, но при этом высокой скорости работы, информация может переноситься между модулями энергонезависимой памяти и модулями энергозависимой памяти. Эти переносы выполняются для создания состояния в энергозависимой памяти 120, которое обеспечивает требуемую работу вычислительного устройства 100.
Могут быть представлены прочие компоненты вычислительной системы, но они опущены для упрощения. Дополнительные подробности касательно компонентов, которые могут быть представлены в других вариантах осуществления, предоставлены ниже в связи с фиг.8. Тем не менее, упрощенной иллюстрации на фиг.1 достаточно для объяснения процесса запуска.
В ответ на команду запуска, процессор 110 может осуществить доступ и выполнить инструкции в памяти 154 начального загрузчика. Память 154 начального загрузчика может содержать инструкции, которые предписывают процессору 110 осуществить доступ к модулям 150 и 152 энергонезависимой памяти и на основании программного обеспечения и данных, которые хранятся в этих модулях памяти, сформировать соответствующее состояние в энергозависимой памяти 120.
Инструкции в памяти 154 начального загрузчика могут предписывать процессору 110 загрузить программное обеспечение из энергонезависимой памяти 150. Как часть загрузки компонентов программного обеспечения, процессор 110 может перенести инструкции программного обеспечения в энергозависимую память 120, из которой может исполняться данное программное обеспечение. Тем не менее, загрузка программного обеспечения может включать в себя прочие операции, включающие в себя исполнение некоторых компонентов.
Исполнение некоторых компонентов из энергозависимой памяти 120 может преобразовывать программное обеспечение из состояния, в котором оно хранится, в состояние, при котором оно используется, или предписывать перенос прочих компонентов из энергонезависимой памяти в энергозависимую память 120. В процессе загрузки программного обеспечения, процессор 110 может конфигурировать программное обеспечение на основании данных, которые хранятся в энергонезависимой памяти 152 или другой информации. Данная информация может включать в себя, например, информацию о компонентах аппаратного обеспечения, которые установлены в вычислительном устройстве 100. Соответственно, фиг.1 иллюстрирует, что второй и третий этапы процесса запуска могут служить для получения программного обеспечения из энергонезависимой памяти 150 и данных из энергонезависимой памяти 152.
Первое программное обеспечение, загружаемое в данном процессе, может создавать состояние 140 системы. Исходно загружаемое программное обеспечение может добавлять в состояние 140 системы драйвера 146, которые управляют компонентами аппаратного обеспечения. Перед загрузкой драйвера, могут идентифицироваться компоненты аппаратного обеспечения, связанные с вычислительным устройством 100, и может выбираться соответствующий драйвер. Как только драйвер установлен, службы операционной системы, и прочие компоненты, могут взаимодействовать с устройством, которое управляется посредством драйвера.
Затем могут быть загружены службы 142 операционной системы. Одним примером такой службы может быть файловый менеджер (диспетчер файлов) 144. Файловый менеджер 144 может организовывать данные в энергозависимой памяти таким образом, что при исполнении служб операционной системы и приложений они могут осуществлять доступ к данным в энергонезависимой памяти, которые организованы в соответствии с файлами. Другие службы, которые предоставляются операционной системой, могут включать в себя взаимодействие с интерфейсом пользователя, создание сетевого соединения или отправку информации на принтер. Тем не менее, конкретные службы 142 операционной системы не являются ограничением изобретения.
Дополнительно, во время процесса создания состояния 140 системы, процессор 110 может сохранять данные 148 состояния системы. Такие данные могут копироваться из энергонезависимой памяти, такой как энергонезависимая память 152, или могут формироваться посредством исполнения компонентов программного обеспечения. Данные, например, могут формироваться, когда процессор 110 исполняет инструкции, которые обнаруживают устройства, установленные в вычислительном устройстве 100. В качестве конкретного примера, при обнаружении конкретной карты сетевого интерфейса, процессор 110 может записать как часть данных 148 состояния системы тип и возможности карты сетевого интерфейса. Затем эти данные могут использоваться во время работы вычислительного устройства для управления взаимодействиями с картой сетевого интерфейса. Тем не менее, следует иметь в виду, что конкретные данные, которые хранятся как данные 148 состояния системы, не являются существенными для изобретения.
Вне зависимости от конкретных служб 142 операционной системы и данных 148 состояния системы, которые созданы в информации 140 о состоянии системы, когда информация 140 о состоянии системы создана, вычислительное устройство 100 может быть готово для эксплуатации пользователем. Соответственно, последовательность запуска может быть продолжена процессом, иногда именуемым как логический вход пользователя. В качестве части логического входа пользователя может быть идентифицирован конкретный пользователь и в энергозависимой памяти 120 может быть создана дополнительная информация о состоянии, чтобы позволить вычислительному устройству 100 выполнять операции применительно к данному пользователю. В данном примере, информация 130 о пользовательском состоянии проиллюстрирована как содержащая инструкции 132 приложений и данные 134 пользовательского состояния.
Как в случае инструкций, представляющих компоненты операционной системы, и данных, представляющих состояние системы, инструкции 132 приложений могут быть загружены в память на основании программного обеспечения, которое хранится в энергозависимой памяти 150. Тем не менее, процесс загрузки программного обеспечения может вызывать исполнение функций, которые соответствующим образом конфигурируют программное обеспечение или вычислительное устройство для работы. Данное конфигурирование может зависеть от данных 148 состояния системы или данных 134 пользовательского состояния.
Лишь в качестве одного примера, при загрузке инструкций приложений, реализующих web-браузер, процессор 110 может осуществлять доступ к информации, представляющей собой данные пользователя, либо в энергонезависимой памяти 152, либо в данных 134 пользовательского состояния, которая указывает конкретные web-сайты, которые пользователь указал как «избранные». В данном примере, создание данных 130 пользовательского состояния конфигурирует web-браузер применительно к исполнению в соответствии с предпочтениями пользователя, которые будут включать в себя представление списка избранных сайтов, отобранных для конкретного пользователя, который выполнил логический вход на вычислительном устройстве 100.
Как только завершен логический вход пользователя, затем пользователь может взаимодействовать с вычислительным устройством 100. Эти взаимодействия могут приводить к загрузке дополнительного программного обеспечения или к закрытию некоторых загруженных приложений. Дополнительно, взаимодействия пользователя могут задавать параметры или предпринимать прочие действия, которые могут менять либо пользовательское состояние 130, либо состояние 140 системы. Эти взаимодействия могут продолжаться до тех пор, пока пользователь не введет команду, указывающую на его намерение завершить сеанс.
Сеанс может быть завершен одним из нескольких способов. Например, когда пользователь завершает сеанс взаимодействия с вычислительным устройством 100, то пользователь может выполнить логический выход и/или выключить вычислительное устройство 100. Логический выход приводит к разрыву сеанса пользователя таким образом, что информация 130 о пользовательском состоянии более недоступна в памяти 120. Часть последовательности логического выхода может задействовать удаление пользовательских настроек из состояния 140 системы. Таким образом, второй пользователь может выполнить логический вход на вычислительном устройстве 100, при этом на него не оказывает влияние, и он не имеет доступа к информации о состоянии, которая сформирована предшествующим пользователем. Операции для достижения данного результата могут иногда описываться как разрыв сеанса пользователя.
Состояние 140 системы может быть сохранено после логического выхода, поскольку может быть сохранена подача питания к памяти 120. В противоположность, выключение может привести к тому, что как пользовательское состояние 130, так и состояние 140 системы будут удалены из энергозависимой памяти 120. Поскольку выключается питание энергозависимой памяти 120, то любая информация в энергозависимой памяти по окончанию последовательности выключения будет потеряна. Соответственно, любая информация, которая требуется для повторного создания данного состояния, если еще не сохранена в энергонезависимой памяти, может быть перемещена в энергонезависимую память.
Последовательности логического выхода и выключения не обязательно являются обратными последовательностями запуска, поскольку нет необходимости в возврате любой информации, сформированной из модулей энергонезависимой памяти. Точно такая же информация может быть вновь сформирована при последующем запуске. Тем не менее, части пользовательского состояния 130, которые были динамически сформированы во время сеанса и не могут быть повторно созданы из информации в энергонезависимой памяти, могут, как часть операции логического выхода или выключения, быть записаны в энергонезависимую память. Аналогичным образом, при выключении, части данных 148 состояния системы, которые не могут быть повторно созданы при повторном выполнении последовательности запуска, могут переноситься в энергонезависимую память как часть последовательности выключения.
В качестве одного примера, данные 148 состояния системы могут содержать кэш, который служит в качестве рабочей копии элементов данных, которые хранятся в энергонезависимой памяти 152. Кэш ускоряет работу вычислительного устройства 100 посредством создания в энергозависимой памяти копии информации, которая должна храниться в энергонезависимой памяти. Считывание или запись информации в ячейку быстрой энергозависимой памяти ускоряет работу вычислительного устройства в сравнении с осуществлением доступа к тем же самым данным в энергонезависимой памяти.
Когда копия данных в энергозависимой памяти меняется, то она более не совпадает с соответствующими данными в энергонезависимой памяти. Говорят, что данные в кэше являются «измененными». Чтобы обеспечивать синхронизацию энергонезависимой памяти с копией в кэше, измененные данные копируются, время от времени, в энергонезависимую память. Как правило, измененные данные копируются обратно, когда компьютер не занят иным образом.
Тем не менее, задержка копирования измененных данных создает возможность, при которой в момент выключения данные в кэше не будут совпадать с данными в энергонезависимой памяти. Чтобы избежать противоречий, перед выключением вычислительного устройства 100 может выполняться операция, иногда именуемая сбросом измененных данных. В течение данной операции, измененные данные копируются на энергонезависимое запоминающее устройство.
Несмотря на то, что проиллюстрированный на фиг.1 последовательность запуска является желательным, поскольку он конфигурирует вычислительное устройство 100 для эксплуатации пользователем, однако последовательность запуска может, в некоторых обстоятельствах, быть источником неудовлетворенности. Операционная система и приложения, которые требуются пользователю, коллективно содержат тысячи или десятки тысяч компонентов. Вследствие этого, последовательность запуска может задействовать множество операций считывания из модулей 150 и 152 энергонезависимой памяти. Поскольку, как правило, эти модули памяти работают медленнее, то весь процесс может быть относительно медленным. Дополнительно, последовательность запуска может вызывать затратные по времени операции, отличные от связанных с хранением операций. Дополнительно время может тратиться, например, на вычисления посредством CPU или инициализацию устройства.
Фиг.2 иллюстрирует альтернативный подход к созданию информации о состоянии в энергозависимой памяти. Фиг.2 иллюстрирует вычислительное устройство 100 во время последовательности работы, при котором информация о состоянии создается в энергозависимой памяти 120 как часть последовательности возобновления работы из гибернации.
Гибернация является режимом работы, который может быть создан посредством копирования информации о состоянии из энергозависимой памяти в энергонезависимую память. Такая информация о состоянии может быть организована любым приемлемым способом. В проиллюстрированном на фиг.2 варианте осуществления информация о состоянии проиллюстрирована как хранящаяся в файле 210 гибернации в энергонезависимой памяти 152. Во время гибернации процессор 110 может копировать информацию о состоянии, включающую в себя информацию 130 о пользовательском состоянии и информацию 140 о состоянии системы, в файл 210 гибернации. Затем переходят в режим гибернации посредством выключения питания всех или части компонентов вычислительной системы 100. Когда питание выключается, информация о состоянии в энергозависимой памяти 120 теряется. Тем не менее, она может быть повторно создана при возобновлении работы из гибернации посредством копирования файла гибернации в энергозависимую память.
Соответственно, фиг.2 показывает то, что последовательность возобновления работы из гибернации может начинаться аналогично последовательности запуска, проиллюстрированно