Se você fosse construir um computador x86 moderno com peças completamente modernas, você poderia carregar o MS-DOS 6.11 e o Windows 3.11 nele sem nenhuma emulação ou mesmo com o FreeDOS? Recentemente, vi um vídeo dele sendo feito com o Windows 95, um sistema operacional de 32 bits, mas pode ser feito com um sistema operacional de 16 bits como o Windows 3.1 ou inferior?
Sim. As CPUs de 64 bits (do tipo x86) podem ser executadas no modo x86 real, e é nele que o aplicativo de 16 bits é executado. Você tem todas as limitações dele (memória de 640 KB, registro de largura de 16 bits, etc.), mas você tem uma velocidade de processador centenas, senão milhares de vezes mais rápida do que nos anos 80, quando esses sistemas operacionais de 16 bits estavam na moda.
O acesso ao hardware é problemático. Como em 2020 a Intel planeja abandonar ativamente o suporte para BIOS herdado e até mesmo o Módulo de Suporte de Compatibilidade, seu aplicativo de 16 bits não poderá depender de chamadas de BIOS para acesso a disco, gráficos, entrada de teclado/mouse, etc. tem que escrever drivers de 16 bits para tudo isso, o que não é realmente viável, já que a maioria dos dispositivos não seria endereçável com 16 bits (os endereços PCI do dispositivo geralmente seriam em torno de 3 GB) e não há como dizer seu driver para "escrever esses dados de buffer no endereço 0xEF000000" (porque isso seria o que o driver esperava).
Se, por outro lado, você ainda tiver o BIOS tradicional presente (ou pelo menos o UEFI CSM ativado), ainda poderá executar o software antigo de 16 bits. O suporte de hardware será limitado, pois tudo deve ser fornecido pelo BIOS, e os fabricantes de BIOS podem reduzir o suporte amplo e oferecer suporte apenas a um número limitado de dispositivos USB e também a uma certa quantidade de dispositivos SATA (ou mesmo NVMe). .
À medida que as CPUs e PCs evoluíram, os fabricantes de CPU se comprometeram a manter a compatibilidade com versões anteriores de conjuntos de instruções e software anteriores. Você ainda encontrará algumas instruções sobre CPUs x86-64 modernas que foram introduzidas no Intel 8086 (do final dos anos 1970).
A resposta à sua pergunta é sim, os PCs x86-64 modernos podem executar tecnicamente sistemas operacionais de 16 bits. Na verdade, aqui está um link para um vídeo do popular YouTuber LGR mostrando-o instalando o MS-DOS 6.2 em seu novo PC para jogos.
Existem algumas limitações óbvias para fazer algo assim. No DOS, você não poderá acessar mais de 640K de RAM. Da mesma forma, se você executar um sistema operacional de 32 bits em hardware de 64 bits (ou hardware de 32 bits, nesse caso), os programas executados serão limitados a usar 4 GB de RAM.
Tudo isso dito, os sistemas operacionais de 64 bits não podem executar software de 16 bits nativamente como podem executar software de 32 bits. Uma peculiaridade estranha, mas é assim que o cookie do chip de computador se desfez.
Sim. As CPUs x86-64 modernas ainda são totalmente compatíveis com versões anteriores até a primeira geração (8086)
Ele ainda inicia a partir do modo real, que é o modo em que o DOS é executado. Depois de inicializar, o gerenciador de inicialização ou o kernel mudará para o modo de 32 ou 64 bits, conforme desejar
Portanto, é definitivamente possível instalar todas as versões do DOS em todas as CPUs x86 e sofrer todas as limitações do DOS, como o modo de endereçamento ou o número de linhas de endereço. O Windows 3.x é, na verdade, apenas um aplicativo GUI executado no DOS (embora em um modo diferente de 16 bits), portanto, você também poderá executá-lo em máquinas modernas
No entanto, uma grande diferença nos modos anteriores e no modo de 64 bits (também conhecido como modo longo) é que, uma vez que a CPU muda para o modo longo, ela não pode fazer a transição de volta para o modo virtual-8086, portanto, você não pode executar o DOS de 16 bits. aplicativos dentro do Windows de 64 bits. Para aqueles que você precisa executar na máquina bare-metal (executá-la em uma VM nua também funcionaria)
Consulte É possível executar código de 16 bits em um sistema operacional compatível com o modo Intel IA-32e?
Dito isto, embora a CPU suporte o conjunto completo de instruções de 16 bits, a inicialização do sistema pode ser difícil devido à falta de suporte de hardware moderno, como outros disseram
O Windows 95 é um sistema operacional de 16 bits (MS-DOS) com um shell de 32 bits, então você já viu isso acontecer.