Por que a RAM do sistema não pode ter um backup de bateria da mesma maneira que um CMOS? [fechadas]

4

Este é o acompanhamento de Por que a RAM tem que ser volátil? . Enquanto a pergunta responde porque a memória principal do computador não pode ser não-volátil, me ocorre que Por que não podemos apenas fazer o backup da DRAM com uma bateria para preservar seu conteúdo através de botas .

Mas, já que essa tecnologia é inexistente , fiquei imaginando quais seriam as razões para o mesmo.

Então, Quais são as razões práticas para não conseguir projetar uma memória principal com bateria, como as usadas nos CMOS e nos cartuchos de jogos?

Nota : gostaria de respostas que ilustrem os problemas práticos envolvidos na criação de tal sistema, em vez de compará-lo com tecnologias existentes, como suspender / hibernar.

    
por Ashildr 17.12.2013 / 19:26

5 respostas

4

A introdução de uma fonte de energia na RAM é chamada de ligar um computador, o que você está falando basicamente é apenas deixar o computador ligado e pressionar o botão de suspensão.
Resposta Expandida:
Ele já foi implementado na medida em que o hardware atual permite, o modo de espera desliga todo o hardware não essencial para manter o estado do computador na RAM, portanto as ideias são exatamente as mesmas além do conceito de desligar a máquina. Realmente, reinicializar a máquina no estado anterior dependeria de ter algum espaço disponível restante na RAM e modificações no kernel MAJOR , a menos que você faça engenharia reversa do NT Kernel ou comissão da Microsoft para criar o recurso que o próprio software faz impossível.

    
por 17.12.2013 / 19:31
3

Adicionando ao que Slowki disse, a razão pela qual o Sleep funciona é que você não está reinicializando .

Os dados na RAM só têm significado se você souber o que e onde está. Como é, não há regra explícita para, na inicialização, qualquer programa deve armazenar suas informações em qualquer lugar na RAM (há exceções, é claro).

Se o que você sugeriu (retendo informações de RAM entre reinicializações) entrou em prática, o sistema operacional teria que vir como um intermediário entre cada programa em execução e as informações presentes na RAM. Para fazer isso, você precisaria armazenar os endereços de cada informação na RAM e então dizer aos programas para acessá-los.

Isso não requer apenas uma reescrita completa das regras de alocação de memória, mas uma situação perigosa em que o sistema operacional, e não o programa, é responsável pelo estado do programa. Devido à dificuldade envolvida nisso, e as práticas atuais em programação, estas são as razões que eu aponto para a inviabilidade de sua proposta.

O modo de dormir coloca o computador em um estado de baixa energia, de modo que o estado do computador seja armazenado. Nenhuma atividade de RAM ou disco deve acontecer enquanto o computador estiver em repouso.

Há também a função Hibernate, em que você, em vez de usar a RAM volátil, usa um armazenamento não volátil (seu HDD ou SDD) para armazenar o conteúdo da RAM. Neste caso você não usa nenhum tipo de poder.

    
por 17.12.2013 / 19:47
1

Essa ideia pode ser prejudicial. Se você desligasse o computador e a memória ainda mantivesse seu conteúdo, a alteração de qualquer coisa no computador poderia ser destrutiva.

    
por 17.12.2013 / 19:49
1

Como Hennes afirmou em seu comentário, a RAM requer atualização contínua não apenas de energia. Nos dias de processadores mais simples, isso era feito intercalando ciclos de atualização com ciclos de dados no barramento do sistema. Portanto, sua ideia de backup de bateria poderia ter sido obtida mantendo-se o processador. No entanto, isso era mais conhecido como deixar a energia ligada, por isso não pegou. A tecnologia de bateria também não era tão eficiente, as baterias de laptop eram maiores e mais pesadas.

Em tempos mais modernos, o processador contém uma unidade de gerenciamento de memória para atualizar a RAM. Portanto, sua ideia agora requer manter apenas uma parte do processador - a MMU - na energia. Isso exigiria um novo design do processador.

Os processadores em telefones celulares podem fazer algumas coisas muito inteligentes com o uso de energia, a fim de maximizar a vida útil da bateria. Isso inclui a desativação seletiva de componentes inativos. Você poderia tentar construir um PC usando um processador de telefone.

Todos os acima, obviamente, esperam que todos os outros componentes; HDD, tela etc. estão desligados.

    
por 17.12.2013 / 20:42
1

Why not introduce a battery source to RAM to preserve its contents across boots?

Na verdade, o seu computador já está usando memória alimentada por bateria. Você já teve que redefinir as configurações da BIOS quando não conseguiu inicializar o computador? Existem duas maneiras de fazer isso: com o jumper ou removendo a bateria do CMOS. Essa bateria é usada para alimentar pouca quantidade de memória usada para manter as configurações da BIOS. Não é RAM, mas está perto do que você está pedindo - como você pode ver, já estamos usando memória ativa.

A partir de agora, não estamos usando RAM ativa porque temos SSDs. Os SSDs de nível de consumidor permitem inicializar o sistema operacional em segundos e são muito mais baratos que a RAM. É isso quando se trata de ler arquivos do disco.

Mas os SSDs são modificadores do jogo. Então, por que não estávamos usando RAM poderosa antes da era do SSD ? Porque 20 GB (o tamanho da minha pasta Windows) do espaço HDD custa US $ 2,2 e 20 GB de DDR3 custa US $ 220 (melhores ofertas da Newegg). Se você puder pagar por isso, existem algumas opções disponíveis .

Estou falando apenas de manter arquivos na RAM porque, com o atual design de hardware e software, manter o estado entre as reinicializações é impossível. Keltari tem já postado que, por exemplo, alterar a placa gráfica pode ser destrutivo para o hardware ou software. O mesmo se aplica à realização de modificações no disco.

Por exemplo, o mesmo arquivo na RAM e no disco rígido pode perder a sincronização em algum momento se você retirar a unidade (ou a RAM) e mexer em alguns arquivos). Verificar se os arquivos RAM correspondem aos arquivos do disco é tão lento quanto simplesmente ler o disco, então isso iria frustrar o propósito. Você teria que lembrar de redefinir a RAM (como a bateria da CMOS) ou criar sistemas de hardware que fizessem isso, mas eles também precisariam de uma fonte de energia. Construir esse sistema é apenas difícil, se não impossível.

E, finalmente, estado deve ser volátil - como o oposto de arquivos , que deve permanecer. É assim que os computadores são projetados. Para mudar isso, você teria que repensar tudo o que viemos desde que a RAM volátil foi usada pela primeira vez em um computador.

    
por 17.12.2013 / 20:45

Tags