¿Windows todavía depende de MS-DOS?

71

Estoy a punto de comenzar un curso de sistema operativo y, como usuario de Apple, no estoy muy familiarizado con los detalles subyacentes del sistema operativo Windows. Me preguntaba, ¿todavía se usa MS DOS con Windows ejecutándose en la parte superior o SOLO se usa Windows ahora como SO? Estaba un poco confundido porque leí en alguna parte que MS-DOS se usa para arrancar, pero Windows tiene todas las demás capacidades del sistema operativo integradas y, por lo tanto, se usa para todas las demás operaciones del sistema operativo ...

rrazd
fuente
El final de esta discusión parece interesante.
user2284570
No, no lo hace. El último sistema operativo de consumo que dependía de MS-DOS fue Windows Me. Windows XP, Vista, 7 y versiones posteriores se basan en la arquitectura de Windows NT.
bwDraco

Respuestas:

140

Hay dos linajes distintos cuando se trata de Microsoft Windows, y no ayuda cuando las personas escriben cosas sobre un linaje que han aprendido sobre el otro.

  • El linaje de DOS + Windows comprende DOS + Windows todas las versiones hasta la versión 3.11, DOS + Windows 95, DOS + Windows 98 y DOS + Windows Millennium Edition. Tiene Windows en capas sobre DOS. Se han escrito libros completos sobre el tema de esta estratificación, y es objeto de cierta controversia, sobre todo porque mucha gente durante una feria durante la primera mitad de la década de 1990 quería que el mundo creyera que DOS se había ido y Windows El sistema operativo.

    Este es el proceso de arranque de DOS + Windows.

  • El linaje de Windows NT comprende Windows NT 3.x, Windows NT 4.0, Windows NT 5.0 ("Windows 2000"), Windows NT 5.1 ("Windows XP"), Windows NT 5.2 (algunas ediciones de Windows XP y "Windows Server 2003" ), Windows NT 6.0 ("Windows Vista") y Windows NT 6.1 ("Windows 7"). No está en capas sobre DOS, funciona de una manera completamente diferente a DOS y puede ejecutar aplicaciones de DOS a fuerza de una máquina NT Virtual DOS (NTVDM) que es una máquina virtual que se ejecuta sobre Windows NT en lugar de la otra alrededor.

    Este es el proceso de arranque de Windows NT 6.x.

Lo que tampoco ayuda es cuando las personas hablan erróneamente de un "indicador de DOS" en Windows NT, como incluso ha sucedido en las respuestas aquí. Además del hecho de que son los intérpretes de comandos los que solicitan, no los sistemas operativos , esto combina "DOS" con "interfaz de usuario textual" e "intérprete de comandos", ninguno de los cuales es actualmente sinónimo de DOS. DOS es una familia de sistemas operativos: MS-DOS, PC-DOS, DR-DOS, FreeDOS, OpenDOS, etc.

Si uno tiene una ventana de símbolo del sistema abierta en Windows NT, casi siempre se está ejecutando CMD, que es el intérprete de comandos predeterminado de Microsoft suministrado en el cuadro y que es una interfaz de usuario normal y textual, el programa Win32. No hay "DOS", ni NTVDM. Solo hay un programa Win32 hablando con su objeto de consola Win32. Y, de hecho, para muchos programas TUI que uno puede ejecutar en Windows NT, incluidas todas las herramientas en los diversos kits de recursos de Microsoft, todavía no hay indicios de DOS en ninguna parte de la imagen, porque estos son todos los programas normales de Win32 que realizan la consola Win32 I / O, también.

Irónicamente, dado que Windows NT 3.1 se lanzó en 1993, el linaje de Windows NT en realidad es el sistema no basado en DOS Windows es el sistema operativo que todas las personas a mediados de la década de 1990 intentaban convencer al mundo que era DOS + Windows 95.

Y, dieciocho años después, todavía estamos tratando de comunicar a algunas personas que Windows NT no funciona como DOS y nunca lo ha hecho . ☺

Otras lecturas

  • Jonathan de Boyne Pollard (2006). Una lista de libros para desarrolladores de kernel del sistema operativo y escritores de controladores de dispositivos . Respuestas frecuentes.
  • Mark E. Russinovich, David A. Solomon, Alex Ionescu (2009). Windows Internals (5a edición) . Microsoft Press. ISBN 9780735625303.
  • Walter Oney (1996). Programación de sistemas para Windows 95 . Microsoft Press. ISBN 1 55615949 8.
  • Matt Pietrek (noviembre de 1995). Secretos de programación del sistema de Windows 95 . IDG Books. ISBN 1-56884-318-6.
  • Andrew Schulman (1994). Windows 95 no autorizado . IDG Books Worldwide. ISBN 9781568841694.
  • Matt Pietrek (1993). Elementos internos de Windows: la implementación del entorno operativo Windows . Addison-Wesley. ISBN 9780201622171.
  • Andrew Schulman, David Maxey, Matt Pietrek (1992). Windows no documentado: una guía de programadores para las funciones reservadas de la API de Microsoft Windows . Addison-Wesley. ISBN 9780201608342.
