Por que os sistemas operacionais de desktop têm um tempo de resposta alto quando retomados do modo de suspensão / hibernação?

1

Por que os sistemas operacionais de desktop, como o Windows, têm um tempo de resposta alto quando retomados do modo de suspensão ou de hibernação?

Intuitivamente, deve levar menos tempo para responder. Mas o que está bagunçado internamente que faz com que demore um pouco para se recuperar?

    
por Sinstein 21.08.2014 / 19:03

1 resposta

6

Vou responder um pouco genericamente. Não sei se isso se aplica ao Windows. (Se você quiser uma resposta sobre o Windows especificamente, pergunte no Super User .)

Pense na memória de um computador como uma mesa com muitos papéis espalhados nele. Quando precisar ler ou escrever em um pedaço de papel, pegue-o na mesa. Às vezes, o papel não fica na mesa, mas em um arquivo em algum lugar; Nesse caso, você precisará buscá-lo no arquivo. A mesa é a RAM do computador e os arquivos são o disco rígido.

Durante a hibernação, a RAM é desligada, então quando a energia voltar, não há nada na RAM. O computador começa com uma mesa limpa, com tudo nos arquivos. Todos os dados dos programas em execução precisam ser recuperados dos arquivos, o que acontece conforme a necessidade. Assim, os primeiros programas serão lentos, já que gastam muito tempo carregando coisas do disco; Eventualmente, o cache será preenchido com os dados mais úteis.

Este efeito não ocorre com uma suspensão que não desligue a RAM. No entanto, outras coisas podem precisar de tempo para voltar, como conexões de rede.

Por que sua intuição diz que o computador deve responder mais rapidamente quando sair da hibernação? Em um palpite, na metáfora da mesa, você está pensando que é mais rápido trabalhar em uma mesa limpa. Mas é o contrário: o custo de gerenciar a mesa não depende muito do número de trabalhos que estão nela em um determinado momento, apenas (ou principalmente) no tamanho da mesa. O computador não tem problemas com mesas desarrumadas.

Esse é um princípio geral ao analisar a utilização de recursos: se um computador tiver memória livre, essa memória será desperdiçada. Ter alguma memória livre não torna o computador mais rápido (exceto talvez por uma pequena quantidade mantida em reserva para lidar com solicitações súbitas urgentes). O melhor desempenho vem de manter a memória cheia de coisas úteis - um cache (e a RAM é um cache para o disco muito mais lento) é tão útil quanto é usado.

    
por 21.08.2014 / 19:33