O Windows ainda depende do MS-DOS?


71

Estou prestes a iniciar um curso de sistema operacional e, como usuário da Apple, não estou muito familiarizado com os detalhes subjacentes ao sistema operacional Windows. Fiquei me perguntando, o MS DOS ainda é usado com o Windows em execução ou APENAS o Windows é usado agora como sistema operacional? Fiquei um pouco confuso porque li em algum lugar que o MS-DOS é usado para inicializar, mas o Windows tem todos os outros recursos do SO incorporados e, portanto, é usado para todas as outras operações do SO ...


O final desta discussão parece interessante.
user2284570

Não, não tem. O último SO de consumidor que dependia do MS-DOS foi o Windows Me. O Windows XP, Vista, 7 e posterior são todos criados na arquitetura do Windows NT.
bwDraco

Respostas:


140

Existem duas linhagens distintas no que diz respeito ao Microsoft Windows e não ajuda quando as pessoas escrevem coisas sobre uma linhagem que aprenderam sobre a outra.

  • A linhagem DOS + Windows inclui DOS + Windows todas as versões até a versão 3.11, DOS + Windows 95, DOS + Windows 98 e DOS + Windows Millennium Edition. Ele possui o Windows em camadas no DOS. Livros inteiros foram escritos sobre o tema dessa estratificação, e isso é motivo de alguma disputa, até porque muitas pessoas durante uma feira, no início e meados da década de 90, queriam que o mundo acreditasse que o DOS havia desaparecido e o Windows estava desativado. o sistema operacional.

    Este é o processo de inicialização do DOS + Windows.

  • A linhagem do Windows NT inclui Windows NT 3.x, Windows NT 4.0, Windows NT 5.0 ("Windows 2000"), Windows NT 5.1 ("Windows XP"), Windows NT 5.2 (algumas edições do Windows XP e "Windows Server 2003" ), Windows NT 6.0 ("Windows Vista") e Windows NT 6.1 ("Windows 7"). Ele não está em camadas no DOS, funciona de uma maneira completamente diferente do DOS e pode executar aplicativos DOS por meio de uma NTVDM (NT Virtual DOS Machine), que é uma máquina virtual executada no Windows NT e não na outra. ao redor.

    Este é o processo de inicialização do Windows NT 6.x.

O que também não ajuda é quando as pessoas falam por engano de um "prompt do DOS" no Windows NT, como aconteceu nas respostas aqui. Além do fato de que são os intérpretes de comando que solicitam, e não os sistemas operacionais , isso confunde o "DOS" com a "interface de usuário textual" e o "interpretador de comandos", nenhum dos quais atualmente é sinônimo de DOS. O DOS é uma família de sistemas operacionais: MS-DOS, PC-DOS, DR-DOS, FreeDOS, OpenDOS, etc.

Se alguém tem uma janela de prompt de comando aberta no Windows NT, quase sempre está em execução CMD, que é o intérprete de comando padrão da Microsoft fornecido na caixa e que é uma interface de usuário comum e textual, o programa Win32. Não há "DOS", nem NTVDM. Há apenas um programa Win32 conversando com seu objeto de console Win32. E, de fato, para muitos programas TUI que podem ser executados no Windows NT, incluindo todas as ferramentas nos vários Resource Kits da Microsoft, ainda não há cheiro de DOS em qualquer lugar da imagem, porque esses são todos os programas Win32 comuns que executam o console Win32 I / O também.

Ironicamente, como o Windows NT 3.1 foi lançado em 1993, a linhagem do Windows NT na verdade é o sistema Windows não-baseado no DOS que todas as pessoas no meio dos anos 90 estavam tentando convencer o mundo que o DOS + Windows 95 era.

E, dezoito anos depois, ainda estamos tentando convencer algumas pessoas de que o Windows NT não funciona como o DOS e nunca o fez . ☺

Leitura adicional

  • Jonathan de Boyne Pollard (2006). Uma lista de livros para desenvolvedores de kernel do sistema operacional e gravadores de driver de dispositivo . Respostas dadas com freqüência.
  • Mark E. Russinovich, David A. Solomon, Alex Ionescu (2009). Windows Internals (5ª Edição) . Microsoft Press. ISBN 9780735625303.
  • Walter Oney (1996). Programação de sistemas para Windows 95 . Microsoft Press. ISBN 1 55615 949 8.
  • Matt Pietrek (novembro de 1995). Segredos de programação do sistema Windows 95 . Livros do IDG. ISBN 1-56884-318-6.
  • Andrew Schulman (1994). Windows 95 não autorizado . IDG Books Worldwide. ISBN 9781568841694.
  • Matt Pietrek (1993). Internos do Windows: a implementação do ambiente operacional Windows . Addison-Wesley. ISBN 9780201622171.
  • Andrew Schulman, David Maxey, Matt Pietrek (1992). Windows não documentado: Um guia de programadores para funções reservadas da API do Microsoft Windows . Addison-Wesley. ISBN 9780201608342.

