Una instalación de DOS (por ejemplo, MS-DOS 5.0) normalmente incluirá una declaración en su CONFIG.SYS como DEVICE=C:\DOS\HIMEM.SYS
.
Al instalar Windows 3.1, son los comentarios de configuración (REM) los que se alinean y, en su lugar, agrega DEVICE=C:\WINDOWS\HIMEM.SYS
.
Es de suponer que hay alguna diferencia material entre estos dos archivos para que la configuración realice esta modificación. ¿Qué hace la versión de Windows que no hace la de DOS?
(Esta pregunta la plantea en parte un Aleph Una tarjeta de expansión para máquinas Acorn Archimedes, que agrega soporte de hardware para ejecutar software de PC bajo RISC-OS. Cargar la versión DOS de HIMEM.SYS da como resultado un sistema inestable, pero la versión de Windows funciona correctamente, incluso cuando se ejecuta DOS. Un foro de discusión acerca de estos síntomas se pueden encontrar aquí .)
Respuesta
Las diferentes versiones de MS-DOS y Windows se envían con diferentes versiones de :
- Windows / 286 2.10:
HIMEM.SYS
1.1 (no es un controlador XMS) - Windows / 386 2.10, Windows 2.11:
HIMEM.SYS
2.04 - Windows 3.0:
HIMEM.SYS
2.60 - MS-DOS 5.0:
HIMEM.SYS
2.77 - Windows 3.1:
HIMEM.SYS
3.07 - MS- DOS 6.2 y posterior, Windows para trabajo en grupo 3.11:
HIMEM.SYS
3.10
(Consulte KB74977 y KB84388 para algunos de estos.)
La principal diferencia entre la versión de MS-DOS 5.0 de HIMEM.SYS
y Windows 3.1 están en la versión principal: HIMEM.SYS
2. x implementa versión 2.0 de XMS , HIMEM.SYS
3. x implementa la versión 3.0 .
No tengo detalles de todos los cambios entre estas versiones, pero KB8 4388 menciona que la versión 2.77 solo brinda acceso a 16MiB de RAM (XMS 2.0 está limitado a 64MiB), mientras que 3.07 puede detectar hasta 4GiB y hacer uso de hasta 1GiB (aunque Windows 3. x no puedo usar tanto). Esta limitación es en realidad una limitación de Windows 3.0, heredada de los descriptores de 24 bits del 286: Windows 3.0 solo admite 16MiB de RAM y «se basa en el controlador XMS para hacer cumplir este límite». Es de suponer que existen otras diferencias, incluidas correcciones de errores y posiblemente un mejor soporte para ciertos sistemas.
Las versiones anteriores de HIMEM.SYS
estaban disponibles con código fuente , pero no creo que ese fuera el caso con las versiones enviadas en Windows 3.0 o posterior. Puede que haya una lista de cambios en algún lugar de Internet, pero ahora se me escapa. Algunos cambios se pueden obtener de los artículos de la base de conocimientos de Microsoft; por ejemplo, versión 2.77 agregó un interruptor para reservar memoria para la interfaz de interrupción 0x15 .
Respuesta
No hay diferencias, excepto en el número de versión.
Los controladores son varios paquetes distribuidos con DOS, Windows y algunas utilidades del compilador. Es posible utilizar versiones posteriores, e incluso anteriores.
Puede ver en esta tabla que las versiones se han actualizado en general a lo largo del tiempo. El valor entre (corchetes) se informa de la emulación, el valor entre corchetes cuadrados [] son versiones OEM de período suministradas con cdrom, etc.
====
La versión principal (2, 3) son compatibles con algunos estándares. Se agregaron más funciones a 3, razón por la cual EMSMAGIC parchea la versión NT de himem.sys. Las características menores son correcciones de errores. PC-DOS 5.0 y Windows 3.00 tienen la versión 2.77, pero en las actualizaciones de esta (y también en MS-DOS 5.00a), se actualizó a 2.78.
Los números de versión también están destinados a ver si el El programa debería actualizar su versión. Entonces, si estuviera haciendo su trabajo correctamente, no apuntaría su línea himem a 2.77 si ya tiene 3.10.
Es por esta razón que Windows 9x tiene una subversión de .95. Es un número incluso mayor que 3.15 (la versión PC-DOS 7). Windows 9x emula el mouse 8.3, por lo que no instalaría 8.2, pero puede instalar 9.0.
Encontrará otras versiones de himem.sys etc en otro software, los lenguajes de programación proporcionan versiones de estos.
HIMEM EMM386 RAMDRV SMARTDRV MOUSE MSCDEX WINNT (2.77) (8.00) (2.21) MS-DOS 5.00 2.78 4.33 3.06 3.13 8.20 [2.21] Windows 3.11 3.07 4.44 3.06 4.00 8.20 [2.21] MS-DOS 6.00 3.07 4.45 3.06 4.10 8.20 2.22 PC-DOS 6.10 3.09 4.45 3.06 4.10 8.20 PC-DOS 6.30 3.09 4.48 3.06 5.00 9.01 2.23 MS-DOS 6.20 3.10 4.48 3.07 5.00 8.20 2.23 Win/W 3.11 3.10 4.49 3.07 5.00 8.20 2.23 MS-DOS 6.22 3.10 4.49 3.07 5.01 8.20 2.23 PC-DOS 7.00 3.15 4.50 3.10 5.10 8.20 2.25 Windows 95 3.95 4.95 3.06 5.00 (8.30) 2.25 Windows 98 3.95 4.95 3.06 5.02 (8.30) 2.25 Windows ME (3.99) 4.95 3.06 5.02 (8.30) 2.25 PC-DOS 7.10 3.15 2.25
Hay tres versiones diferentes de IBM mouse 8.20, las restantes mouse.com son idénticas a las versiones comerciales.
Puede utilizar estas utilidades con cualquier versión de DOS. Por ejemplo, las versiones de Win98SE se ejecutan como se indica en PC-DOS 5 o MS-DOS 5. El requisito es 3.3 o posterior.
Las diferencias parecen ser corrección de errores y optimización. Windows NT, por ejemplo, usa una versión emulada de (8.00) aquí.
MSDRIVERS
Desde una etapa muy temprana, pensé que los archivos La lista de arriba no era «parte» de DOS o Windows, sino controladores diferentes distribuidos con cualquier paquete que saliera por la puerta.
En los días del 286, HIMEM y EMM286 a menudo se distribuían con la tarjeta y, a menudo, específico para él. De manera similar, MOUSE, MSCDEX, vino con estos dispositivos. SMARTDRV y RAMDRIVE eran más controladores de software, pero eran independientes de dos.
HIMEM soporta bastantes máquinas, como se puede ver en la ayuda sobre el tema. Tiene un lado de DOS que admite una parte creciente de las interfaces XMS 2, x y 3, x, y un lado de HW que admite una variedad de máquinas anteriores. Las fallas y las implementaciones en ambos lados podrían dar lugar a una nueva versión, aunque las versiones principales admitían una interfaz más extensa.
EMM386 admite una gama diferente de interrupciones, etc., que Lotus, Intel y Microsoft acordaron. Al igual que HIMEM, hay programas que admiten esto, y esto implica hurgar un poco en la RAM.
Windows solo usa HIMEM.SYS 2.77 en el lado de DOS, y VMM.vxd se ocupa de la memoria en las ventanas lado. En efecto, Windows toma toda la memoria de DOS y VMM es responsable de asignar los bits XMS a Windows. Este es el mismo número de versión informado en Windows 9x, NT y OS / 2.
Al leer la documentación sobre compatibilidad con EMM proporcionada por empresas como EMSMAGIC y VEMM.SYS, estos programas existen porque EMM no se llevó a cabo , pero conservado para compatibilidad con versiones anteriores. EMSMAGIC incluso va tan lejos como para extender el soporte XMS en Windows más allá de 2,77, para permitir la ejecución de los programas de DOS que lo necesitan.
HERRAMIENTAS ADICIONALES
No soy tanto un programador, sino un «usuario avanzado» y un coleccionista de SO. Como parte de la diversión, es posible ver que hay en la caja de venta al público, no solo DOS, sino una gama de controladores y utilidades (con licencia de terceros), como un paquete. La misma actualización minorista de DOS, por ejemplo, está empaquetada como «DOS y herramientas adicionales».
El precio que se paga por copia OEM depende de cuántas «herramientas adicionales» se incluyan. IBM negoció un trato con uno de sus OEM para suministrar DOS sin QBASIC / EDIT a un precio reducido. Sobre la misma base, IBM no compró las herramientas adicionales de Microsoft.
Debido a que los controladores y las herramientas adicionales sirven como archivos de marcadores, brinda un poco de información sobre lo que hay en la distribución. Por ejemplo, el Los archivos MSD 2.0x se lanzaron cuando IBM tuvo acceso al código. 2.00 está en Windows, 2.01 está en DOS 6, tanto MS-DOS como la versión beta más antigua de PC-DOS 6.00. 2.1x no apareció hasta que IBM no tuvo acceso a el nuevo código, es decir, D 6.22 y W 3.11. Del mismo modo, vemos que PC-DOS 6.30 de 1993-12-31 tiene el controlador de mouse 9.01 minorista, pero una versión OEM un mes después vuelve a la versión 8.20 de IBM.
Otras versiones de estos controladores aparecen en diferentes paquetes comerciales, junto con el hardware en caja. Mouse 8.20 contiene algo así como una docena de archivos adicionales, incluidos paneles para controlar mouse.ini en DOS y Windows 3.1. Estos no están en las versiones del SO.
Comentarios
- En su primera oración, dice » allí no hay diferencias «, pero comienzas tu último párrafo diciendo » Las diferencias parecen ser correcciones de errores y optimización «. Entonces, ¿hay alguna diferencia?
- La versión principal implementa el estándar y las menores son correcciones de errores.
- Yo ‘ todavía No está claro cuál es su respuesta general. A medida que HIMEM.SYS pasó de la versión 2.78 a la 3.07 con Windows 3.1, ‘ sería un cambio de versión importante. ¿Puede dar ejemplos de lo que cambió con esta actualización?
- El primer dígito representa el estándar admitido. 3.xx admite más funciones que 2.xx. EmsMagic parchea la versión nt í para permitir una funcionalidad adicional. ?
- La mayoría de las versiones de DOS y Windows venían con la ‘ más reciente ‘ versión, varias veces actualizada. Windows 3.00 vino con 2.60, pero se actualizó a 2.77 en DOS y Windows 3.0. Este es el valor más alto de xms utilizado en el entorno de Windows, aunque algunos programas DOS utilizan funciones que se encuentran en la versión 3.xx. Algunas versiones simplemente corrigen errores o admiten nuevo hardware, sin ningún efecto notable. En el momento en que se lanzaron, solo instalamos lo último, por lo que no ‘ realmente nos dimos cuenta.