Existe um sistema operacional que possa ser usado sem RAM, especificamente do tipo em que posso criar um pendrive inicializável e usá-lo no computador? Isso fica estranho, uma vez que a inicialização está essencialmente carregando o sistema operacional na RAM.
Nota: Originalmente, eu queria saber sobre um sistema operacional sem RAM para verificar se a RAM do meu laptop (que não inicializa, mas apresenta uma tela em branco) estava com defeito, mas eu gosto da maneira como esta pergunta está cheia de neve.
boot
memory
operating-systems
ramdisk
Suvarna Pattayil
fonte
fonte
Respostas:
Todo sistema operacional precisa de RAM?
Para hardware compatível com IBM PC, uma etapa obrigatória do processo do BIOS POST é verificar se há RAM para carregar o BIOS. Opcionalmente, o processo POST verifica corretamente suas funções de RAM. Após o processo POST, o BIOS carrega o gerenciador de inicialização na RAM e controla o gerenciador de inicialização. Portanto, a resposta para sua pergunta ("Todo SO precisa de RAM?") É: sim, todo hardware compatível com PC IBM requer pelo menos alguma RAM em funcionamento para inicializar. Isso vale para qualquer sistema operacional executado nesse hardware.
Observe que na pergunta original do OP, havia uma referência a um "laptop", que eu interpretei como: Hardware compatível com IBM PC. Para o restante desta resposta, assumirei o hardware compatível com IBM PC.
Um sistema operacional pode inicializar com RAM defeituosa?
Se a sua RAM estiver com defeito (e não estiver totalmente ausente / quebrada) ou se você puder (parcialmente) substituí-la, poderá inicializar usando os patches do kernel BadRAM do BadMEM . Requer que você recompile o kernel (soa mais fácil do que se você fizer pela primeira vez) e pode reiniciar e informar ao kernel onde está sua memória ruim. Uma boa explicação do uso do Memtest86 / Memtest86 + , BadRAM / BadMEM pode ser encontrada aqui .
Um sistema operacional pode inicializar sem RAM e usando o cache da CPU como RAM?
Até onde eu sei, não há como usar o cache da sua CPU como RAM sem nenhuma RAM presente no seu sistema (como sugerido por @philipp e outros) nos comentários. Se houver, seria bom adicioná-lo aqui. O único artigo que pude encontrar sobre esse assunto é o artigo que afirma: "Usando o cache do processador como RAM até que a RAM seja inicializada". Não tenho certeza se (e como) ele funcionará sem RAM. Tanto quanto sei, não há código de trabalho que inicialize um sistema operacional em um PC compatível com IBM. Qualquer referência a prova de conceitos, código de trabalho ou qualquer outra coisa é bem-vinda nos comentários, e eu a adicionarei a esta resposta.
Posso acessar o BIOS?
A pergunta do OP é um pouco vaga se o laptop conseguir passar no BIOS POST. Como o @Tonny aponta, nenhum sistema operacional o ajudará a " chegar ao BIOS ". Você entrar na BIOS usando o F1ou F2ou F10ou DELou ESCchave, dependendo da sua marca de BIOS.
Como recuperar dados do laptop sem RAM?
Quanto ao objetivo por trás da sua pergunta: por que você precisa de acesso ao seu laptop? Provavelmente porque ainda existem dados no disco rígido que você deseja recuperar? Nesse caso, é muito mais fácil retirar o disco rígido (consulte o manual) e conectá-lo a um dispositivo de armazenamento externo ou diretamente a um PC. Aqui está um bom guia para fazer exatamente isso.
fonte
É possível em teoria , mas seria muito lento, pois seria necessário usar o disco para qualquer armazenamento temporário que não se encaixasse nos caches da CPU. (As CPUs têm alguns megabytes de cache, porque até a RAM é muito lenta para eles. Pense nisso.) Portanto, você precisaria de um sistema operacional bastante pequeno.
(Bem, os sistemas embarcados no chip podem executar código da RAM ou da memória Flash interna - o BIOS do PC poderia, em teoria, fazer o mesmo, mas não pode executar todo o sistema operacional.)
Mas, outra coisa é, o BIOS é executado antes e fora de qualquer sistema operacional instalado, e é o BIOS que permite inicializar a partir de um pendrive ou qualquer outra coisa. Portanto, se você não conseguir acessar o BIOS, nenhum outro sistema operacional no mundo o ajudará.
fonte
Você pode, com algum esforço, projetar um sistema que não contenha RAM. Carregue seu software a partir da ROM (ou armazenamento) e faça tudo em registros ou em cache. Esse sistema teria um uso excepcionalmente limitado e, dado que os preços atuais da RAM são um pouco inúteis. Um laptop pronto para uso não funcionará sem memória interna.
Sua pergunta real é mais provável "Como obtenho informações de um computador que não inicializa" e isso é fácil. Desmonte, remova a unidade e conecte-a a um gabinete de unidade externa.
Observe, no entanto, que qualquer computador com idade suficiente para que você não possa obter apenas US $ 20 em RAM, pois terá uma unidade ATA (ATA comum, não SATA). Essa interface está quase extinta hoje, portanto, você também precisará encontrar um gabinete de unidade com uma placa ATA, bem como um adaptador de tamanho normal para laptop. Tenho um que comprei em 2000 e mantenho alguns casos antigos apenas para esse fim.
fonte
Se eu li a pergunta corretamente, todos aqui estão latindo na árvore errada.
Ele afirma explicitamente "para acessar o BIOS".
Se o laptop está tão quebrado que nem entra no BIOS, tudo o mais é inútil.
Você não pode inicializar QUALQUER SO, independentemente da situação da RAM.
fonte
Sua suposição de que a memória está ruim é provavelmente inválida. Se você não ouvir sinais sonoros ou mensagens na tela, a causa raiz é quase certamente uma CPU com falha (um tanto improvável) ou uma placa-mãe com falha (muito provavelmente). As placas-mãe falham com a idade o tempo todo devido a juntas de solda a frio, que eram uma ocorrência comum nos primeiros dias do movimento ROHS e a exigência de usar solda sem chumbo. As técnicas de fabricação foram otimizadas para o uso de solda à base de chumbo e a indústria levou um tempo para entender e resolver os problemas. Muitos fabricantes de componentes não estavam muito dispostos a gastar o dinheiro para atualizar seus processos. Afinal, os dispositivos testavam e queimavam muito bem, apenas para falhar meses ou anos depois, depois que qualquer garantia provavelmente expirava. Somente com uma montanha crescente de falhas e intenso feedback negativo dos usuários, os fabricantes começaram a melhorar as coisas. Em um laptop como esse, ter a placa principal voltada para retificar as juntas de solda a frio é quase certamente proibitivo.
fonte
A maioria dos computadores antigos dos anos 80 ou mais tinha o tipo de sistema operacional (drivers de hardware, suporte a IO, carregamento de programas, interface de linha de comando muito simples etc.) no chip ROM. Poderia funcionar um pouco, mesmo enquanto os chips de RAM estavam inoperantes. Esse recurso foi usado em versões especiais de conteúdo da ROM, projetadas para a execução de testes de hardware e a comunicação principalmente através das luzes do sinal sonoro e do teclado.
A CPU possui vários registradores para lembrar o endereço do comando que está sendo executado, pelo menos, mas esses normalmente não são chamados de RAM.
O código C regular não pode ser executado em um sistema sem RAM, pois usa a memória da pilha para alocar variáveis e a pilha está na RAM. Quando um computador recente é inicializado, uma RAM dinâmica regular inicialmente não está disponível, pois o dispositivo de atualização de RAM precisa de uma configuração inicial para funcionar. O código do assembly é executado primeiro e executa a inicialização da placa-mãe. A RAM começa a funcionar e o código C pode ser executado.
fonte
Quando fui para a Universidade em 1967, o Departamento de Computação possuía uma Stantec Zebra . A memória consistia em um tambor magnético de 8192 palavras. Havia também 12 registros e dois acumuladores. Você pode considerar essa RAM, mas não como a conhecemos.
fonte
Você precisaria de pelo menos no cache de chips para registros (essencialmente, uma quantidade muito pequena de RAM no chip) para que a unidade de execução da CPU pudesse funcionar. Assim, mesmo sua CPU possui 'RAM'.
Nenhum sistema operacional Von-Neumann foi projetado sem a necessidade de memória que acredito.
Então não.
fonte
De acordo com todas as outras pessoas aqui, concordo que você precisa de RAM e não pode trabalhar sem ela, mas também li o seguinte:
Isso realmente existe no BIOS, existe uma função para verificar a RAM em profundidade. Ao inicializar e entrar no BIOS, altere a opção "Autoteste de inicialização rápida" para desativado e ele fará uma verificação completa na sua RAM. Essa opção deve estar localizada em "recursos avançados do BIOS", algo como a segunda opção nos BIOS da AMI.
Espero que isso lhe dê um passo adiante. ;-)
fonte
Você não precisa de RAM, por exemplo, use uma máquina de Turing .
(Eu não consideraria uma fita como RAM.)
Agora, suas perguntas reais devem ser perguntadas sobre "útil" e definir o que você quer dizer com "útil" .
fonte
Existem sistemas operacionais especializados para uso incorporado que executam inteiramente a partir de uma ROM (apenas memória). Para fazer algo útil, no entanto, você ainda precisa de pelo menos uma pequena quantidade de RAM. Eu ainda não vi um PC que inicialize sem RAM.
Quanto à pergunta original sobre um teste de memória, se o computador fizer o POST (por exemplo, passar pelo autoteste de inicialização e tentar inicializar), o Memtest86 foi projetado especificamente para testar sua RAM. Ele testa os primeiros 64 KB de RAM, carrega-se nessa RAM e, em seguida, testa o restante da memória do sistema da maneira mais completa possível. A memória "Flakey" (ao contrário da memória simplesmente ruim) é incomum, mas vi o Memtest86 capturar um bit intermitentemente ruim que o teste de memória do computador perdeu (afinal de contas, o teste de memória POST deve ser concluído em um período de tempo razoável , enquanto o teste mais rápido do memtest86 é executado de 5 a 10 minutos, com testes mais abrangentes levando horas.)
fonte
Sim, você pode ter um computador sem RAM. Existe um modo especial na maioria dos processadores x86 que permite executá-lo apenas com cache. Se você verificar o coreboot (antigo linuxbios), ele poderá fazer isso. É chamado de cache como ram. Na verdade, você pode fazer um sistema operacional inteiro com base nisso e, com os caches modernos de grande porte, ele pode acabar tendo uma GUI (verifique o menuet-os). Mas nenhum fez isso ainda.
fonte