11
Só fica melhor. Ainda estou ensinando às pessoas que você pode usar o Alt-Tab entre aplicativos. . .
Surfasb

2
Não é verdade que, para o Windows 95+, o DOS está sendo usado como um carregador de inicialização, e não como uma camada do sistema operacional. ou seja, o Windows 95+ não invoca os serviços do DOS, exceto durante o processo de inicialização.
Winston Ewert

3
@Winston Ewert, que eu saiba, os programas do Windows ainda contavam com o INT 21h no Windows 95. Por exemplo, o INT 21h funciona 55h para inicialização e o INT 21h funciona 4Ch para finalização. Não posso responder por 98 e por mim. Mas 95 fizeram.
Artifex

6
No entanto, você ainda não pode usar os nomes de dispositivos DOS reservados no Windows 7 em explorer.exe!
LawrenceC

5
Pessoas! Você sabe como este site funciona. Se você quiser fazer perguntas sobre o modo DOS, significados das opções msdos.sys e por que não se pode usar vários nomes como nomes de arquivos no Win32, use o hiperlink Perguntar na parte superior desta página . Comece, além disso, lendo as perguntas de pessoas que possuem .
JdeBP

23

Além disso, o Windows 95 não era totalmente uma GUI sobre o DOS. Leia mais aqui:

http://blogs.msdn.com/b/oldnewthing/archive/2007/12/24/6849530.aspx


11
Lembro-me disso, de toda a interface VxD e do comutador VMM. Foi uma maneira interessante de avançar um pouco em um sistema operacional e ainda ter muita compatibilidade com versões anteriores.
Rich Homolka

No entanto, o Windows 95 veio com o MS-DOS 7, e pode-se usar apenas a parte do DOS para criar um disco de inicialização apenas para o DOS e ter algo parecido com uma edição levemente quebrada do MS-DOS 6 (mas também com alguns novos recursos adicionais). características).
Randolf Richardson

4
A resposta é a mais correta: o Windows não conta com o DOS desde o Windows 95. E, estritamente falando, o Windows 3.11 não precisava do DOS depois que os drivers de 32 bits assumiram o controle. Mas o 3.11 não veio com um gerenciador de inicialização; portanto, era necessário que o DOS chegasse ao ponto de partida.
Ian Boyd

11
Esse blog é uma boa leitura, obrigado pelo link
crasic

20

Não. Todas as versões do Windows anteriores àquelas com o "kernel do NT" eram mais como uma GUI no topo do DOS. Com o NT, que se tornou particularmente comum com a introdução do Windows XP (e o Windows Vista e o Windows 7 também usam o kernel do NT), a necessidade de usar o DOS como sistema operacional subjacente foi eliminada .

As versões de 32 bits do Windows ainda têm um prompt do DOS, que pode ser executado entrando command.comna caixa de diálogo Executar e pode executar a maioria dos programas antigos do DOS. Todas as versões do Windows têm um prompt de comando que pode ser usado para executar arquivos em lote e comandos do DOS (normalmente aplicativos nativos do Windows, projetados para interagir com o console no estilo do DOS). O Windows de 64 bits não pode executar aplicativos DOS porque não suporta processos de 16 bits.

Provavelmente, é melhor visualizar o prompt de comando como mais um aplicativo especializado que pode ser usado para executar programas DOS e / ou iniciar programas Windows na linha de comando.

Nota: A terminologia "prompt do DOS" era comumente usada para descrever o "prompt de comando" antes da introdução do kernel do NT. Embora muitas pessoas ainda usem o termo "prompt do DOS" hoje (porque o usam para executar muitos dos mesmos comandos, originalmente chamados de "comandos do DOS", normalmente disponíveis em um ambiente do DOS), o comando "term" prompt "está tecnicamente correto nas variantes NT do Windows.


13
Os aplicativos DOS antigos (antigos, de 16 bits) são executados no NTVDM, que é emulado dentro do subsistema do prompt de comando. O NTVDM não está disponível nos sistemas Windows de 64 bits, portanto, você precisa de um emulador de terceiros para executar aplicativos DOS de 16 bits, como DOSBox ou VirtualBox.
afrazier 4/08/11

11
A razão pela qual o NTVDM não está disponível no Windows de 64 bits é porque é apenas um invólucro fino que alterna a CPU para o modo de 16 bits antes de executar o código. No modo de 64 bits, a CPU só pode alternar temporariamente para o modo de 32 bits para executar o código de 32 bits; ele não pode executar o código de 16 bits sem uma reinicialização a frio.
Hello71

2
Nota para todos: os comentários foram limpos nesta postagem. Para os envolvidos: mantenha-o civilizado e lembre-se de que discussões prolongadas devem ser movidas para o bate - papo sempre que possível - comentários excessivos em uma publicação se tornam muito barulhentos para outros visitantes.
DMA57361

Como as pessoas continuaram discutindo com veemência sobre este post, estamos bloqueando-o por enquanto. Os comentários foram removidos novamente.
Nhinkle

