AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1519671
Accepted
ioi-xd
ioi-xd
Asked: 2020-01-24 14:16:00 +0800 CST2020-01-24 14:16:00 +0800 CST 2020-01-24 14:16:00 +0800 CST

Um computador de 64 bits (x86) pode executar um sistema operacional de 16 bits nativamente, sem emulação?

  • 772

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?

64-bit x86
  • 4 4 respostas
  • 9730 Views

4 respostas

  • Voted
  1. Best Answer
    Ro-ee
    2020-01-24T14:44:52+08:002020-01-24T14:44:52+08:00

    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). .

    • 53
  2. Sam Forbis
    2020-01-24T14:44:51+08:002020-01-24T14:44:51+08:00

    À 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.

    • 14
  3. phuclv
    2020-01-24T21:51:42+08:002020-01-24T21:51:42+08:00

    Sim. As CPUs x86-64 modernas ainda são totalmente compatíveis com versões anteriores até a primeira geração (8086)

    A compatibilidade total com versões anteriores é particularmente importante em arquiteturas de conjunto de instruções de computador, sendo uma das mais bem-sucedidas a família x86 de microprocessadores. Sua compatibilidade total com versões anteriores remonta aos processadores Intel 8086/8088 de 16 bits lançados em 1978. (Os 8086/8088, por sua vez, foram projetados com fácil tradução automática de programas escritos para seu predecessor em mente, embora não fossem instruções -conjunto compatível com o processador Intel 8080 de 8 bits a partir de 1974.

    https://en.wikipedia.org/wiki/Backward_compatibility#Hardware

    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

    Os processadores x86 que suportam a inicialização do modo protegido no modo real para compatibilidade com versões anteriores com a classe 8086 mais antiga de processadores. Ao ligar (também conhecido como inicialização ), o processador inicializa no modo real e, em seguida, começa a executar as instruções. O código de inicialização do sistema operacional, que pode ser armazenado em ROM , pode colocar o processador no modo protegido para ativar a paginação e outros recursos. A instrução definida no modo protegido é semelhante à usada no modo real.

    https://en.wikipedia.org/wiki/X86#Protected_mode

    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

    • 7
  4. Jasen
    2020-01-26T01:48:11+08:002020-01-26T01:48:11+08:00

    Recentemente, vi um vídeo dele sendo feito com o Windows 95,

    O Windows 95 é um sistema operacional de 16 bits (MS-DOS) com um shell de 32 bits, então você já viu isso acontecer.

    • 1

relate perguntas

  • Shuttle XH61V / i7: Windows 64b suportado?

  • Posso conectar o MS Access de 64 bits a um driver ODBC de 32 bits?

  • Como Ole32.lib será instalado?

  • Existe uma versão de 64 bits do Groovy para Windows 10?

  • Virtualização não suportada ao tentar executar o Docker para Windows em um AMD C-60

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve