05 Introducción Msdos
05 Introducción Msdos
05 Introducción Msdos
DISCO DURO:
PROGRAMA INICIO MBR
PROGRAMA INICIO SECTOR ARRANQUE
DISQUETE:
1978 - Intel lanza el 8086, primer miembro de la serie de microprocesadores xx88, cuyas instrucciones
básicas todavía se conservan en los sistemas actuales.
1979 - Intel modifica el 8086, lanzando una versión reducida, el 8088 elegido por IBM como corazón
del primer PC.
1980 - IBM se pone en contacto con Digital Research pares que adapte su sistema operativo CP/M al
microprocesador 8088, pero las negociaciones no llegan a buen puerto.
- Microsoft compra y adapta a la serie xx88 una versión del CP/M de Digital Research,
ofreciéndoselo a IBM. Nace así el PC-DOS, aunque Microsoft se reservó los derechos de una
versión propia, el MS-DOS.
1981 - El 12 de agosto IBM presenta su primer ordenador personal creando el concepto que hoy
conocemos de PC.
1982 - Columbia Data Products comercializa el primer ordenador compatible.
- Se funda Compaq Deskpro Corporation, primera empresa dedicada a fabricar PC compatibles
que, con el paso del tiempo, desbancaría a IBM del liderazgo mundial.
1983 - IBM introduce la tecnología PC/XT (Extended Technology), que incluye disco duro y
disquetera de serie.
1984 - Apple revoluciona el modo de trabajo con computadoras como el Macintosh, con un intuitivo
entorno gráfico de fácil manejo.
- IBM presenta el PC/AT (Advance Technology), primer equipo con un 80286 y bus de 16 bits
integrado.
1985 - Microsoft comercializa Windows 1,0, sistema gráfico inspirado en los equipos de Apple.
1986 - Compaq adelanta en ventas a IBM y comercializa el primer PC compatible con el procesador
80386.
1990 - IBM y Microsoft se separan definitivamente. El Gigante Azul apuesta por su sistema operativo
OS/2 (que también ayudó a desarrollar Microsoft) y la compañía de Bill Gates se vuelca
definitivamente en Windows.
1991 - Se comercializa Windows 3.1, primera versión del producto de Microsoft con un éxito masivo
y un entorno gráfico de calidad capaz de competir con tos sistemas Macintosh.
1992 - Windows 3.11 para trabajo en grupo.
1995 - Windows 95.
1998 - Windows 98.
2000 - Windows ME.
El primer PC integraba un
microprocesador de Intel
8088 de 16 bits a 4,7 MHz,
16 KB de memoria RAM
(expandible a 256 KB),
disquetera de 51/4 de simple
cara y 8 sectores (160 KB),
pantalla de 11,5'' en blanco
y negro, teclado de 83
teclas y sistema operativo
DOS 1.0.
BIBLIOGRAFÍA
Libros
- EL ORDENADOR. ¿QUÉ ES, QUÉ HACE? Francisco Jarabo. Nicolás Elortegui. Centro de la Cultura Popular Canaria.
1992.
- ASÍ FUNCIONA SU ORDENADOR...POR DENTRO. Ron White. Timothy Edward Downs. Anaya Multimedia. 1993
- VIRUS INFORMÁTICOS. Alfonso Mur. Pablo Nieto. Jesús Molina. Guía Práctica Anaya Multimedia. 1990.
- VIRUS INFORMÁTICOS. Guillermo González. Editorial Ra-ma. 1989.
- SOFTWARE Y HARDWARE DE SU PC. José A. Carballar. Editorial Ra-ma. 1994.
- MS-DOS 6. MANUAL DEL USUARIO. Jaime de Iraolagoitia. Editorial Paraninfo 1994.
- SECCIÓN DE LIBROS DE INFORMÁTICA DE EL CORTE INGLES.
Revistas
- PC WORLD. IDG Communications S.A.
- PC MAGAZINE. Editorial América Ibérica.
- PC ACTUAL. Business Publications España S.A.
- PC PLUS. Grupo Zeta.
- PC MANÍA. Hobby Press S.A.
Internet
- Artículos diversos.
Información
El proceso de arranque de Windows 9X se lleva a cabo en una serie de pasos que se pueden dividir en:
3. Io.sys.
5. Win.com.
1. BIOS Bootstrap
El firmware incluido en la ROM de la BIOS es lanzado desde la dirección FFFF0h. El "bootstrap" realiza un proceso conocido
como POST (Power On Self Test), y que puede variar de una máquina a otra en función del fabricante. Tras este proceso se
verifica la presencia de algún disquete en la unidad de disco A:, para posteriormente confirmar la presencia o ausencia de algún
disco duro. Si se encuentra alguno, se transfiere el control al cargador del sistema operativo. En este punto, el Master Boot
Record y la tabla de particiones son leídos y procesados.
Por otro lado, Microsoft ha trabajado con diversos OEMs (Original Equipment Manufacturers) sobre una nueva especificación
de BIOS Plug and Play (PnP). Esta especificación define la interacción entre la BIOS PnP, los dispositivos PnP y ROMS de
opciones. La responsabilidad de este tipo de BIOS es por tanto enumerar y habilitar los diferentes dispositivos PnP para su
posterior utilización por parte del sistema operativo. Una BIOS PnP realiza las siguientes operaciones:
a. Chequea las RAMs no volátiles en busca de los puertos I/O, IRQ's, canales DMA y otras configuraciones de los diferentes
dispositivos presentes en el sistema.
Esta información será posteriormente aprovechada por el Administrador de Configuración de Windows 9X, que hará una
petición a cada dispositivo para averiguar su configuración.
Las máquinas sin BIOS PnP no realizan este proceso, y los dispositivos se inician con su configuración por defecto.
Posteriormente pueden ser reconfigurados dinámicamente una vez se lance Windows 9X.
El MBR (primer sector del disco o primeros 512 bytes) determina la localización física de la partición "botable" de la máquina
(partición primaria activa en el caso de Windows 9X), leyendo la Tabla de Particiones que está localizada al final de dicho
sector.
El MBR pasa entonces el control al sector de arranque de dicha partición (sector 0 o primeros 512 bytes) que contiene un
programa de arranque y una tabla con la descripción física del disco. Éste chequea el "BIOS Parameter Block" en busca de la
localización del directorio raíz y copia el fichero Io.sys localizado en él a la memoria.
2001-2002 6
3. Io.sys.
Después de que el Io.sys se carga en memoria, se llevan a cabo los siguientes pasos:
c. Se muestra el mensaje "Iniciando Windows 9X" e Io.sys espera alguna de las teclas de función. Solo a partir de este
momento podemos considerar a Windows 9X como responsable del control de la máquina y el usuario puede actuar sobre él.
d. Si existe, el logo.sys es cargado. En caso contrario, se muestra una imagen "built in". La tecla ESCAPE puede inhabilitar
esta imagen, y el usuario puede ver cómo se procesarán posteriormente los ficheros Config.sys y Autoexec.bat.
f. Io.sys procesa un chequeo de la integridad lógica de los ficheros de registro (system.dat y user.dat).
g. Io.sys abre el fichero de registro system.dat. En caso de no encontrarse, se procesa el system.da0 en su lugar. Si el arranque
de la máquina se lleva a cabo con éxito, el system.da0 será copiado a system.dat.
HKLM\System\CurrentControlSet\Control\\Winboot\DoubleBuffer
está habilitada, o la línea DoubleBuffer=1 se encuentra en la sección [Options] del fichero msdos.sys, se cargará el controlador
dblbuff.sys.
i. Se elige un perfil de Hardware de los listados en el registro. En caso de no poder detectar automáticamente cual de ellos
utilizar en función del hardware presente, se solicita la elección del usuario.
Vemos, por tanto, que IO.SYS es en realidad una mezcla de los ficheros io.sys, msdos.sys config.sys y autoexec.bat de las
versiones de DOS. Este nuevo IO.SYS contiene todas las órdenes necesarias que requiere el sistema operativo para interactuar
con el hardware. Los comandos que incluye son los siguientes:
DOS=HIGH
DEVICE=HIMEM.SYS
DEVICE=IFSHLP.SYS
DEVICE=SETVER.EXE
FILES=60*
LASTDRIVE=Z*
BUFFERS=30*
STACKS=9,256*
SHELL=COMMAND.COM /P
FCBS=4*
TMP=C:\WINDOWS\TEMP
TEMP=C:\WINDOWS\TEMP
PROMPT=$P$G
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
COMSPEC=C:\WINDOWS\COMMAND\COMMAND.COM
2001-2002 7
4. Configuración en Modo Real.
Este fase de configuración en modo real se incluye por razones de compatibilidad. Las aplicaciones y utilidades que requieran
drivers especiales, programas residentes, variables de entorno especiales, etc., cargan esta información de los ficheros
Config.sys y Autoexec.bat. Sin embargo, es importante indicar, que no es necesaria su presencia para el correcto
funcionamiento de Microsoft Windows 9X. Tratemos cada uno de ellos por separado:
a. Config.sys
Como ya se ha dicho anteriormente, io.sys ya ha procesado una serie de comandos equivalentes. Esto lo ha hecho leyendo la
entrada WinBootDir de la sección [Paths] del fichero msdos.sys para localizar los controladores correspondientes.
Podemos, sin embargo, volver a procesar líneas similares en config.sys para sobreescribir los valores mencionados, si éstos son
más altos. Una muy buena descripción de los comandos que podemos utilizar en config.sys se encuentra en el fichero
config.txt localizado en el directorio donde se haya instalado Microsoft Windows 9X, generalmente c:\windows).
Después de que se procese el Config.sys, Microsoft Windows 9X solicita todos los Bloques Altos de Memoria para su uso por
parte del sistema operativo, o para soporte de memoria expandida (EMS). Por otro lado, cuando se incluyen parámetros para
EMM386.exe en el config.sys, éstos toman preferencia frente a los del registro.
b. Autoexec.bat
Los comandos y programas aquí incluidos son utilizados para la configuración de aplicaciones que requieran de, por ejemplo,
variables de entorno (TEMP, TMP, PATH,...) o programas residentes, del teclado en las ventanas de MS-DOS (comandos
mode, keyb, doskey, ...), etc.
5. Win.com
Win.com es automáticamente cargado y ejecutado después del procesamiento de Autoexec.bat, por lo que no es necesaria su
inclusión en este último. En este momento, todavía en modo real, se carga en memoria RAM VMM32.VXD. En caso de no
haber memoria suficiente, el fichero es leído desde disco relentizando el proceso de arranque. Este fichero es similar al
win386.exe de las versiones anteriores de Windows.
Contiene al resto del DOS, el directorio de ficheros VxD internos, y algunos de éstos comprimidos, incluyendo el
Administrador de Máquina Virtual (VMM), el cual actúa como cargador en modo real. Éste también chequea la presencia
duplicada de drivers de dispositivos leyendo en la carpeta c:\Windows\VMM32 y en el interior de VMM32.VXD. Si un Vxd
existe en ambos sitios, el incluido en el VMM32.VXD se marca como duplicado y no se carga. Esto permite actualizar estos
ficheros manualmente, en caso de ser necesario, sin tener que reconstruir el fichero VMM32.VXD.
Los drivers VxD en modo real se pueden cargar en memoria de la siguiente manera:
- Drivers en modo real o programas residentes que responden a una petición (INT2F) de Microsoft Windows 9X.
- Drivers internos en VMM32.VXD que no hayan sido marcados como duplicados se cargan desde la siguiente rama del
registro:
HKLM\System\CurrenControlSet\Services\VXD
En caso de encontrarse un driver marcado, se cambia su entrada en el registro de el nombre del VXD precedido por un
asterisco (*) a un fichero con extensión VXD. Así, éste se localiza en el directorio c:\windows\vmm32.vxd, y después es
cargado en memoria.
- Los VxD's que no se hayan cargado desde el VMM32.VXD son cargados desde la sección [386Enh] del fichero system.ini.
- Algunos VXD's son necesarios para que Microsoft Windows 9X funcione adecuadamente y son cargados automáticamente
sin necesitar de una entrada en el registro. Son los siguientes:
2001-2002 8
*VKD *VMCPD *VPICD
*VTD *VTDAPI *VWIN32
*VXDLDR
Tras esto, el VMM comprueba que todos los drivers necesarios se hayan cargado correctamente. En caso de no ser así, vuelve
a intentarlo. Los drivers se inicializarán. Si hay alguno de ellos que requiere una inicialización en modo real, se inicia el
proceso en dicho modo.
Posteriormente, VMM32 cambia el modo del procesador de modo real a modo protegido. Tras ello, se lleva a cabo un proceso
en tres fases para inicializar los VXD:
a. SYS_CRITICAL_INIT (SYSCRITINIT)
Todas las interrupciones se inhabilitan. Esto da tiempo a los drivers para preparar la inicialización de los dispositivos sin ser
interrumpidos por el sistema. No se permiten operaciones de lectura escritura en disco durante esta fase. Las operaciones
realizadas no se escriben en bootlog.txt hasta que no se termina esta fase.
b. SYS_DEVICE_INIT (DEVICEINIT)
El grueso de la inicialización de drivers. Este proceso es registrado, ya que en esta fase si se permiten las operaciones de
lectura-escritura. La única excepción es la inicialización de IFSMGR, el controlador del sistema de ficheros, que tiene que
cambiar de modo real a modo protegido, razón por la cual su proceso no es registrado. Cuando un driver de dispositivo es
llamado, carga los demás drivers que puedan depender de él (por ejemplo, drivers de puertos como los ficheros .mpd). Luego,
el propio dispositivo es inicializado. Un fallo en este proceso suele ser debido a una mala configuración del Hardware. El resto
de los drivers estáticos continúan su fase de inicialización.
También los drivers dinámicos pueden empezar a hacerlo en este punto, aunque ellos no tienen una fase DEVICEINIT
propiamente dicha. Sin embargo, un driver dinámico puede cargarse en cualquier momento posterior en que Microsoft
Windows 9X ya haya arrancado.
c. SYS_INIT_COMPLETE (INITCOMPLETE)
Los VXD's que pasen esta fase deberían funcionar correctamente. En caso de no pasarla, serán descargados de la memoria.
Tras estas tres fases, todos los drivers de los dispositivos estarán controlándolos apropiadamente. En este punto, Krnl32.dll,
Gdi.exe User.exe y Explorer.exe (la shell por defecto de Windows 9X) son cargados.
La siguiente fase del proceso de arranque es cargar los componentes de red. Tras ello, aparecerá la ventana de inicio de sesión.
En función del usuario, y dado que Microsoft Windows 9X permite mantener la configuración individual de Escritorio y Menú
de Inicio de cada uno de ellos, se leen las ramas del registro que almacenan esta información. En caso de ser la primera vez que
el usuario inicia sesión, se carga la configuración por defecto.
Por último, los programas de la carpeta Inicio ,los almacenados en las ramas de tipo Run del registro y los apuntados en las
entradas load= y run= de la sección [windows] del fichero win.ini son ejecutados. Durante esta fase y tras ella, el usuario puede
operar con la máquina y el Sistema Operativo Microsoft Windows 9X.
2001-2002 9