Para instalar o Windows e / ou inicializar no Windows, uma certa quantidade de memória já é necessária. O Windows não será instalado se houver memória insuficiente. Mas se você tiver memória suficiente, instale as janelas e remova a memória, o Windows não inicializará.
Dito isto, digamos que você tenha memória suficiente para rodar o Windows, mas você inicia um programa que requer mais memória do que o Windows?
Bem, o que acontece depende de algumas coisas.
O programador usou as chamadas da API do Windows para gerenciar a memória corretamente, se for o caso, o programa deve simplesmente exibir uma mensagem de erro ao tentar executar determinadas tarefas. Se o carregamento do programa em si exceder a memória, é provável que ele falhe na inicialização, fornecendo "Este programa foi encerrado inesperadamente. Enviar relatório de erros para a microsoft"
No entanto, se o programador não usou as chamadas da API do Microsoft, então ele determina o quão bem o programador antecipou possíveis problemas de memória e testou o programa encontrando problemas de memória. Se o programador não adicionar verificações para problemas de memória, o programa falhará ou, dependendo do que o programador fez, pode até travar a própria janela.
Linguagens de programação, como c ++, permitem o gerenciamento direto da memória e são potentes o suficiente para travar janelas quando o código é inserido sem verificações adequadas.
O Windows tem certa proteção embutida, na forma de BSoD, mas isso ainda é uma falha.