JdeBP
fuente
11
Solo se pone mejor. Todavía estoy enseñando a la gente que puedes usar Alt-Tab entre aplicaciones. . .
surfasb
2
¿No es cierto que para Windows 95+, DOS se está utilizando como un gestor de arranque en lugar de una capa del sistema operativo? es decir, Windows 95+ no invoca servicios de DOS, excepto durante el proceso de arranque.
Winston Ewert
3
@ Winston Ewert, que yo sepa, los programas de Windows todavía confiaban en dos INT 21h en Windows 95. Por ejemplo, la función INT 21h 55h para la inicialización y la función INT 21h 4Ch para la terminación. No puedo responder por 98 y ME. Pero 95 lo hicieron.
artifex
66
Sin embargo, todavía no puede usar los nombres de dispositivo de DOS reservados en Windows 7 en explorer.exe.
LawrenceC
55
¡Personas! Ya sabes cómo funciona este sitio. Si desea hacer preguntas sobre el modo DOS, el significado de las opciones de msdos.sys y por qué no se pueden usar varios nombres como nombres de archivo en Win32, use el hipervínculo Preguntar en la parte superior de esta página . Comience, además, leyendo las preguntas de personas que ya tienen .
JdeBP
23

Además, Windows 95 no era completamente una GUI además de DOS. Leer más aquí:

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

Estrabismo
fuente
1
Recuerdo esto, toda la interfaz VxD y el conmutador VMM. Era una forma interesante de avanzar un poco en un sistema operativo y aún tener mucha compatibilidad con versiones anteriores.
Rich Homolka
Sin embargo, Windows 95 vino con MS-DOS 7, y uno podría usar solo la porción de DOS para hacer un disco de arranque solo para DOS y tener algo que parecía una edición ligeramente rota de MS-DOS 6 (pero también con algunos nuevos caracteristicas).
Randolf Richardson
44
La respuesta es la más correcta: Windows no ha confiado en DOS desde Windows 95. Y estrictamente hablando, Windows 3.11 no necesitaba DOS una vez que los controladores de 32 bits se hicieron cargo. Pero 3.11 no vino con un gestor de arranque; por lo que necesitaba DOS para llegar al punto de partida.
Ian Boyd
1
Ese blog es una buena lectura, gracias por el enlace
crasic el
20

No. Todas las versiones de Windows anteriores a las que tenían el "núcleo NT" se parecían más a una GUI sobre DOS. Con NT, que se volvió particularmente común con la introducción de Windows XP (y Windows Vista y Windows 7 también usan el kernel NT), se eliminó la necesidad de usar DOS como sistema operativo subyacente .

Las versiones de 32 bits de Windows todavía tienen un indicador de DOS, que se puede ejecutar ingresando command.comen el cuadro de diálogo de ejecución, y puede ejecutar la mayoría de los programas de DOS antiguos. Todas las versiones de Windows tienen un símbolo del sistema que se puede usar para ejecutar archivos por lotes y comandos similares a DOS (que generalmente son aplicaciones nativas de Windows que están diseñadas para interactuar con la consola de estilo DOS). Windows de 64 bits no puede ejecutar aplicaciones de DOS porque no admite procesos de 16 bits.

Probablemente sea mejor ver el símbolo del sistema como algo más parecido a una aplicación especializada que se puede usar para ejecutar programas de DOS y / o iniciar programas de Windows desde la línea de comandos.

Nota: La terminología "símbolo del sistema DOS" se usaba comúnmente para describir el "símbolo del sistema" antes de la introducción del núcleo NT. Aunque muchas personas todavía usan el término "indicador de DOS" hoy (porque lo usan para ejecutar muchos de los mismos comandos, que originalmente se denominaban "comandos de DOS", que normalmente están disponibles en un entorno de DOS), el término "comando prompt "es técnicamente correcto en las variantes NT de Windows.

Randolf Richardson
fuente
13
Las aplicaciones DOS heredadas (antiguas, de 16 bits) se ejecutan en el NTVDM, que se emula dentro del subsistema de símbolo del sistema. El NTVDM no está disponible en sistemas Windows de 64 bits, por lo que necesita un emulador de terceros para ejecutar aplicaciones DOS de 16 bits, como DOSBox o VirtualBox.
Afrazier
11
La razón por la cual el NTVDM no está disponible en Windows de 64 bits es porque es simplemente una envoltura delgada que cambia la CPU al modo de 16 bits antes de ejecutar el código. En el modo de 64 bits, la CPU solo puede cambiar al modo de 32 bits temporalmente para ejecutar código de 32 bits; no puede ejecutar código de 16 bits sin un reinicio en frío.
Hola71
2
Nota para todos: Se han limpiado los comentarios de esta publicación. Para aquellos involucrados: manténgalo en forma civil y recuerde que las discusiones extendidas deben trasladarse al chat siempre que sea posible; los comentarios excesivos en una publicación se vuelven muy ruidosos para otros visitantes.
DMA57361
Como la gente siguió discutiendo con vehemencia sobre esta publicación, la estamos bloqueando por ahora. Se han eliminado los comentarios, nuevamente.
nhinkle
@ Hola71 mal. En Linux, por ejemplo, puede. Y puede ejecutar aplicaciones DOS y Win 3.1 de 16 bits en Linux de 64 bits.
Anixx
5

