BRPI0618586A2 - método e aparelho para inicialização rápida de um sistema operacional - Google Patents

método e aparelho para inicialização rápida de um sistema operacional Download PDF

Info

Publication number
BRPI0618586A2
BRPI0618586A2 BRPI0618586-0A BRPI0618586A BRPI0618586A2 BR PI0618586 A2 BRPI0618586 A2 BR PI0618586A2 BR PI0618586 A BRPI0618586 A BR PI0618586A BR PI0618586 A2 BRPI0618586 A2 BR PI0618586A2
Authority
BR
Brazil
Prior art keywords
file
state
files
during
processing
Prior art date
Application number
BRPI0618586-0A
Other languages
English (en)
Inventor
Matthew F Edwards
Daron R Underwood
Original Assignee
Ardence Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ardence Inc filed Critical Ardence Inc
Publication of BRPI0618586A2 publication Critical patent/BRPI0618586A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)

Abstract

MéTODO E APARELHO PARA INICIALIZAçãO RáPIDA DE UM SISTEMA OPERACIONAL. Um sistema de computador é adaptado para inicialização rápida para qualquer um de vários contextos, tal como aquele de uma aplicação de computador ou aplicação de televisão, O sistema pode ser inicializado para um estado inicial em um contexto mediante leitura de um arquivo de hibernação protegido contra gravação na PAN e registradores. O sistema pode ser inicializado para outro contexto por intermédio daquele arquivo de hibernação em conjunto com um arquivo de diferença.

Description

MÉTODO E APARELHO PARA INICIALIZAÇÃO RÁPIDA DE UM SISTEMA
OPERACIONAL
PEDIDO RELACIONADO
Esse pedido é uma continuação do Pedido US 11/273.265, depositado em 14 de novembro de 2005, e reivindica prioridade para o mesmo. A totalidade dos ensinamentos do pedido acima é aqui incorporada como referência.
ANTECEDENTES DA INVENÇÃO
Após aplicar energia a um sistema de computador, o sistema realiza tipicamente algum teste inicial do hardware e, então, prossegue para inicializar o sistema operacional a partir de um dispositivo de armazenamento não-volátil. A inicialização envolve carregar e inicializar os componentes do sistema, incluindo o núcleo do sistema operacional. O processo de inicialização consome uma quantidade significativa de tempo, de modo que pode demorar vários minutos para inicializar o sistema operacional. Após o sistema operacional ter sido inicializado de forma bem- sucedida, os programas de aplicação podem ser abertos e executados no sistema de computador.
Em anos recentes, CPUs padrão e sistemas operacionais usados tipicamente em aplicações de computador se expandiram para outras aplicações. Por exemplo, o sistema operacional Microsoft Windows XP® pode ser usado para controlar processos mais sofisticados dos aparelhos de televisão atuais, e para controlar dispositivos de aplicação específica, tal como sistemas de raio-X ou outros dispositivos de uso médico. Os usuários de tais sistemas estão acostumados à inicialização imediata e desse modo não são tolerantes aos longos tempos de inicialização de sistema aos quais os usuários de aplicação de computador têm sido expostos.
Uma abordagem para acelerar o processo de inicialização em tais aplicações tem sido a de se basear na função de hibernação que está disponível em muitos sistemas operacionais. Muitos sistemas operacionais tal como Windows 2K/XP/2 003 da Microsoft e Linux suportam uma função de hibernação que reduz o consumo de energia no sistema de computador enquanto o usuário não está utilizando o sistema de computador. A função de hibernação pode usar a tecnologia Interface de Energia e Configuração Avançada (ACPI - Advanced Configuration and Power Interface) que é incluída no sistema básico de entrada/saída (BIOS). A ACPI define diferentes estados de energia incluindo hibernação, reserva e desligamento.
Quando no estado de hibernação, o estado do sistema de computador é salvo, incluindo o estado de todos os arquivos e documentos abertos antes do desligamento do sistema de computador. Após restaurar energia para o sistema de computador, o sistema operacional restaura o sistema de computador para o estado salvo com os documentos e arquivos abertos no sistema da forma como estavam antes da hibernação. Desse modo, aplicativos, documentos e páginas de navegador estão disponíveis logo após a energia ser restaurada para o sistema. Sem a função de hibernação, poderia demorar vários minutos para se inicializar o sistema operacional e reabrir os aplicativos e documentos.
Com a função de hibernação, antes do desligamento, o sistema armazena um arquivo de estado dos registros do sistema e memória de acesso aleatório. Durante a inicialização, o sistema lê aquele arquivo de hibernação armazenado e carrega a imagem diretamente na RAM e registros, desse modo evitando o processo longo de inicialização. Após o sistema retomar a operação com base no arquivo de hibernação, esse arquivo é tipicamente marcado como corrompido, desse modo exigindo uma reinicialização completa do sistema antes de se poder contar outra vez com a função de hibernação. Para superar essa limitação, software de sistema foi modificado para manter o arquivo de hibernação em um estado protegido de tal modo que o sistema pode sempre ser reinicializado imediatamente para aquele estado de sistema definido.
SUMÁRIO DA INVENÇÃO
As CPUs e sistemas operacionais associados podem ser usados para mais do que uma aplicação em um único ambiente de hardware. Por exemplo, um único sistema pode ser usado como uma televisão ou um computador de mesa. De acordo com um aspecto da presente invenção, a inicialização do sistema operacional depende do contexto no qual o sistema deve operar, tal como um aplicativo, de modo que o sistema inicializado esteja em um estado preferido para aquele contexto. Para prover inicialização rápida para qualquer um dos vários contextos, vários arquivos de estado são armazenados na memória não-volátil, cada arquivo para restaurar o sistema para um estado respectivo. Durante inicialização do sistema operacional, o arquivo de estado é selecionado com base no contexto no qual o sistema deve operar. O carregamento do Sistema Operacional é conduzido de tal forma a inicializar o OS para o estado selecionado. O estado pode, por exemplo, ser selecionado com base em entrada do usuário durante inicialização, tal como através de um toque de tecla ou controlador remoto infravermelho, ou pode se basear em entrada de usuário durante processamento anterior.
De acordo com outro aspecto da invenção, a inicialização para um dos vários estados é habilitada mediante salvamento, em uma memória não-volátil, de um arquivo de estado base, tal como um arquivo de hibernação,
e um arquivo de diferença em relação ao arquivo de estado base para um estado de sistema diferente. 0 sistema inicializa para o estado de sistema diferente mediante condução para o arquivo de diferença e para o arquivo de estado base para colocar a memória volátil em um estado inicial.
Pode haver vários arquivos de diferença selecionáveis. Em modalidades ilustrativas, o processo de retomada de hibernação é modificado para verificar os arquivos de diferença de contexto específico e para redirecionar as operações de arquivo de hibernação durante inicialização onde indicado. Em certos sistemas, os arquivos de estado são protegidos contra sobregravação durante uso do sistema. Contudo, um arquivo de diferença pode se basear no estado do sistema durante processamento.
Um arquivo de diferença pode ser substituído durante processamento do sistema, ou um arquivo pode ser adicionado durante processamento.
DESCRIÇÃO RESUMIDA DOS DESENHOS
Os objetivos, as características e as vantagens, anteriormente mencionados, e outros da invenção, serão evidentes a partir da seguinte descrição mais específica das modalidades preferidas da invenção, conforme ilustrado nos desenhos anexos nos quais caracteres de referências semelhantes se referem às mesmas partes ao longo das várias vistas diferentes. Os desenhos não são necessariamente traçados em escala, em vez disso se enfatiza a ilustração dos princípios da invenção.
A Figura 1 é um diagrama simplificado de blocos de um sistema de computador incorporando a presente invenção.
A Figura 2A é um fluxograma simplificado de um processo de inicialização de hibernação convencional.
A Figura 2B é um fluxograma simplificado de uma modificação da etapa final da Figura 2A de acordo com a presente invenção.
A Figura 3 é um fluxograma simplificado de um processo usado por um fabricante no armazenamento de arquivos de hibernação e de arquivos de diferença de hibernação para uso com a presente invenção.
DESCRIÇÃO DETALHADA DA INVENÇÃO
Uma descrição das modalidades preferidas da invenção vem a seguir.
A Figura 1 ilustra um sistema de computador convencional modificado de acordo com aspectos da presente invenção. Uma CPU 110 tendo registradores 111 processa os dados a partir de uma memória de leitura não-volátil (ROM) 112 e memória de acesso aleatório volátil (RAM) 114. A memória de acesso aleatório provê rápida operação, mas os dados armazenados na mesma são perdidos durante desligamento. A memória não-volátil 116, tal como uma unidade de disco rígido, mantém grandes quantidades de programas e dados exigidos pelo sistema mesmo durante desligamento. Porções daqueles dados são transferidas para a RAM 114 durante operação, conforme necessárias. Outras formas de memória não-volátil nas quais se pode basear na prática da invenção incluem unidades de fita, CD-ROMs e semelhantes.
Para inicializar o sistema operacional, a CPU primeiramente procura um sistema de entrada/saída básico (BIOS) armazenado na ROM 112. A BIOS ativa as instruções armazenadas na unidade de disco rígido para carregar o sistema operacional e inicializar o sistema operacional e outros componentes. Aquelas instruções, incluindo partes do sistema operacional, lidas a partir da unidade de disco rígido, são gravadas na memória volátil 114. Quando o usuário então utiliza o sistema de computador, programas de aplicação de carregamento e processamento tal como aplicativos de correio eletrônico e aplicativos de processador de texto, ambas, a memória volátil e a memória não-volátil, são modificadas. Em qualquer ponto durante operação do sistema, seu estado de operação é determinado pelo conteúdo da RAM 114, estado de sistema de arquivos de memória não-volátil, e dados nos registradores 111 da CPU. Todos os dados armazenados na RAM volátil e nos registradores são perdidos quando a energia é desligada.
Como observado acima, alguns sistemas operacionais, tais como aqueles que utilizam tecnologia de interface de energia e configuração avançada (ACPI), incluem uma função de hibernação. 0 sistema é descrito em relação aos sistemas baseados no Windows, tal como o sistema Windows XP®, porém será entendido que o sistema pode ser aplicado para modificações de qualquer número de sistemas operacionais, incluindo aqueles que não têm uma função de hibernação. Com a função de hibernação, o sistema armazena o estado de operação, isto é, os conteúdos da RAM 114 e dos registradores de CPU 111, antes do desligamento. Posteriormente, durante a reinicialização, o sistema pode evitar o processo de inicialização demorado mediante cópia daquele arquivo de estado armazenado de volta para a RAM e registradores de modo que o sistema pode continuar a operação a partir do ponto no qual os arquivos de estado foram armazenados.
Um processo de inicialização de retomada típico a partir da hibernação é ilustrado nas Figuras 2A com referência adicional à Figura 1. Quando o sistema reinicializa, o sistema BIOS é lido a partir da ROM 112 e começa um teste automático de ligação (POST) . A BIOS então carrega o registro de inicialização mestre (MBR) 118 em 212. Código no MBR é processado até que um carregador de sistema operacional 120 seja carregado na RAM em 214. Nos sistemas Windows XP® esse software carregador é referido como NTLDR. 0 carregador 120 é, então, processado para carregar o núcleo base 122 do sistema operacional 124 em 216. Ele também carrega um sistema de arquivos tal como NTFS em 218. Em um processo de inicialização convencional, o carregador de sistema operacional e núcleo base continuariam a ser processados pela CPU para inicializar completamente o sistema. Contudo, em sistemas tendo a função de hibernação, o carregador do sistema operacional procura um arquivo de hibernação 126, e se esse arquivo for válido, o sistema se baseia no estado armazenado no arquivo de hibernação para inicializar os dados na RAM 114 e nos registradores de CPU 111 em 220.
Embora o arquivo de hibernação em um sistema típico seja dinâmico e dependente do estado do sistema resultante do processamento de usuário, para se basear naquele arquivo como um estado de inicialização definido para inicialização rápida, o sistema operacional é modificado para proteger o arquivo de hibernação contra modificação. Como tal, o arquivo de hibernação (estado) pode ser criado e armazenado pela OEM que instala o software do sistema durante o processo de fabricação para servir como um ponto de inicialização seguro a partir do qual o sistema pode ser sempre inicializado. Como uma modificação adicional, de acordo com a presente invenção, vários arquivos de hibernação são armazenados na memória não-volátil para que o sistema possa inicializar em vários contextos. Por exemplo, um arquivo de hibernação seria armazenado de tal modo que o sistema pudesse ser imediatamente inicializado para um contexto de televisão e outro arquivo de hibernação poderia ser criado e armazenado de tal modo que o sistema pudesse inicializar imediatamente para um contexto de computador. Outros contextos de aplicação tal como aquele de um controlador de máquina de raio-X também podem ser incluídos.
Para armazenar e processar mais eficientemente os vários arquivos de hibernação, sem armazenar múltiplos arquivos completos, o sistema da Figura 1 inclui um arquivo de hibernação de base 126 e vários arquivos de diferença 128a, 128b, e 128c cada um deles para um diferente contexto de sistema. O arquivo de hibernação de base pode iniciar um contexto e as diferenças, entre aquele contexto e cada contexto adicional são, então, armazenadas nos arquivos de diferença. Durante inicialização, o sistema é notificado sobre o contexto desejado e o carregador de OS 120 processa os arquivos de hibernação e de diferença de acordo com o contexto desejado. A seleção de contexto pode ser completamente estendido pela OEM. Por exemplo, uma das teclas de função pode ser pressionada durante a inicialização para identificar o contexto, ou o sistema pode responder a uma entrada de controle de infravermelho a partir de um controlador remoto. Adicionalmente o contexto poderia ser estabelecido por software durante a inicialização anterior, ou o contexto poderia ser selecionado por um conjunto de condições combinadas hardware ou software.
Para implementar a invenção utilizando os arquivos de diferença, a etapa 220 da Figura 2A pode ser modificada conforme ilustrado na Figura 2B. Quando um contexto definido é indicado, por intermédio de entrada de usuário ou software, o carregador de OS procura o arquivo de diferença apropriado, aqui denominado hiberdiff.sys, em 222. Em 224, o carregador lê o arquivo de hibernação de base, designado hiberfil.sys. Em 226, o carregador modifica o arquivo de hibernação de base com o arquivo de diferença para criar arquivo de estado a ser usado na inicialização do sistema. Esse arquivo de hibernação modificado é gravado na RAM 114 e nos registradores 111 em 228.
Com o arquivo de hibernação modificado, o sistema começaria em um estado desejado o qual provavelmente incluiria um programa de aplicação aberto, tal como um programa de processamento de texto em uma aplicação de computador ou um programa de aplicação de uso médico no caso de um dispositivo de uso médico.
Embora os arquivos de hibernação possam ser criados por um usuário, na maioria das aplicações será o fabricante que criará e armazenará os arquivos de hibernação junto com o software do sistema. Um método para criar tais arquivos é apresentado na Figura 3. Em 310, o sistema é inicializado da forma convencional com os arquivos de hibernação presentes. Em 312, o criador executa um utilitário para criar o arquivo de estado base em hiberfil.sys. O sistema é, então, desligado e reinicializado utilizando-se o arquivo hiberfil.sys armazenado 314. O sistema é, então, operado até que ele atinja um estado desejado. Por exemplo, um programa de aplicação desejado pode ser aberto e processado até que o sistema atinja um estado no qual o fabricante pretenda que o sistema sempre inicie quando em um contexto específico. Em 318, o criador outra vez executa um utilitário para criar um novo arquivo hiberfil.sys, para comparar esse novo arquivo com o arquivo de estado base e para, então, criar os arquivos hiberdif.sys. 0 arquivo de estado base criado em 312 e os arquivos de diferença criados em 318 são, então, armazenados na memória não-volátil para acesso durante a inicialização. Evidentemente, os arquivos criados na máquina podem ser, então, duplicados em qualquer número de instalações.
Diferentes estados iniciais podem depender de direitos de acesso de um usuário. Por exemplo, um estado pode ser usado para dados e programas restritos e outros para dados e programas não restritos.
Uma instalação de Sistema Operacional cria uma estrutura específica de diretório no dispositivo de inicialização e povoa essa estrutura com todos os arquivos que compõem o OS. Esse arquivo e estrutura de diretório são tipicamente exigidos pelo OS para adequadamente inicializar no OS mediante aplicação de energia ao sistema. 0 presente sistema permite a inicialização dessa instalação do OS de tal modo a proporcionar uma diferente aparência para o processo de inicialização e para o sistema inicializado resultante. Contudo, embora o sistema pareça ser diferente com base no estado de inicialização escolhido, os arquivos de OS usados no processo de inicialização ainda são provenientes da única instalação do OS.
Em uma implementação, quando o sistema inicializa para um dos estados capturados, as mudanças no sistema que ocorrem devido às operações do sistema e atividade de usuário são armazenadas em um local volátil. Quer dizer, quando a sessão é terminada e o sistema é desligado, as mudanças feitas durante a sessão são perdidas. E, na próxima inicialização para aquele estado capturado, o sistema está exatamente como estava antes da atividade de usuário.
Em uma implementação adicional, o usuário pode selecionar inicializar para mais do que um estado capturado. Após fazer isso, a atividade de usuário é armazenada em cache como anteriormente; contudo, o usuário pode pretender ter aqueles dados de atividade armazenados em um dispositivo não-volátil, persistente, de modo a estender o arquivo de estado para o contexto determinado. Nesse cenário, o usuário agora desliga o sistema e os dados de atividade não são perdidos. A partir da aplicação de energia, o usuário seleciona o mesmo estado para inicialização, exceto que agora as alterações previamente feitas estão integradas no estado e esse sistema tem exatamente a mesma aparência de quando foi desligado por último.
Para tornar isso mais claro, é provido um exemplo. O cenário é aquele em que um usuário inicializa para um estado de processamento de texto. 0 sistema inicializa e é apresentado imediatamente ao usuário um processador de texto que contém um documento em branco e está pronto para aceitar entrada. O usuário digita uma letra e opta por salvar o documento sem fechar o documento no processador de texto. Agora o usuário desliga o sistema.
De acordo com a primeira implementação, quando o usuário aplica energia e inicializa de volta para o estado de processador de texto, o sistema está exatamente como anteriormente, um documento em branco e nenhuma evidência de que o usuário jamais digitou uma letra. Com a implementação adicional, a partir da reinicialização, não apenas o processador de texto estaria disponível, mas também a letra previamente digitada seria aberta com o processador de texto.
Embora esta invenção tenha sido particularmente mostrada e descrita com referências às suas modalidades preferidas, será entendido por aqueles versados na técnica que várias alterações na forma e detalhes podem ser feitas na mesma sem se afastar do escopo da invenção abrangido pelas reivindicações anexas.