@ Hello71 errado. No Linux, por exemplo, pode. E você pode executar aplicativos DOS e Win 3.1 de 16 bits no Linux de 64 bits.
Anixx 16/09/19

5

Mais como uma resposta a Randolf, mas ele não é o único, confundindo interfaces de linha de comando e DOS repetidamente.

Observe que muitas das tags [DOS] e [MS-DOS] sofrem do mesmo erro: o MS-DOS inicialmente tinha apenas um modo de texto, uma interface de linha de comando chamada command.com+ norton commander para muitos de nós e janelas de modo de texto caseiro com quadros , desenhado com ansi.sys, mas controlável não apenas pelo teclado, mas pelo mouse, mas com mais facilidade também com as teclas de seta e teclas de atalho.

Em seguida, o Windows foi construído sobre o DOS (2.0, 3.0, 3.1, 3.11), onde um ícone para o DOS-Box reapareceu dentro do Windows, como um nome para a interface de comando dentro do Windows.

Porém, no Windows NT e no Windows 95 ou 98, o MS-DOS foi abandonado, mas cmd.exeainda existia um interpretador de comandos (cmd32.exe), com a mesma sintaxe ou as mesmas palavras-chave ou quase a mesma sintaxe. Mas este era um programa em execução no Windows, como outros intérpretes de comando no estilo de texto, como BASIC, irb (Ruby), scala-repl, psql (Postgresql), sqlplus (oracle), bc, R, rhino e assim por diante, e assim por diante, rodando em várias plataformas.

Chamar esse estilo de MS-DOS é enganoso, já que o DOS ou o MS-DOS não foram os primeiros a aparecer. É muito mais velho.

Mesmo no Windows, não estava restrito a executar comandos do DOS - uma prática comum de gravação de arquivos em lotes era, para especificar alguns parâmetros, antes de iniciar um programa do Windows. Por exemplo, configurando um CLASSPATH, JAVA_HOME, parâmetros java como -Xmx e assim por diante para um programa Java.

Muitas pessoas pensam que as interfaces de linha de comando são uma relíquia dos tempos antigos - que não sabem o poder de processar milhares de arquivos com apenas algumas teclas. Eles também não conhecem wsh e mônada. Mas para os profissionais, um intérprete de comando está no Windows quase tão útil quanto no Unix ou Linux. Não é tão conhecido, mas é essencial para muitos administradores.

Existe até uma porta do gnu-toolchain, com sh.exe e sed, awk, bc, tail, rev, cat e tudo isso como aplicativos win32 nativos.

Talvez você possa executar programas DOS antigos no cmd.exe, mas não pode executar programas do Windows no modo DOS, por isso não continue dizendo às pessoas que o cmd.exe é o DOS - não é. E não é parecido com o DOS . O que você quer dizer com é interactive command-line program, a command-line interface.

  • Prompt do DOS
  • Arquivos em lote do DOS
  • Comandos do DOS
  • Console no estilo DOS
  • Aplicações DOS

é quase sempre terminologia enganosa . Pode ser apropriado para um amador, mas se você deseja que seu público entenda o que está falando, pergunte a si mesmo: é restrito a um sistema operacional especial, para o DOS? O estilo CLI é melhor denominado 'estilo DOS'? Isso é historicamente correto? Seu público conhece o DOS? É útil para entender? Esses programas realmente rodam no DOS?

Você precisa das expressões certas, afiadas como a faca de um cirurgião, para explicar coisas complicadas. Expressões erradas provocam impressões erradas no cérebro do seu público. Expressões desleixadas são piores que nada. Evite-os. Use CLIse a interface da linha de comandos tiver muito tempo para você digitar.

Corrija tags enganosas no SU, SE e outros lados.


Bem dito. Muita terminologia ruim por aí.
precisa

No Win95 e Win98 não havia cmd.exe.
Anixx 16/09/19

2

Na família Windows NT (NT, 2000, XP, 2003, Vista, 2008, 7) é independente do DOS. Existem apenas emuladores do DOS para compatibilidade com versões anteriores.

No entanto, ainda existem algumas limitações que são consequências da compatibilidade com o DOS nos primeiros dias do NT. Por exemplo, você não pode criar um arquivo ou diretório chamado "CON" ou "PRN" porque esses são nomes reservados para representar dispositivos no DOS.


1

Na verdade, agora o Windows não usa mais o DOS. O prompt para o DOS (ou cmd) é emulado no Windows XP, Vista ou Seven. O Windows é inicializado a partir de seus próprios recursos.


9
-1: errado. Não é to DOS (or cmd). Existe um interpretador de comando, cmd.exe, mas esse não é o DOS. O DOS também possuía um interpretador de comando, command.com, que é muito semelhante em sintaxe, palavras-chave e uso, mas a interface de comando é apenas uma parte do DOS; não é DOS.
usuário desconhecido

Sim O consoletipo no cabeçalho do PE faz parte do subsistema Win32 / Win64. Não é de 16 bits.
user2284570
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.