Más como una respuesta a Randolf, pero él no es el único, confunde las interfaces de línea de comandos y DOS en varias ocasiones.

Tenga en cuenta que muchas de las etiquetas [DOS] y [MS-DOS] sufren el mismo error: MS-DOS inicialmente solo tenía un modo de texto, una interfaz de línea de comandos llamada command.com+ norton commander para muchos de nosotros y ventanas de modo de texto de cosecha propia con marcos , dibujado con ansi.sys, pero controlable no solo por el teclado, sino también por el mouse, sino también más fácilmente con las teclas de flecha y las teclas de acceso rápido.

Luego, Windows fue construido sobre DOS (2.0, 3.0, 3.1, 3.11), donde reapareció un icono para DOS-Box dentro de Windows, como un nombre para la interfaz de comando dentro de Windows.

Pero en Windows-NT y en Windows-95 o -98, MS-DOS fue abandonado, pero cmd.exetodavía existía un intérprete de comandos (cmd32.exe), con la misma o casi la misma sintaxis y palabras clave. Pero este era un programa que se ejecutaba en Windows, como otros intérpretes de comandos de estilo de texto, como BASIC, irb (Ruby), scala-repl, psql (Postgresql), sqlplus (oracle), bc, R, rhino, etc. y así sucesivamente, ejecutándose en varias plataformas.

Llamar a este estilo MS-DOS es engañoso, ya que DOS o MS-DOS no fueron los primeros que lo idearon. Es mucho mas viejo.

Incluso en Windows no estaba restringido a ejecutar comandos de DOS: una práctica común de escritura de archivos por lotes era, para especificar algunos parámetros, antes de iniciar un programa de Windows. Por ejemplo, establecer un CLASSPATH, JAVA_HOME, parámetros java como -Xmx, etc. para un programa Java.

Muchas personas piensan que las interfaces de línea de comandos son una reliquia de tiempos pasados , que no conocen el poder de procesar miles de archivos con unas pocas teclas. Tampoco saben de wsh y mónada. Pero para los profesionales, un intérprete de comandos en Windows es casi tan útil como en Unix o Linux. No es tan conocido, pero es esencial para muchos administradores.

Incluso hay un puerto de gnu-toolchain, con sh.exe y sed, awk, bc, tail, rev, cat y todo eso como aplicaciones nativas de win32.

Tal vez pueda ejecutar viejos programas de DOS en cmd.exe, pero no puede ejecutar programas de Windows en modo DOS, así que no siga diciéndole a la gente que cmd.exe es DOS, no lo es. Y no es como DOS . Lo que quieres decir es un interactive command-line program, a command-line interface.

  • Solicitud de DOS
  • Archivos por lotes de DOS
  • Comandos tipo DOS
  • Consola estilo DOS
  • Aplicaciones de DOS

Casi siempre es una terminología engañosa . Puede ser apropiado para un aficionado, pero si quieres que tu audiencia entienda de qué estás hablando, debes preguntarte: ¿está restringido a un sistema operativo especial, a DOS? ¿Es el estilo CLI mejor llamado 'estilo DOS'? ¿Es esto históricamente correcto? ¿Tu audiencia conoce DOS en absoluto? ¿Es útil para entender? ¿Realmente se ejecutan esos programas en DOS?

Necesitas las expresiones correctas, afiladas como el cuchillo de un cirujano, para explicar cosas complicadas. Las expresiones incorrectas provocan impresiones erróneas en el cerebro de su audiencia. Las expresiones descuidadas son peores que nada. Evítales. Use CLIsi la interfaz de línea de comandos es demasiado larga para que escriba.

Corrija las etiquetas engañosas en SU, SE y otros lados.

usuario desconocido
fuente
Bien dicho. Un montón de mala terminología alrededor.
Milind R
En Win95 y Win98 no había cmd.exe.
Anixx
2

En la familia de Windows NT (NT, 2000, XP, 2003, Vista, 2008, 7) es independiente de DOS. Solo hay emuladores de DOS para la compatibilidad con versiones anteriores.

Sin embargo, todavía hay algunas limitaciones que son consecuencia de la compatibilidad con DOS en los primeros días de NT. Por ejemplo, no puede crear un archivo o directorio llamado "CON" o "PRN" porque esos son nombres reservados para representar dispositivos en DOS.

Michał Šrajer
fuente
1

En realidad, ahora Windows ya no usa DOS. La solicitud de DOS (o cmd) se emula sobre Windows XP, Vista o Seven. Windows arranca desde sus propios recursos.

Diogo
fuente
9
-1: mal. No es to DOS (or cmd). Hay un intérprete de comandos, cmd.exe, pero eso no es DOS. DOS también tenía un intérprete de comandos, command.com, que es muy similar en sintaxis, palabras clave y uso, pero la interfaz de comandos es solo una parte de DOS; No es DOS.
Usuario desconocido el
Sí. El consoletipo en el encabezado PE es parte del subsistema Win32 / Win64. No es de 16 bits en absoluto.
user2284570