Claims (40)

1. Método de inicializar um sistema de processamento de dados caracterizado por compreender: prover vários arquivos de estado em memória não- volátil para restaurar o sistema para estados respectivos correspondendo a várias aplicações de processamento; e durante inicialização do sistema, selecionar arquivo de estado com base em uma aplicação selecionada na qual o sistema deve operar.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um arquivo de estado é armazenado como um arquivo de diferença em relação a um arquivo de estado base.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que o arquivo de estado base é armazenado em um arquivo de hibernação acessado durante inicialização do sistema.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que aplicações a serem selecionadas incluem uma aplicação de computador e uma aplicação de televisão.
5. Método, de acordo com a reivindicação 1, caracterizado por ainda compreender proteger os arquivos de estado contra sobregravação durante processamento.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que os vários arquivos de estado são providos por um instalador de software de sistema.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o arquivo . de estado é selecionado com base em entrada de usuário durante inicialização.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um arquivo de estado é selecionado com base em entrada de usuário durante processamento anterior.
9. Sistema de processamento de dados caracterizado por compreender: vários arquivos de estado em memória não-volátil para restaurar o sistema para estados respectivos correspondendo a várias aplicações de processamento; e software de inicialização que seleciona um arquivo de estado com base em uma aplicação selecionada na qual o sistema deve operar.
10. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que um arquivo de estado é armazenado como um arquivo de diferença em relação a um arquivo de estado base.
11. Sistema, de acordo com a reivindicação 10, caracterizado pelo fato de que o arquivo de estado base é armazenado em um arquivo de ,hibernação acessado durante inicialização do sistema.
12. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que aplicações a serem selecionadas incluem uma aplicação de computador e uma aplicação de televisão.
13. Sistema, de acordo com a reivindicação 9, caracterizado adicionalmente pelo fato de que os arquivos de estado são protegidos contra sobregravação durante processamento.
14. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que os vários arquivos de estado são providos por um instalador de software de sistema.
15. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que um arquivo de estado é selecionado com base na entrada de usuário durante inicialização.
16. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que o arquivo de estado é selecionado com base em entrada de usuário durante processamento anterior.
17. Método de inicializar um sistema de processamento de dados, caracterizado por compreender: salvar em memória não-volátil um arquivo de estado base para um estado de sistema base; salvar em memória não-volátil um arquivo de diferença em relação ao arquivo de estado base para um estado de sistema diferente; e inicializar para o estado de sistema diferente mediante condução do sistema para o arquivo de diferença e arquivo de estado base para colocar a memória volátil em um estado inicial.
18. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que os arquivos de estado são armazenados em arquivos de hibernação acessados durante inicialização do sistema.
19. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que o sistema é conduzido com base em um contexto selecionado.
20. Método, de acordo com a reivindicação 17, caracterizado por compreender adicionalmente proteger os arquivos de estado contra sobregravação durante processamento.
21. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que o arquivo de estado base e o arquivo de diferença são providos por um instalador de software de sistema.
22. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que o sistema é inicializado para um estado base com base em uma aplicação selecionada.
23. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que um arquivo de estado é selecionado com base na entrada de usuário durante inicialização.
24. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que o arquivo de estado é selecionado com base na entrada de usuário durante processamento anterior.
25. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que um arquivo de diferença é armazenado com base no estado de sistema durante processamento.
26. Método, de acordo com a reivindicação 25, caracterizado pelo fato de que um arquivo de diferença é substituído durante processamento do sistema.
27. Método, de acordo com a reivindicação 25, caracterizado pelo fato de que um arquivo de diferença é adicionado durante processamento do sistema.
28. Método, de acordo com a reivindicação 17, caracterizado por ainda compreender salvar vários arquivos de diferença selecionáveis.
29. Sistema de processamento de dados caracterizado por compreender: um arquivo de estado base armazenado em memória não-volátil para um estado de sistema base; um arquivo de diferença relativo ao arquivo de estado base armazenado na memória não-volátil para um estado de sistema diferente; e um sistema de inicialização para inicializar para o estado de sistema diferente mediante condução do sistema para o arquivo de diferença e arquivo de estado base para colocar a memória volátil em um estado inicial.
30. Sistema, de acordo com a reivindicação 29, caracterizado pelo fato de que o arquivo de estado base é armazenado em um arquivo de hibernação acessado durante inicialização do sistema.
31. Sistema, de acordo com a reivindicação 29, caracterizado pelo fato de que o sistema é conduzido com base em um contexto selecionado.
32. Sistema, de acordo com a reivindicação 29, caracterizado pelo fato de que os arquivos de estado são protegidos contra sobregravação durante processamento.
33. Sistema, de acordo com a reivindicação 29, caracterizado pelo fato de que o arquivo de estado base e o arquivo de diferença são providos por um instalador de software de sistema.
34. Sistema, de acordo com a reivindicação 29, caracterizado pelo fato de que o sistema é inicializado para um estado de sistema com base em uma aplicação selecionada.
35. Sistema, de acordo com a reivindicação 29, caracterizado pelo fato de que um arquivo de diferença é selecionado com base na entrada de usuário durante inicialização.
36. Sistema, de acordo com a reivindicação 29, caracterizado pelo fato de que um arquivo de diferença é selecionado com base em entrada de usuário durante processamento anterior.
37. Sistema, de acordo com a reivindicação 29, caracterizado pelo fato de que um arquivo de diferença é armazenado com base no estado de sistema durante processamento.
38. Sistema, de acordo com a reivindicação 37, caracterizado pelo fato de que um arquivo de diferença é substituído durante processamento de sistema.
39. Sistema, de acordo com a reivindicação 37, caracterizado pelo fato de que um arquivo de diferença é adicionado durante o processamento de sistema.
40. Sistema, de acordo com a reivindicação 29, caracteri zado por ainda compreender vários arquivos de diferença, selecionáveis, armazenados em memória não- volátil.
BRPI0618586-0A 2005-11-14 2006-11-07 método e aparelho para inicialização rápida de um sistema operacional BRPI0618586A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/273,265 US20070112899A1 (en) 2005-11-14 2005-11-14 Method and apparatus for fast boot of an operating system
US11/273.265 2005-11-14
PCT/US2006/043446 WO2007056436A1 (en) 2005-11-14 2006-11-07 Method and apparatus for fast boot of an operating system

Publications (1)

Publication Number Publication Date
BRPI0618586A2 true BRPI0618586A2 (pt) 2011-09-06

Family

ID=37709695

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0618586-0A BRPI0618586A2 (pt) 2005-11-14 2006-11-07 método e aparelho para inicialização rápida de um sistema operacional

Country Status (9)

Country Link
US (1) US20070112899A1 (pt)
EP (1) EP1949225A1 (pt)
JP (1) JP2009516264A (pt)
CN (1) CN101356501A (pt)
AU (1) AU2006311556A1 (pt)
BR (1) BRPI0618586A2 (pt)
CA (1) CA2629425A1 (pt)
TW (1) TW200805159A (pt)
WO (1) WO2007056436A1 (pt)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7337368B2 (en) * 2004-06-07 2008-02-26 Dell Products L.P. System and method for shutdown memory testing
CA2687051A1 (en) * 2007-07-11 2009-01-15 Citrix Systems, Inc. Methods and systems for providing a level of access to a computing device
JP5067853B2 (ja) * 2007-08-14 2012-11-07 キヤノン株式会社 データ処理装置、データ処理方法、及びコンピュータプログラム
US20090138876A1 (en) 2007-11-22 2009-05-28 Hsuan-Yeh Chang Method and system for delivering application packages based on user demands
US8713241B2 (en) * 2008-08-27 2014-04-29 Wireless Silicon Group, Llc Method and apparatus for an active low power mode of a portable computing device
US8209501B2 (en) * 2009-05-05 2012-06-26 Microsoft Corporation Capturing and loading operating system states
CN101937344B (zh) * 2009-06-30 2014-07-30 联想(北京)有限公司 一种计算机快速启动的装置及方法
KR101579108B1 (ko) * 2009-08-14 2015-12-21 삼성전자주식회사 영상 재생 장치 및 영상 재생 장치의 제어 방법
US8578144B2 (en) * 2010-08-04 2013-11-05 International Business Machines Corporation Partial hibernation restore for boot time reduction
KR20120036209A (ko) 2010-10-07 2012-04-17 삼성전자주식회사 컴퓨팅 시스템에서 부트 이미지의 크기를 최적화하는 부팅이미지 생성방법
KR101668312B1 (ko) * 2010-10-19 2016-10-21 삼성전자 주식회사 모바일 디바이스에서 하이버네이션 기능 지원 방법 및 장치
US9032194B2 (en) 2010-12-06 2015-05-12 Microsoft Technology Licensing, Llc Fast computer startup
US8788798B2 (en) 2010-12-06 2014-07-22 Microsoft Corporation Fast computer startup
US8543849B2 (en) 2010-12-06 2013-09-24 Microsoft Corporation Fast computer startup
US9098970B2 (en) * 2011-06-17 2015-08-04 Wms Gaming Inc. Wagering game machine hibernation
CN102866934B (zh) * 2011-07-05 2015-10-28 中国科学院上海微系统与信息技术研究所 基于非易失随机存储器的嵌入式设备的休眠及唤醒系统
CN102624976A (zh) * 2011-08-05 2012-08-01 北京小米科技有限责任公司 一种无线通信终端关开机方法
CN102467404A (zh) * 2011-10-14 2012-05-23 海尔集团技术研发中心 一种基于物理内存实现软件快速切换的方法及装置
CN103106086B (zh) * 2011-11-10 2016-01-13 财团法人资讯工业策进会 操作系统处理方法以及系统
TWI450194B (zh) 2011-11-10 2014-08-21 Inst Information Industry 作業系統處理方法以及系統、以及儲存其之電腦可讀取記錄媒體
KR101813641B1 (ko) * 2011-11-15 2018-01-02 에스프린팅솔루션 주식회사 화상형성장치 및 하이버네이션 기능을 갖는 화상형성장치를 부팅하는 방법
CN102495774B (zh) * 2011-12-02 2014-06-04 浪潮(北京)电子信息产业有限公司 一种实现计算机系统恢复的方法及系统
US9495173B2 (en) * 2011-12-19 2016-11-15 Sandisk Technologies Llc Systems and methods for managing data in a device for hibernation states
CN103309691A (zh) * 2012-03-12 2013-09-18 联想(北京)有限公司 信息处理设备及其快速启动方法
CN103631612B (zh) * 2012-08-23 2017-09-29 腾讯科技(深圳)有限公司 启动操作系统的方法与装置
TWI514278B (zh) 2012-09-19 2015-12-21 Ind Tech Res Inst 開機之映像檔之大小縮減方法及運算裝置
JP2014106546A (ja) * 2012-11-22 2014-06-09 Mitsubishi Electric Corp レジューム方法及び情報処理装置
US9361122B2 (en) * 2013-02-08 2016-06-07 Htc Corporation Method and electronic device of file system prefetching and boot-up method
CN105573860A (zh) * 2014-11-11 2016-05-11 鸿富锦精密工业(武汉)有限公司 用于计算机系统中的休眠管理方法及休眠管理系统
US20180189173A1 (en) * 2015-09-18 2018-07-05 Hewlett-Packard Development Company, Lp. System memory migration
DE102016109892B4 (de) * 2016-05-30 2018-03-01 Infineon Technologies Ag Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung
JP7047268B2 (ja) * 2017-07-10 2022-04-05 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
CN107835360A (zh) * 2017-10-27 2018-03-23 深圳市共进电子股份有限公司 一种休眠低功耗网络相机的快速启动方法及系统
CN110737477B (zh) * 2018-07-18 2023-01-31 鼎桥通信技术有限公司 一种系统启动方法和装置
CN110737478B (zh) * 2018-07-18 2023-05-26 鼎桥通信技术有限公司 一种系统启动控制方法和系统
CN110457899B (zh) * 2019-08-12 2021-06-01 北京无线电测量研究所 一种操作系统保护系统及方法

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146568A (en) * 1988-09-06 1992-09-08 Digital Equipment Corporation Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs
FR2682786B1 (fr) * 1991-10-17 1993-12-10 Bull Sa Telechargement d'un systeme d'exploitation par un reseau.
US5592675A (en) * 1992-01-08 1997-01-07 Hitachi, Ltd. Computer controlled method and system capable of preserving information representing plural work states and recovering the work states
JP2525122B2 (ja) * 1992-11-09 1996-08-14 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュ―タ・システムのバックアップ記録方法、復元方法およびシステム
JPH07200112A (ja) 1993-12-15 1995-08-04 Internatl Business Mach Corp <Ibm> 情報処理システム
KR970010634B1 (ko) * 1994-10-25 1997-06-28 삼성전자 주식회사 네트워크 하이버네이션 시스템
US5822582A (en) * 1996-07-19 1998-10-13 Compaq Computer Corporation Boot drive selection and hibernation file detection
US5991542A (en) * 1996-09-13 1999-11-23 Apple Computer, Inc. Storage volume handling system which utilizes disk images
US6453334B1 (en) * 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US6108697A (en) * 1997-10-06 2000-08-22 Powerquest Corporation One-to-many disk imaging transfer over a network
US6438708B1 (en) * 1997-11-07 2002-08-20 Hitachi, Ltd. Information processing apparatus that can hold internal information
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
US6567774B1 (en) * 1998-01-30 2003-05-20 Compaq Computer Corporation Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk
US5974547A (en) * 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US6101601A (en) * 1998-04-20 2000-08-08 International Business Machines Corporation Method and apparatus for hibernation within a distributed data processing system
US6226667B1 (en) * 1998-05-26 2001-05-01 International Business Machines Corporation Method and apparatus for preloading data in a distributed data processing system
US6080207A (en) * 1998-06-04 2000-06-27 Gateway 2000, Inc. System and method of creating and delivering software
US7062645B2 (en) * 1998-06-04 2006-06-13 Gateway Inc. Build to order personal computer manufacturing fast boot method
JPH11353048A (ja) * 1998-06-11 1999-12-24 Hitachi Ltd 電子機器の節電モード移行制御方法、電子機器及び節電モード移行制御手順を記録した記録媒体
US6209088B1 (en) * 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
US6256673B1 (en) * 1998-12-17 2001-07-03 Intel Corp. Cyclic multicasting or asynchronous broadcasting of computer files
US6334149B1 (en) * 1998-12-22 2001-12-25 International Business Machines Corporation Generic operating system usage in a remote initial program load environment
US6487718B1 (en) * 1999-03-31 2002-11-26 International Business Machines Corporation Method and apparatus for installing applications in a distributed data processing system
JP2001014050A (ja) * 1999-06-29 2001-01-19 Casio Comput Co Ltd 情報処理装置及び記憶媒体
US6671769B1 (en) * 1999-07-01 2003-12-30 Micron Technology, Inc. Flash memory with fast boot block access
US6282711B1 (en) * 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
US6601096B1 (en) * 2000-01-04 2003-07-29 International Business Machines Corporation Client server method for loading a client with a specific image or utility based on the client's state
US6816963B1 (en) * 2000-01-31 2004-11-09 Intel Corporation Platform level initialization using an image generated automatically by a remote server based upon description automatically generated and transmitted thereto by a processor-based system
JP3714119B2 (ja) * 2000-06-13 2005-11-09 日本電気株式会社 Biosプリブート環境を利用したユーザ認証型ネットワークosブート方法及びシステム
US6735692B1 (en) * 2000-07-11 2004-05-11 International Business Machines Corporation Redirected network boot to multiple remote file servers
US6883093B2 (en) * 2000-11-30 2005-04-19 International Business Machines Corporation Method and system for creating and managing common and custom storage devices in a computer network
US6810478B1 (en) * 2000-12-12 2004-10-26 International Business Machines Corporation System for remote booting of muntliple operating systems using chained bootstrap mechanism in a network
US6898701B2 (en) * 2001-04-27 2005-05-24 International Business Machines Corporation Method and system for organized booting of a target device in a network environment by a reservation server based on available boot resources
US6928538B2 (en) * 2001-04-27 2005-08-09 International Business Machines Corporation Method and system for delayed booting of a target device in a network environment
US6976039B2 (en) * 2001-05-25 2005-12-13 International Business Machines Corporation Method and system for processing backup data associated with application, querying metadata files describing files accessed by the application
US6988193B2 (en) * 2001-06-28 2006-01-17 International Business Machines Corporation System and method for creating a definition for a target device based on an architecture configuration of the target device at a boot server
US6941518B2 (en) * 2001-06-29 2005-09-06 International Business Machines Corporation Method and system for booting of a target device in a network environment based on a provided administrator topology GUI
US6880002B2 (en) * 2001-09-05 2005-04-12 Surgient, Inc. Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources
US7024484B2 (en) * 2002-03-27 2006-04-04 Intel Corporation Pre-execution environment compliant dynamic host configuration protocol relay agent
US6954852B2 (en) * 2002-04-18 2005-10-11 Ardence, Inc. System for and method of network booting of an operating system to a client computer using hibernation
WO2003090073A1 (en) * 2002-04-18 2003-10-30 Venturcom, Inc. System for and method of streaming data to a computer in a network
US7036040B2 (en) * 2002-11-26 2006-04-25 Microsoft Corporation Reliability of diskless network-bootable computers using non-volatile memory cache
JP2004252769A (ja) * 2003-02-20 2004-09-09 Nec Corp プログラム実行状態保存・復元情報処理装置、方法、及びプログラム
US7073052B2 (en) * 2003-05-22 2006-07-04 International Business Machines Corporation Method and system for storing active files and programs in a hibernation mode
US7600225B2 (en) 2003-07-21 2009-10-06 Microsoft Corporation System and method for intra-package delta compression of data
JP4284166B2 (ja) * 2003-12-22 2009-06-24 株式会社東芝 情報処理装置
US20050160474A1 (en) * 2004-01-15 2005-07-21 Fujitsu Limited Information processing device and program
JP2005284491A (ja) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp 計算機の起動時間短縮方式
JP2005316855A (ja) * 2004-04-30 2005-11-10 Toshiba Corp 情報処理装置、その起動方法およびその起動プログラム
TWI249706B (en) * 2004-08-19 2006-02-21 Asustek Comp Inc Boot method, computer system, and production method thereof

Also Published As

Publication number Publication date
EP1949225A1 (en) 2008-07-30
CA2629425A1 (en) 2007-05-18
US20070112899A1 (en) 2007-05-17
JP2009516264A (ja) 2009-04-16
WO2007056436A1 (en) 2007-05-18
AU2006311556A1 (en) 2007-05-18
CN101356501A (zh) 2009-01-28
TW200805159A (en) 2008-01-16

Similar Documents

Publication Publication Date Title
BRPI0618586A2 (pt) método e aparelho para inicialização rápida de um sistema operacional
US7730295B1 (en) Updating firmware of a peripheral device
US7313684B2 (en) Method and apparatus for booting a computer system
US6098158A (en) Software-enabled fast boot
US6209088B1 (en) Computer hibernation implemented by a computer operating system
US8037291B2 (en) Master boot record management
BRPI0616858B1 (pt) mídia legível por computador, método implementado em um sistema de computador e sistema em um dispositivo de computação de operação e inicialização rápida a partir de um estado de desligado
US20040030877A1 (en) Using system BIOS to update embedded controller firmware
EP3491519A1 (en) Optimized uefi reboot process
US20050125607A1 (en) Intelligent caching of working directories in auxiliary storage
US6629192B1 (en) Method and apparatus for use of a non-volatile storage management system for PC/AT compatible system firmware
US20080059785A1 (en) Method and apparatus for shutting down a computer system
JP2005196747A (ja) 不揮発性ストレージにカスタム・ソフトウェア・イメージ・アップデートを適用するフェイルセーフな方法
WO2005029325A1 (en) Method and apparatus for booting a computer system
JP2003099268A (ja) 選択された機能を有するオペレーティングシステムを作成し使用する方法及びシステム
US7162629B2 (en) Method to suspend-and-resume across various operational environment contexts
US7426720B1 (en) System and method for dynamic preloading of classes through memory space cloning of a master runtime system process
US7840792B2 (en) Utilizing hand-off blocks in system management mode to allow independent initialization of SMBASE between PEI and DXE phases
US7600111B2 (en) Method of restarting a computer platform
US7430661B2 (en) System and method of storing user data in a partition file or using a partition file containing user data
EP3724757B1 (en) Firmware publication of multiple binary images
EP1685482A1 (en) Method and apparatus for booting a computer system
US20040243385A1 (en) Emulation of hardware devices in a pre-boot environment
WO2008048581A1 (en) A processing device operation initialization system
JP2008502988A (ja) コンピュータシステムのブート方法および装置

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]