You are on page 1of 127

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........

José manuel Tella Llop

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA..... Bueno.... esto puede ser un tema inmenso y voy a intentar escribirlo. Con esto quiero decir que esto promete ser una "saga" que iré escribiendo poco a poco y que intentaré que no se haga "pesada" y por tanto intentaré no entrar en detalles técnicos. Por ello, ruego a los "técnicos" que me concedan la licencia de intentar expresarlo de la manera mas sencilla, y con ejemplos que no "son" del todo verdad técnicamente, pero que se aproximan a lo que queremos explicar. INTRODUCCION Antes de ponernos en tarea, meditemos un poco sobre nuestros hijos, por ejemplo (quien los tenga). Nuestro hijo, no será quizá el mejor, el mas guapo, el mas listo y el mas atlético de su clase. Pero s nuestro hijo y lo conocemos perfectamente. Sabemos de que pié cojea y sabemos como podemos orientarlo... Bien, nuestro PC debe ser algo similar (salvando las distancias). No tiene porqué ser el mejor del mercado, pero es "nuestro" PC, y por tanto, debemos conocerlo, y sabremos como "manejarlo" antes situaciones extrañas. Debemos perderlo el miedo. Conocer todo sobre él. No hace falta ser un técnico (no hace falta ser un medico para saber sobre la salud de nuestro hijo), simplemente unos conocimientos superficiales y perderle el miedo.... PULSAMOS EL BOTON DE ENCENDIDO Y..... Acabamos de pulsar el botón de encendido. ¿y que pasa?.. bien, nada mas encender el ordenador, se empieza a ejecutar un programa que está grabado internamente en nuestro PC. La maquina lo que hace es ir a una determinada posición de la memoria, y lo que está allí se lo da directamente al procesador para que empiece a ejecutarlo. Por tanto, nuestra "memoria" del PC, no está tan vacía como parece.... algo debe contener. Este algo es un programa que reside en un chip de memoria llamado BIOS ROM y que al encender el PC, ocupa un posición FIJA de memoria en cualquier PC. Siempre la misma. BIOS Antes lo hemos descrito como un programa. Realmente es un programa y además es el único programa que conoce exactamente (o debe conocer) las tripas de nuestro PC. Debemos pensar que realmente en el mundo, hay bastantes fabricantes de placas madre. Y muy pocos fabricantes de BIOS. Los fabricantes de BIOS (Award, AMI, Phoenix, etc.) lo que tienen son unos modelos de bios semi-estandard (por ejemplo la versión 4.51 PG de Award) y lo que hacen, bajo pedido del fabricante de la placa madre, es adaptar "su" estándar de bios, a "esa" placa madre. Por tanto, fijémonos que la versión 4.51 PG de Award, se ejecuta en muchas maquinas totalmente diferentes, y resulta que la bios es totalmente diferente. Es especifica para "esa" placa madre (y de cara al exterior, lo que pasa es que cumple la funcionalidad de la 4.51 PG - que será una norma interna fijada por el fabricante de la bios -). Por eso, y por ser un programa, cuando hablamos de "actualizar" la bios, podemos efectivamente "sustituirlo" por una versión superior. Pero, para ello, debemos buscar la "versión" de la bios 4.51 PG de Award para "nuestra" placa madre. Y únicamente, podremos buscarlo en el web del fabricante de "nuestra" placa madre. Sí el fabricante es una marca "puntera" se preocupará de pedir

1

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop

a Award revisiones y mejoras de sus bios. Si es una marcar "cutre", pues probablemente la placa madre "muera" con la misma revisión de la bios que teníamos al adquirirla. Y ahora una pregunta ¿por qué se llama ROM? ROM quiere decir "Real Only Memory", es decir "Memoria de Solo Lectura", y si es de solo lectura ¿cómo podemos actualizar la bios?. Bueno,.... en un principio, las ROM eran de solo lectura. Actualmente el termino ROM es un poco mas amplio: se entiende por ROM aquella memoria que cuando se apaga de la corriente, no tiene perdida de datos, y por tanto es susceptible además de ser actualizable (memorias de tipo EPROM). Por tanto con un programa especifico podremos actualizarlo. Esto tiene un problema: sí existen programas capaces de actualizarla, ¿no podrán existir virus que sean capaces de borrarla?.... Pues por desgracia: si. Y tiene muy malas soluciones el tema. Pensemos que si nuestra bios está dañada, bien por un virus, o bien porque hemos intentado actualizarla y se ha ido la corriente en ese momento, o bien porque nos hemos equivocado y hemos bajado del web un archivo de actualización que no es para nuestro "exacto" modelo de placa madre... en ese caso, nuestro ordenador no volverá a la vida. Es más, ni se iluminará la pantalla, ni hará intento de arrancar de disco o desde disquete. Nada: muerto. Las BIOS son configurables. Es decir podemos entrar en una serie de pantallas al iniciar el ordenador para poner o quitar algunos parámetros que puede hacer que nuestra maquina responda mejor ante un determinado hardware, o determinado sistema operativo. En muchas de las BIOS, podemos entrar justo nada mas encender el ordenador, pulsando la tecla "DEL" (borrar) o la tecla "ESC". Otras bios pueden requerir otra combinación de teclas. CONFIGURACION DE LA BIOS Siempre es aconsejable, nada mas adquirir un ordenador, el entrar en la BIOS y apuntarnos TODO lo que tienen las pantallas de definición. En ciertas maquinas (y además, con ciertas impresoras), la tecla "Imprimir Pantalla" funciona. Pero no suele ser lo habitual, por lo que nos tendremos que armar de paciencia, bolígrafo y papel, y a escribir.... Esto puede que nos saque de algún apuro alguna vez. En principio, no se debe andar toqueteando en la bios, pero es conveniente intentar dejarla lo mas acorde con las necesidades de nuestro sistema operativo. Hay que recordar que el MSDOS y todas las versiones de Windows (excepto el NT), se apoyan "excesivamente" en la bios. Recordemos los parámetros que podemos tocar (sin apenas riesgo) y además que es conveniente tocarlos: Puerto paralelo: se debe intentar definir (pongo las opciones de "mejor" a "peor") ECP+EPP (con DMA 3) ECP (con DMA 3) EPP SPP

2

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop

Esto no quiere decir que sea lo mejor para nuestro sistema. Dependerá de que dispositivos tengamos en el puerto paralelo. Existen impresoras (pocas) que únicamente funcionan e modo EPP puro (no sirve ECP+EPP), y existen algunos scanner que también les sucede lo mismo. Es solo cuestión de probar cual se adapta mejor a nuestro sistema. Pero para ser un poco ordenados ¿por qué no probar por el orden que he dado antes? Pantalla PnP: Bien, esto puede ser un mundo. En principio, muchas BIOS preguntan como primera opción: PnP OS (Operating System) : YES | NO Pues aunque parezca mentira, mi consejo es poner NO. (al menos con win98 en Español. Con Win98 en Inglés da igual lo que pongamos, pero el Español, tiene un "bug" en este sentido. Bug que no aparece en "todas" las placas madre, pero sí en un numero alto de ellas, y sobre todo si tenemos dispositivos PnP ISA - mas adelante hablaremos de ello-) Y luego, en esta pantalla, casi todas las bios, nos permiten poner IRQ por IRQ, si en PnP, o PCI, o Legacy ISA o simplemente ISA. Estas opciones depeneden de cada bios. En principio no tocarlo, y posteriormente cuando veamos los "BUSES" y posibles conflictos de dispositivos, veremos para que pueden servir. Pantalla APM (o Power Management). Importantisimo: aquí tenemos que poner Power Management: "Enabled" y posteriormente todos los timer (contadores de tiempo) para los distintos modos (suspender -suspend-, dormir -sleep-, etc...), dejarlos a "cero" o "disabled". De esta manera, windows podrá establecer sus propios contadores y no entrará en posible conflicto con la bios. Igualmente, hay ciertas bios que en dicha pantalla pregunta por ACPI (enabled/disabled). ACPI es una característica de control "avanzado" del sistema. Mi consejo, si vuestra lo bios lo pregunta es que pongáis activo "siempre" el modo ACPI. Mas adelante hablaremos también de él, en la instalación del sistema operativo. ** Con esto, ya hemos realizado una tarea "importante". La tarea, fijaros que no es configurar la bios como he comentado antes. Sino ESCRIBIR como está la bios por defecto (al adquirir nuestro PC) y que se supone, que mejor o pero, nuestro sistema operativo, al menos funciona. Antes de ver que hace el programa de la bios hasta arrancar nuestro sistema operativo, debemos conocer un poco de hardware. Que nos suenen un poco los temas..... QUINCALLERIA (HARDWARE) Bueno, al menos, ya nos suenan tres cosas: CPU, memoria (por la "pasta" que tenemos que pagar por ella, aunque no está muy clara su función todavía) y BIOS. Pero ¿que mas hay en la placa madre? Vamos a enumerar un poco, como si realmente existiesen estos componentes por separado. Digo como si existiesen porque actualmente dichos componentes, la mayoría están "embebidos" en algún chip multifuncion de la placa madre. Pero existir: existen. Enumeremos un poco:
3

etc. y que por desgracia todavía seguimos sufriendo. aunque parezca mentira.. Hagamos un poco de historia. Hagamos historia. José manuel Tella Llop 1) BUSES : PCI. Su triunfo. Recordemos que no nos queda más remedio que ceñirnos a la historia. pero recordemos.. CPU La primera CPU con una arquitectura de 16 bits que triunfó en el mercado (que conste que no era la única arquitectura existente en sus años). El propio IBM definió las características básicas de las placas madre: el bus PC que rápidamente evolucionó al bus AT.. Su arquitectura es la misma y lo único que ha ido evolucionando han sido los "periféricos" o dispositivos. actualmente. Para ello encargó a Intel el diseño (mejor dicho.. Y luego otra serie de "cosas" de las que hemos oído hablar: puertos. paralelo 4) BUS USB Y ahora algunos "chips" importantes: 1) Controlador Programable de interrupciones (IRQ) 2) Chip de DMA... ISA..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . ** Empecemos un poco con el concepto de un: DISPOSITIVOS Vamos a definir los "dispositivos" como el resto del hardware independiente de la CPU y memoria con los que la CPU interactua. fue una decisión de un gigante del hardware: IBM.equivalente a un Z80) de un procesador de 16 bits. puertos serie y paralelo. IRQs... disquete. AGP 2) Controlador de disco duro 3) Puertos: serie. sobre un futuro sistema operativo para dicha arquitectura. El PC actual que conocemos. al igual que el del Windows actual. que por suerte o por desgracia han tenido que mantener su compatibilidad descendente y por tanto. su juego básico de instrucciones es el del antiguo 8086. Algunos de ellos.. Vemos a empezar por la CPU y memoria y luego veremos con detalle el resto de "periféricos". IBM hasta ese momento estaba dedicado a los grandes ordenadores (mainframes) y bajo el supuesto de que empezaba a surgir un mercado potencial (la microinformatica) decidió empezar a dedicarse a este mercado.. es básicamente el mismo que surgió en el año 82. Y otra evolución evidente han sido las CPU.. 4 .. fue el 8086 de Intel.. por poner un ejemplo). Y abrió publica subasta (por decirlo de alguna manera). Al año 82. se incorporan ya en la placa base (controladores de disco. y un montón de suerte de una persona que empezaba en aquel momento: Billy Gates. la mejora de un antiguo 8008 .

. como queramos llamarlo). al igual que la propia empresa. repasemos un poco dicha CPU.. Pero ¿compatible con que? pues compatible IBM.. empezaron a desarrollarse dos proyectos: el CPM 86 (o "concurrent" CPM) y un sistema basado en DOS. el equipo. en aquellos años existían unos sistemas operativos serios para los ordenadores de 8 bits que empezaban a surgir. que nos condiciona hasta el momento actual: 1. se va con su "patente" o su "parte de la patente" o sus derechos. Y surge la frase CPU compatible. Se definió un procesador: arquitectura X86 (el 8086) 3.. Digital "apostó" por el CCPM (o CMP 86.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . IBM tenia prisa por sacar el producto al mercado. "patitas" de DATOS 5 ..). Pero Digital era (y sigue siendo) una Empresa "curiosa" con sus ingenieros de Software. el PC-DOS 1.. ** Bien. El ingeniero de Digital encargado del proyecto DOS se fue (o bien "cabreado". Pensemos que el incipiente CCPM ya era capaz de soportar multitarea (hasta 4 tareas) en modo consola (no existía todavía interfaz gráfica) Por cierto. hizo una carrera contra-reloj para tener finalizado su primer MsDOS (versión 1. Estamos hablando del CPM cuya propiedad intelectual era de Digital. Como todas las CPUs tiene un montón de "patitas".. Con los años se ha perdido la palabra IBM... Se definió un Sistema Operativo (por llamarlo "algo".0) seis meses antes de que Digital finalizase su CCPM. Personalmente creo que no. todavía lo tengo y funciona!!!-. o la persona que lo ha desarrollado percibe "royaltis" por cada venta.. ¿con qué? pues con la arquitectura X86 de Intel. o Concurrent CPM. ¿Fue una decisión acertada?. y una vez implementado un producto de ingeniería. y abandonó el proyecto basado en el DOS. o bien por una oferta que le hizo nuestro avispado Gates). Y formó alianza con la incipiente Microsoft para empezar a implementar el MsDOS (PCDOS) en sus ordenadores. Se definió una arquitectura (bus PC que evolucionó inmediatamente hasta el bus AT. Fue una triple decisión de IBM. Y si esta persona se va de la Empresa.. una vez abierta la "subasta" (y la apuesta) por parte de IBM para el futuro sistema operativo de 16 bits. Y nuestro avispado Gates. José manuel Tella Llop Con respecto al software. En las fases finales del desarrollo. En la propia Digital. Decimos sistemas operativos "serios" porque realmente lo eran para su época. estás se agrupan lógicamente en las siguientes funcionalidades: a.0 Y de allí surge la todavía frase hecha: "ordenador COMPATIBLE".. El ingeniero de Software tiene la "patente" de lo que desarrolle dentro de la Empresa (esta característica la hace única en el mundo del software). Y este fue el caso. y sobre todo si el producto ha sido desechado por la propia empresa se lleva completamente "su" desarrollo y "su" propiedad intelectual. Este bus AT básicamente se sigue conservando en nuestros actuales PCs y condiciona un montón de cosas que iremos viendo en estos capítulos) 2.

.. José manuel Tella Llop b. Para escribir un dato en memoria. Agrupémoslos en grupos de 4 bits. con los periféricos. muchas.. recordemos que 16 bits. Es decir 64 Kbs de memoria. Y el bus de "control". es para comunicarse con el resto "del mundo". con la circuiteria externa. Cada grupo de 4 bits. de CONTROL Es decir. demasiadas "malas herencias").. El concepto de "segmentación.. solo se podían direccionar 2 elevado a la 16 direcciones. introdujo en esa CPU.. consiste en utilizar 2 registros generales para formar una dirección física. puede tener los valores: 0000 0 (posibles "cuartetos") 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 6 . Por tanto con 16 bits en principio. Bien. los buses que salen directamente de la CPU.. es necesario enviar el dato y "además" enviar su dirección. de DIRECCIONES c. Esto forma 4 grupos de 4 bits.. Intel. son de "datos" de "direcciones" y de "control"... Esta primera CPU. el concepto de "segmentación" (concepto por el que todavía seguimos pagando "muy caro".. son realmente 16 unos y ceros puestos a continuación.. Y además los registros generales (todas las CPUs tienen una serie de registros generales internos con los que saben hacer ciertas operaciones) eran de 16 bits. Un registro llamado "segmento" (o base) y un registro llamado "desplazamiento" (offset). etc.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . tenia únicamente 20 "patitas" de direcciones..

Esta es la representación hexadecimal (base 16).. es decir 65535 o lo que es lo mismo 64 Kbs. no es unica. puesto entonces en representación hexadecimal un registro. Es deir. otra direccion que "teoricamente" pertenece a "otro" segmento. se definió.. Pero como estamos limitados a 20 lineas de direcciones.. poniendo uno a continuzacion del otro y desplazando el codigo de segmento un "cuarteto" (o "nible") añadiendolo un cero.. José manuel Tella Llop 1110 E 1111 F En total 16 valores... Por tanto.. offset 2312) Segmento: A0120 Offset 2312 Direccion A2432 Cinco "cuartetos" es decir 20 bits. puede tener el contenido 01A5 o bien 23EF. es lo que ahora llamamos modo "real" del procesador y a ese mega. Por abreviar. Es decir desde el 0000 hasta el FFFF (en total desde el numero cero al numero 2 elevado a 16 (menos 1 del cero). Al igual. Recordemos que hay 4 grupos de 4 bits.. En España. por tanto se podian direccionar 10 elevado a 20 posiciones de memoria: todo un "mega". la palabra "ordenador" proviene de "ordinateur" (francés). podemos representar cada grupo de 4 bites. por ejemplo: (segmento A012.. Y la palabra "cuarteto" como la mitad de un "octeto" (byte).. la misma solucion. Imposible pensar en un mega en aquel entonces !!!! Curiosamente hay que fijarse que la manera de construir esto 20 bites. etc.. se "alcanzan" posiciones de memoria iguales... es lo que llamamos memoria "real" del procesador.. 7 . con el numero o la letra que he puesto a continuación. malo de cara a programacion ¿no?) A este modo de funcionamiento.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. Por tanto puedo "machacar" desde una direccion de segmento... ** Continuemos un poco más. utilizamos la palabra "octeto" en lugar de byte por una mala traducción del francés que fue quien implementó esta palabra. que la manera de "sumar" esos dos registros fuese. nos podría haber dado por ejemplo: Segmento A0000 Offset 2432 Direccion A2432 (esto ya nos puede empezar a dar los problemas de que con dos direcciones de segmento diferentes.. tal y como comentabamos antes.. es decir.

tal y como sucede en otras arquitecturas.. que era capaz de realizar operaciones en coma flotante y de paso incorporar una pequeña pero importantisima cantidad de memoria dentro del procesador: la memoria caché de primer nivel. realmente pocos programas (fundamentalmente los juegos). se incorporó el juego de instrucciones MMX. R1. DS. podian haberse numerado por ejemplo R0. y Pentium unicamente trajo consigo la posibilidad de incorporar un chip matematico. BX. Por tanto con una direccion de 32 bits.. SI. y el modo protegido ya es capaz de ver toda la memoria. Poco despues de nacer el 8086. que en ciertas operaciones aritmeticas. su CPU.. su funcionamiento es "exactamente" igual al funcionamiento del 8086 primitivo. IP... ES. facilitaban la programacion y la "rapidez" a los programas que eran capaces de utilizarlas. ya que fué una transición al 80386. El modo "protegido". DI. Pero *EXACTAMENTE* igual. La evolucion posterior al 80486. fuese obligatorio realizarlos unicamente con ciertos registros y no con todos. (excepto los de segmento que siguen en 16). Por compatibilidad hacia abajo. José manuel Tella Llop Y ademas por definicion.. SP. CX. cualquier "compatible" (y los actuales lo són). que basicamente es un pentium optimizado para ejecutar codigo "puro" de 32 bits. al encender un ordenador actual (PIII por ejemplo). El famoso 386 con el cual se conserva actualmente compatibilidad absoluta (excepto una y solo una nueva instruccion en el Pentium).. Duró muy poco. Sepamos simplemente que por compatibilidad hacia abajo. la parte inferior de los 32 bits (los 16 bits inferiores) de cada registro. Es decir.. corresponden a los antiguos registros del 8086. Los nombres. Los registros generales. el modo real sigue limitado al famoso "mega" inicial.. surgió ya el 80286 capaz de direccionar 16 megas de memoria. Las CPUs actuales. SS. Son unas "macro" instrucciones especiales que son muy repetitivas en todo el tratamiento de graficos y video. Posteriormente en el Pentium. Pero Intel decidió ponerles "nombre" y ademas. Y estos son los unicos registros con los que se puede operar. que basicamente es un Pentium Pro mejorado para codigo de 16 bits y que ademas se le incorpora de base la tecnologia MMX. los intercambia entre sí. El Pentium. 8 . que es el modo "Virtual 8086". DX. Para solventar esto.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . ademas del modo "real" y otro modo hibrido entre ellos. CS. tampoco funcionaria dicho sistema en una CPU anterior. R2. no han sido más que una evolucion de esta primitiva.. ya que si no. y que al implementarlas precisamente como "instruccion" hardware.. pasan a ser de 32 bits.. el 387. pero que se queda ridiculo cuando se le mete codigo de 16. una sola: el "cpmexchg" es decir: compara dos registros y en funcion de la comparación. solo se distingue de sus predecesores en que tiene una instruccion "más".. Posterirmente surgió. nació el PII. arranca siempre en modo REAL. "tampoco" la utilizan los sistemas operativos. tenía (tiene) un nuevo modo de funcionamiento. Por compatibilidad. Igualmente recordemos que los registros generales de la CPU. El 386. las utilizan. No nos llevemos a engaño: ningun sistema operativo las utiliza y ademas pocos.. el Pentium Pro. podemos direccionar 4 gigas de memoria (2 elevado a la 32). fueron tambien tan "raritos" como AX. Por tanto la arquitectura actual se la llama tambien arquitectura 386.

. por "piratear" su predictor de saltos en la arquitectura "Alpha". una instruccion maquina. la unica condicion es que acierte lo mas posible. se está utilizando tecnica de "pipeline" (como las fotocopiadoras). Personalmente opino que nó.... y por tanto se vaya encargando de invalidar la caché y cargarlo con lo que ha "predicho"?. es decir aunque este procesando una instruccion. Esto es lo que realmente "acelera" una CPU (aparte de la tecnologia "pipeline").. y ademas. la CPU se nos viene abajo. tenía 25 millones de ciclos de reloj por segundo). Solucion: ¿y que tal. Por tanto. Tengamos presente que un procesador a 25 MHz (de los 386 primitivos).en total hasta 5 simultaneamente. y poco más.. Si no. se ha incrementado su memoria caché de primer nivel.". en el pentium. Pues genial. en "ese" ciclo de reloj. Bueno.. (en una fotocopiadora. pueden llegar ya a 500 millones de cilos de reloj por segundo).. curioso. realiza una operacion del tipo: "Sí esta fecha es mayor que 80. Segun han ido evoluvionando. este condicional. Ademas. Variantes: 9 . Esto es la tecnica de "pipeline"). Es donde se guardan los datos. es importantisimo. No existe ningun indice de velocidad que sea capaz de medirnos esto. José manuel Tella Llop Y por ultimo estamos en el PIII.. En las primeras CPUs.. para acelerar las CPUs. lo que hay en la caché de primer nivel. está preparando otra . MEMORIA Poco podemos contar de ella.. ejecuta la rutina tal y tal. tambien ¿no?) Y otra cosa: fijaros que este predictor de saltos. Cada vez que se ejecuta un salto. La unica diferencia es que se amplia el juego de instrucciones MMX a las llamadas MMX avanzadas. Bien. tiene suficientemente desarrollada este tipo de tecnologia?. La evolucion de ella. el papel de la siguiente fotocopia. representaba 3 ciclos de reloj. si tenemos un circuito inteligente dentro de la CPU que sea capaz de "predecir" un salto. es un "salto" en las direcciones de memoria de programa.. ** Internamente existen muchas diferencias para "acelerar" la CPU. pues ahora. ha sido unicamente respecto a la velocidad. es decir.. mientras se está haciendo una fotocopia. en los Pentium.3 (suma 3 al registro general AX). Pensemos que cada vez que un programa efectua un "salto".. Es necesario vaciarla y cargarla con el nuevo codigo de programa que empieza en donde apunta dicho "salto". es necesario "invalidar" la caché y cargar desde la direccion que apunta el "salto" otra vez en la caché. Esto es una operacion "costosa". ya está entrando en la maquina para acelerar el proceso. no sirve para nada.. (Aprentemente le juicio no va a realizarse ya que Intel "ha comprado" toda la fabrica de desarrollo de los chips Alpha y su tecnologia hace unos meses. y ademas se ha creado un "predictor de saltos" optimizado. y esto. Intel tiene un juicio pendiente con la tecnologia ALPHA de Digital. precisamente es lo que sucede en un programa real.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . esta instruccion utiliza un solo ciclo de reloj (y encima los pentium. por ejemplo ADD AX. Y la pregunta del millón: ¿la competencia de Intel.

. puede ser por ejemplo. llegado a este punto. Veamos las tres "unicas" maneras que tiene la CPU de "enterarse" o "recibir/enviar" datos a un dispositivo. que siguen "exatamente" igual a como se definieron al principio.. nos va a responder en un puerto. Un puerto. es decir existe un maximo de 65535 puertos en un PC.. en sí... como puede comunicarse la CPU con el resto de dispositivos.... etc. y su velocidad. Pero ahora ¿como nos enteramos que el dispositivo ya tiene un dato preparado para que lo leamos? Bueno. Del hardware. Pues 10 . o bien le estamos "escribiendo" datos. Recordad que la CPU.. ** Podemos mediante la instruccion IN poner datos en un puerto. pues dos posiblidades: 1) A lo "bruto". Veamos primero. Esto depende del dispositivo. pero informaticamente.. PLACA MADRE (NORMA DE COMPATIBILIDAD IBM) Bien. mediante la instruccion OUT. José manuel Tella Llop EDO. pero que actualmente son ridiculos comparados con el resto de funcionamiento de una placa madre.. entonces que hay que "huir" de los dispositivos que utilicen DMA. vamos a introducir que realmente la CPU.. en vez de ordenes. Antes de eso. al cual sabemos que por "hardware" tiene un determinado (o determinados) puertos. Igualmente recordad que la DMA y la UDMA no tienen *nada* que ver. Son: El controlador de Interrupciones El controlador de DMA Recordemos. La secuencia de datos que estamos poniendo para un determinado hardware. y segun el manual del fabricante... Empezamos enviamos una peticion a un dispositivo (mediante la instruccion IN). Ya lo iremos viendo más adelante). Bueno.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . ya ahora ¿como podemos direccionar un dispositivos. podemos "leer" un dato que un dispositivo nos haya dejado en un puerto. Igualmente. se direcciona con 2 bytes. simplemente por su lentitud -y bloqueos de la CPU-. Tan exactamente igual. etc. excepto la compatibilidad con nuestra placa madre. Perfecto!. y debido a las con-notaciones que tiene actualmente.... ahora ese dispositivo. que hasta la frecuencia de funcionamiento del chip de DMA sigue siento de unos ridiculos 4 MHz. es necesario introducir un par de chips basicos que se definieron en las placas madre primigenias.. Y que un "puerto" no es nada mas que una direccion de destino que tiene algun chip o dispositivo de la placa madre. tiene una serie de lineas de "control". que quizá fuesen rapidos en su momento. es decir del "manual" del fabricante de hardware (del manual "tecnico").. (Recordad. poco mas puede interesarnos. Estas son las importantes para la mayoria de los dispositivos. DIMM. una "peticion" de que ese hardware haga algo.. solo tiene dos instrucciones llamadas IN y OUT para poner un byte (o maximo. 2 bytes) en un "puerto".

. José manuel Tella Llop bien. con CPUs a 4..... pueden ser interrupciones hardware. leer una vez del correspondiente puerto.77 MHz. las veremos tambien mas adelante... este tipo de acceso simplificaba la programacion y ademas era mas rapida que las tecnicas IN. Estas interrupciones. mientras está haciendo la transferencia "interrumpe" a nuestro flamante PIII. o hemos programado mal la peticion que realizamos con el IN. y nos dedicamos a hacer otras cosas.. habiamos visto que existia el: 11 . Ya veremos cual... OUT (tecnicas PIO). Una mejora de esta solucion. La CPU nunca tendrá ese dato y ademas la secuencia programada no se puede interrumpir. Sufre un "parón". hemos mejorado.. Hala!. cuando el chip va a pasar los datos a la memoria. empezamos a leer (mediante OUT). simplemente que nos avise enviando una "interrupcion" (IRQ). Bueno... OUT->no hay dato?->OUT->no hay dato?->OUT. malo. * Este es el metodo IRQ. interrumpe obligatoriamente lo que esté haciendo la CPU y la obliga a tomar alguna accion. si por desgracia falla el dispositivo.. porque este chip admite programacion a nivel de decirle cuantos queremos)... Se llama así porque una interrupcion. pues. Bueno. Esta tecnica aparentemente genial tiene un incoveniente (mejor dicho dos). malo. y que somos capaces de decirle que una vez que tenga LOS datos (digo "LOS". Y ese "tic" de reloj interno lo podemos programar (exite tambien un circuito de "timer" para estas cosas). para asegurarse que nadie los toca. nos hemos metido en un "bucle" infinito. sin hacer nada más hasta encontrar el dato que nos dice el manual.. Pero por desgracia y para conservar la compatibilidad la velocidad de la DMA sigue siendo la velocidad primitiva (4 MHZ). a lo loco!... esto no era tan importante en la primera arquitectura del PC.. o bien interrupciones software.. Bien retomando un poco el inicio de este capitulo. y una DMA rapida (4 MHZ). Y mientras está "desconectada" la CPU no hace nada. ** Y existe un tercer metodo para llevar ciertos tipos de datos desde un dispositivo hardware.. Alguien inventó las IRQ (Interrupt Request). Cuando el dispositivo tenga el dato. (en este caso por ejemplo... Se puede hacer que se mire cada "tic" de reloj.. pero reconozcamos que estamos perdiendo mucho tiempo en "ver" si el hardware nos responde. que durante ese tiempo habría podido hacer cientos de miles de operaciones en multitarea. Esta es la transferencia DMA. la DMA solo sabe hacer transferencias de 8 y 16 bits simultanemanete (cuando la memoria actual se direcciona en un bus de 32). Primero. sería mira unicamente cada cierto tiempo. Y ademas.. Esta es la tecnica DMA.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. 2) Es decir nos metemos en un bucle. 4) Imaginemos que tenemos un "chip" inteligente. porque tenemos la seguridad que ahora sí que hay dato). de ese puerto hasta que exista un dato. por desgracia. y ademas por el mismo motivo. Este es el modo PIO (Program Input Output) 3) Un poco más sofisticado... lo que hace es "desconectar" a la CPU del bus. Es más logico: le pedimos algo al dispositivo. nos los pase a una direccion de memoria prefijada sin necesidad de que la CPU trabaje para nada.... Pero. o desde la memoria..

..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . De base. lo que hace es que cuando recibe una interrupcion. IRQ 8 Reloj en tiepo real (CMOS de la BIOS) IRQ 9 LIBRE IRQ 10 LIBRE IRQ 11 LIBRE IRQ 12 LIBRE IRQ 13 Coprocesador matematico 12 . Ojo!!. en cuanto pueda. el "driver" es emitir una instruccion STI. Igualmente recordad.. Fijaros. para irselas dando a la CPU de una en una.. ha prohibido las interrupciones. están utilizadas: IRQ 0 Reloj del Sistema IRQ 1 Teclado IRQ 2 Controlador Programable de Interrupciones IRQ 3 Puerto de Comunicaciones Serie 2 IRQ 4 Puerto de Comunicaciones Serie 1 IRQ 5 LIBRE IRQ 6 Controlador de Disquetes IRQ 7 Puerto paralelo.. puede ordenararlas por las prioridades que le haya programado el sistema operativo. lo primero es enviar una señal a todo el hardware "prohibiendo" que se emitan mas interrupciones. lo "peligroso" que puede ser un driver mal programado... José manuel Tella Llop ** Controlador programable de interrupciones. ¿y que hace este "bicho"?. por lo que en principio NO pueden compartirse. lo primero que tiene que hacer.. que como este controlador..pues facil. pues mal distribuidas. Se le llama "programable" ya que tiene la posibilidad de que si recibe "simultaneamente" mas de una interrupcion. he dicho en "principio"). una vez que se ha notificado a la CPU de esta intrrupcion y la CPU ha llamado a la rutina de servicio (driver) que controla esta interrupcion. es decir informar a todo el sistema que ya está permitido de nuevo enviar interrupciones. pues tambien arrastramos aquí una desgraciada herencia. Solo se definieron 16 IRQs (y ademas. sin tener NADA en el PC.. y posteriormente se la comunica a la CPU mediante una linea de control especial (y unica!!). IRQs (INTERRUPT REQUEST) Bueno. Y ademas de "pocas". no vectorizadas. simplemente porque al programador de turno se le olvida de vez en cuando el emitir una instruccion STI.

esta necesita otra interrupcion. para poder compartir al menos. Allí veremos como a pesar de las restricciones que aparecen por las pocas IRQs libres. si ademas tenemos bios ACPI.. José manuel Tella Llop IRQ 14 Primer controlador IDE de disco duro IRQ 15 Segundo controlador IDE de disco duro Fiejmonos que en principio. en cada ciclo de reloj.. Mala pinta tiene el asunto como para poder poner nuevas tarjetas ¿no? Vamos a introducir un poco los "buses" del sistema para dialogar con dispositivos. y la tarjeta de red... un rango de puertos. es capaz de soportar un maxion de 16 megas de transferencia por segundo PARA todos los dispositivos.. En un principio era de 8 bits y rapidamente evolucionó a 16 bits." BUSES Se conoce por BUS el conjunto de cables por los que circulan los datos de un dispositivo a otro o de un dispositivo a la memoria y/o CPU.. Quedan 4. Con esto ya podremos empezar a preguntarnos otra vez el tema del titulo de estos articulos: "Desde que pulsamos el boton de arranque hasta... otra. Esto indica que cada vez. A continuacion. en cada tipo de BUS. si tenemos raton en puerto de ratón. Con esto de los "buses" debemos remitirnos otra vez a la "historia" de la evoluvion de las primeras placas madre y su enlace con las actuales BIOS y el sistema en general. Pero. podemos llegar a un ten con ten con el hardware y el sistema operativo.... 13 ... etc. ¿cuantos ciclos de reloj tiene el bus ISA?.. COMUNICACION DE UNA TARJETA CON LA CPU Solo a modo de recordaorio. Tenía esta frecuencia y la "sigue" teniendo (por el consabido motivo de compatibilidad descendente –las herencias pesan-). alguna interrupcion entre varios dispositivos.33 MHz es decir 8 millones de ciclos de reloj.. veremos como se asignas o no estos..etc.etc. pues 8. Y ahora la pregunta del millon: ¿como se comunica con la CPU?.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . BUS ISA Empecemos otra vez por las "herencias".. Y. una(s) posible(s) interrupciones y una(s) posibles DMA(s). Ridiculo en la situacion actual. Es decir el bus ISA con tarjetas de 16 bites. El primer bus que se implementó en la arquitectura PC fué el bus ISA. este utilizará la IRQ 12. recordemos que cualquier tarjeta. o puede tener para comunicarse con la CPU. solo quedan 5 libres.. tiene.. este necesita otra interrupcion... era capaz de poner un byte o 2 bytes en el bus. Si nuestra placa tiene bus USB.

Lo que normalmente se utiliza en el modo MSDOS puro). puede ser que tengo o no tenga su "propia" BIOS.. y normalmente de 32 Kbs. Libre F000 Desde aquí al final para la BIOS del PC.. José manuel Tella Llop Bien. Un tarjeta. irqs y DMs que pueda pillar (evidentemente de la lista de "libres" que diamos con anterioridad... Haciendo un mapa de la memora (referida a segmento y sabiendo que cada uno de estos ocupa 64 Kbs).. IBM.. ** En la arquitectura del primer PC. dos zonas B000 a B7FF y B800 a BFFF .. no está escrito. definió que la memoria principal del PC.. pero es una norma no escrita que practicamente siguen todos los fabricantes de tarjetas de video. no?. 9000 A000 Hasta aquí los 640 Kbs primeros de memoriaB000 Desde A000 hasta aquí el area para el video "grafico" C000 Hasta aqui.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . No es obligatorio.. Igualmente IBM definió las areas con los segmentos desde A000 a C000 como reservadas para los buferes de video. podia llegar hasta la direccion hexadecimal A000:0000 (es decir. recordando un poco.. (nota la zona B000 a B7FF es para la memoria grafica en modo monocromo y modo texto.. existían y siguen existiendo dos posibilidades principales.. tenemos: 0000 1000 2000 .. pero vamos a empezar a hablar de ello en esta parte. La B800 a la BFFF es para la memoria grafica en como color y mod texto. era realmente increible. porque en el año 82. hasta el segmento A000. y normalmente ocupa las direcciones desde C000 a C7FF.. ademas de los consabidos puertos.. etc. PCI. Dfininió ifualmente el segento F000 hasta el final del mega para contener la informacion de la BIOS de la placa madre. offset 0). 14 .. Digo "increible capacidad". sean ISA. y dejo libre las direcciones C000 hasta F000 para posibles BIOS de dispositivos y tarjetas que necesitasen su propia BIOS para funcionar. Esto es general para todas las tarjetas. pues ahora a las BIOS de las tarjetas: la primera tarjeta y totalmente necesaria en nuestro PC es la tarjeta grafica o de video. Esta tarjeta "siempre" tiene BIOS. Siu pasamos esta dirteccion a Kb´s nos dá la increible capacidad de 640 Kbs ¿os suena esta cifra. Bine.

.. Pueden pincharse ya que el bus ISA actual soporta ambos formatos de tarjeta). en aquel entonces?. si querías añadir otra tarjeta.. ¿no?. ha sido obligado para soportar alguna de las normas del ActiveX de windows). Pues medinate switches. pues ya teniamos nuestra flamante tarjeta. Ahora su entrada en funcionamiento era como siempre. José manuel Tella Llop Como tal BIOS. (Matrox. Era responsabilidad nuestra saber que IRQs o prots teniamos libres y mediante switches se configuraba la tarjeta. Asi de facil. Y ahora ciñendonos a nuestro caso del BUS ISA. recordad que antes hemos hablado de tarjetas ISA de 8 bits y 16 bits. (como nota curiosa. Recordad que en principio cualquier bios se puede actualizar y a veces.. ahora ya sabemos las cuatro posibles cosas que puede "tener" una tarjeta: 1) BIOS y por tanto "ocupar" un rango de memoria desde C000 a F000).. Y a lo mejor. Esto implica que hay tarjetas "mas cortas" que lo que es el bus en donde se pinchan. los ports. ** Alguno de las 4 "cosas" anteriores (o cualquier combinacion de ellas) se necesitan para que la tarjeta sirva para algo. Y a lo mejor teniamos que utilizar una u otra. Pero claro. etc.. etc. No pasa nada. si era posible instalar esa nueva. Bien una vez instalada y asignadas (a mano) las IRQs y ports. Al menos las de las tarjetas "buenas".).. en las tarjetas graficas. ya sabe que es una BIOS) (y como otra nota curiosa. Las rutinas llamadas de POST de la bios de nuestro PC. la memoria comprendida dentre C000 y F000. BUS PCI 15 ... Resulta que los posibles puertos de tu nueva tarjeta. Antes de comprar habia que leerse con lupa que IRQs podia utilizar y que puertos y que DMAs y que direcciones podía pillar la posible BIOS. se configuraba lo que se podía.. Cada fabricante escogia al azar un conjunto de puerto y/o IRQs de funcionamiento de su tarjeta y tú lo instalabas. en bloques de 2 Kbs en 2 Kbs y ver si allí se encuentra esos caracteres hexadecimales. lo que hacen es recorrese al encender el PC. ¿como se asignaban las IRQs.. Si se encuentra. Bueno.. los uqe ya tenias utilizados con las otras placas. Curioso y diro el tema. antes. No podiamos instalar ambas a la vez. no te daba opciones. Pero ya nos teniamos que olvidar de la IRQ o de la DMA "sacrificada". todas las bios empiezan por los caracteres hexadecimales AA55.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . etc.. Un driver se encargaba de su funcionamiento y dialogaba con ella con las tecnicas que hemos comentado anteriormente PIO. Plug and Pray para otros). Llevar en el bolsillo. ya estaban siendo utilizados por otra. el nuevo fabricante. 2) Puertos 3) IRQs 4) DMAs. Recordad que no existía la norma PnP (Plug and Play. En principio.. era responsabilidad tuya que no "chocasen" entre ellas. incluso es actualizable... DMA e IRQ. y ver.

si tenemos dos tarjetas graficas. 2X... ni se nota). define las IRQs que pueden utilizarse como IRQs de dos tipos: "level" (por nivel) y "edge" (esquinado)... 4X Y en general se vá a llegar a utilizar la misma frecuencia que el BUS de la placa madre. Es relativmente joven (vamos a saltarnos aquí una serie de buses intermedios -EISA y VESA. Debido a que este ultimo. Unicamente consta de 1 slot. Esto para respetar al pie de la letra la norma PCI. pudiera no tener esa opcion. empezaron a poner la pregunta "Primary AGP/PCI o PCI/AGP" en la configuracion de la bios para saltarse esta secuencia..que ya carecen de sentido). actualmente se consiguen tasas de transferencia de 500 Megas por segundo... Por tanto. La norma PCI. En ese momento. ya era hora ¿no?. el poder compartir una IRQ con mas de un dispositivo!. por tanto nuestra BIOS. pasaron de ser una cosa "tonta" y practicamente "la misma" para todas las placas madre... Pero repito: no es un estandar. Solo es importante aquí un matíz: *) El BUS AGP se inicializa "despues" del BUS PCI.. Con esto. Precisamente este ultimo tipo: "edge". hasta aquí hemos visto los posibles "buses" incorporados en nuestra placa madre. no es nada más que una tarjeta SCSI de la cual salen un nuevo bus. Existen varios estandares 1X.. Igualmente.. Lo veremos en cuanto tengamos definidos todos los buses. Complicaron la existencia a los fabricantes de BIOS. fué cuando las BIOS. mediante un "bridge" -puente. 16 . Lo unico importante aquí es la velocidad. empieza a complicarle la vida a la BIOS de la placa madre. José manuel Tella Llop Surgió mucho mas tarde. ya empieza a parecer un poco mas serio. No es importante llevar un chequeo de la integridad de los bites en este bus (ya que si se pierde un bit de un grafico en un instante dado. Igualmente la norma define al bus PCI como un bus de 32 bites a 33 Mhz.."PCI to PCI"). es el que permitirá cuando surgió la norma PnP... Ya nos empieza a abrir las posibilidades del PC un poco más del "corset" que teniamos hasta ese momento. Pero de paso. y está pensado para graficos a alta velocidad. Queda todavia por ver el bus SCSI. pues ciertos fabricantes de bios. PLUG AND PLAY Bién. Esto implica una velocidad de transferencia de 4 * 33 = 133 Megas por segundo. BUS AGP Es completamente nuevo. Esto ultimo. una PCI y otra AGP. podemos abordar el tema de Plug and Play en este momento y dejar para mas adelante el SCSI. indica que un bus PCI es unicamente de 4 slots (pero permite saltarse la norma e instalar mas slots en grupos de hasta 4 más. Aquí la velocidad ya empieza a ser apreciable frente al bus ISA.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Pero como las normas estan hechas precisamente para saltarselas. a tener su "propia vida" y ser capaz de identificar los dispositivos. siempre será la tarjeta primaria la PCI (teoricamente más lenta que la AGP).

Si en nuestro PC tenemos el raton en un puerto serie. ** He repetido los conceptos anteriores que ya habiamos visto para tenerlos frescos en este momento. el bus PCI (y AGP). la especificacion PnP es la siguiente: 1) Cada fabricante de perifericos PnP tiene asignado un numero identificativo unico en el mundo. En win95 / win98. tampoco funcionará. Vamos a para entonces a hablar realmente del PnP. Pero en ciertas bios PnP. debemos recordar que las IRQs asignadas a los puertos serie. Ahora solo queda el definir el como compartirlas. ha sido diseñado para poder compartir interrupciones. 17 . unicamente conceptuales. 6.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ... c) La IRQ 12 es ISA sí está asignada a puerto de raton. Si el puerto no tiene IRQ no funcionará. 1. lo normal es que entremos en la BIOS y le digamos que no asigne la IRQ al puerto de ratón.. Recordad que habiamos comentado que el bus PCI fué diseñado para poder "pillar" las IRQs de dos modos "level" y "edge".. ** Bueno. y los drivers de impresion no lo necesitan. Igulamente quiero resaltar que en las IRQs "fijas" hay alguna matización: a) Los puertos COM1 y COM2 /serie). las tarjetas que hemos visto... algo "nos salva". En principio entonces.. En windows 95. 13) tampoco pueden compartirse. 2. 7. paralelo y controladores de disco y disquete (es decir IRQ 3.. y probablemente la tarjeta de video nos va a solicitar otra. Lo gestionan mediante tecnica de "pool" y liberan al sistema una IRQ que puede ser preciosa. No vamos a entrar en detalles tecnicos. Lo "normal" es que la bios le dé la 4 y la 3 respectivamente. la propia bios puede decidir (o puede ser configurada) para que le dé otra. la IRQ 12 *tampoco* podrá compartirse. Igualmente debemos recordar que "por diseño" el bus ISA no puede compartir las IRQs y ademas. y 11 -y puede que la 12 dependiendo si en la bios se la hemos asignado o nó a un posible ratón en puerto de ratón-) Evidentemente este conjunto de IRQs libres empieza a quedarse excaso.. 10. 4. NT y 2000 "pasan" de la bios. maxime cuando en la actualizada todo el mundo tiene tarjeta de sonido la cual nos va a pillar otra IRQ. pero estamos en un caso similar al anterior. Teniamos que asignarlas una IRQ de la lista que teniamos "libre" (recordad que en principio solo tenemos la IRQ 5. esto no es necesario. Igualmente si el puerto tiene conflicto con la IRQ porque la "pilla" otro dispositivo. había que configurarlas "a mano". Microsoft preparó una especificacion del PnP. Y si además tenemos raton en puerto de ratón. Hay ciertas bios que son capaces de detectar esta situacion y "liberan" automaticamente dicha IRQ. con respecto a que la bios puede darle otra). y 15) y las del sistema (IRQ 0. si aparentemente no vamos a poder instalarlos?. En Windows NT (y windows 2000). puede ser que no sea necesaría. 14.. 8. o nuestra bios se lo asigna SIEMPRE a un posible puerto de ratón. Pero esto no es lo normal y por tanto somos nosotros responsables de informrle a la propia bios. necesitan una IRQ. 9. "siempre" la bios le asigna una IRQ y por tanto windows la utiliza (y los drivers de impresion la necesitan). Evidentemente entonces ¿para que queremos slots libres y para que otros dispositivos. b) La IRQ del puerto paralelo (normalmente la 7. En resumen. José manuel Tella Llop Hasta ahora.

DEV indica "device" (dispositivo) y el 7110 es un numero interno de Intel con el cual identifica de manera unica su dispositivo (el que sea. cuando la bios termina con su "lista" de libres. es decir..2 Mira en la tabla (que es modificable por nosotros entrando en la bios). "Video" para los de video. 7... por el motivo que sea.. a ver si alguna IRQ. vuelve a asignar otra vez el comienzo de su lista al dispositivo siguiente.. la ignora en su lista de asignacion a dispositivos PnP.. 8) Lo anterior. Implica unicamente que ahora el dispositivo "sabe" y la bios "sabe". 7. no implica que el dispositivo funcione. José manuel Tella Llop 2) Los fabricantes son responsables de "numerar" sus dispositivos. Y 18 . es una IRQ ISA o "Legacy ISA"). Es decr una tarjeta suya tedrá en numero 1.5 Cuando termina con el bus ISA. Realmente la secuencia que sigue es: 7. por ejemplo. si fuesen dispositivos PCI). este es capaz de informarnos que quiere y que posibilidades tiene.. 6) La BIOS en inicializacion. 7) La propia BIOS. Como las IRQs de las PCI... Este es el caso de w95 / w98. raton. Lo mismo para los puertos y lo mismo para la DMA. (puertos serie. Pero ahora queda que el sistema operativo lo soporte. Y SOLO PARA él. Numeros UNICOS.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Si la tenemos marcada así. "Multimedia Device" para los multimedia. normalmente son "edge". Por ejemplo de la forma: VEN_8086&DEV_7110..4 Se recorre el bus ISA y "pregunta" a cada tarjeta sí es o nó. que la IRQ 10.. 7. que en este caso en particular es el: Intel 82371EB PCI to ISA bridge (ISA mode)).3 En este momento tiene la bios una linsta de IRQs que le quedan librs. Y cuantas "Necesita". 4) El conjunto de estas dos caracteristicas definidas en el punto 1) y 2) forma un "string" (cadena de caracteres) identificativo "unico" para un dispositivo. En principio "ve" que dispositivos tiene la placa madre y le dá las IRQs del sitema FIJAS que hemos comentado antes. 5) Existe una "norma" estandar para preguntar al dispositivo que IRQs le "gustaría" y "puede" utilizar (tanto en plan exclusivo como "compartidas". es decir hay una clasificacion. que "debe" utilizar. en la bios le hemos marcado. preguntandole al dispositivo. paralelo. etc) 7. Y si es PnP que necesita y que posibilidades alternativas le dá. nosotros la hemos bloqueado (es decir. PnP. Posteriormente selecciona una IRQ de "su" lista de "libres" y le informa al dispositivo de que esa IRQ es para él. Es decir. 3) Los dispositivos se agrupan por "funcionalidades" (dispositivos de "Mass Storage" para los de acceso a disco. Es decir "comparte la IRQ).. Y ahora les va asignando las libres. Por tanto se la dá a un dispositivo y la borra de su lista de IRQs libre). Este ejemplo corresponde al fabricante INTEL (VEN es abreviatura de "vendor") e Intel tiene curiosamente el "numero" identificativo de fabricante el 8086 (igual que su primera CPU "compatible"). empieza con el bus PCI y AGP.1 *no* soportan IRQs compartidas. (Recordad que la IRQ ISA no se pueden compartir. es la responsable de preguntarle a los dispositivos esto. es "lista". otra el 2.1 Asigna las IRQs fijas a los elementos incorporados en la placa madre. El MsDOS y el w3.. Se recorre igualmente estos buses preguntando a los dispositivos lo mismo con respecto a las IRQs. se pueden compartir. etc. etc.

. 19 . Es responsabilidad luego del driver (o del propio windows). Con esto unicamente conseguimos que la bios NO se la asigne a ninguna tarjeta. por lo cual "puede" que tengamos que informarle al sistema operativo (windows) en las "propiedades del sistema" que dicho dispositivo utiliza esa IRQ para que a su vez windows se lo informa a "su" driver... (a excepcion de algun modem interno ISA). ya que existen las denominadas IRQ#A.. José manuel Tella Llop en cambio en NT y el windows 2000. IRQ#C e IRQ#D. son o no son PnP.. Abrimos la maquina y cambiamos a la tarjeta de "slot". debo comentar que la tecnologia SCSI siempre es la puntera (y la mas cara). vuelven a reprogramar a su gusto todas las tarjetas para asignarlas lo que mas le interese a cada driver de dispositivo. Posteriormente los IDE (uno o dos años mas tarde) los alcanzan. Hagamonos una idea: los discos a 7200 revoluciones. o que posibles conclusiones debemos sacar de lo anterior?. Curiosamente tampoco se la asigna a la nuestra. practicamente no quedan. IMPORTANTE: Igualmente. Me explico. y ademas si tenemos o no que poner algun jumper para esto).. Estas son las que realmente solicita un dispositivo y el proio bus PCI las tiene "entrelazadas" y juega con estas IRQs "logicas" y la lista de IRQs libres. ** Bien.. Una vez identificada la IRQ libre que queremos para esa tarjeta. pero evidentemente a igualdad de "tecnologia".. ** Gracias a Dios.. eran normales hace 2 años en SCSI. si entre los dispositivos PCI.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. vemos que la bios (y windows) asignan una determinada IRQ a un dispositivo. debido a que no hacen ni caso de la bios. Y mucho mas rapidos. de estas tarjetas. IRQ#B. BUS SCSI Y SUS DISPOSITIVOS Como introfuccion.. Los discos SCSI siempre son mejores que los IDE. (Realmente aquí intervienen más factores de tipo tecnico.. no nos gusta. Por tanto cambiandola de slot se la encontrará en otra posicioon y "seguramente" le asignará otra IRQ.. Ahora se están introduciendo en los discos IDE de ultima generacion. ponerle "ISA" o "Legacy ISA"... y antes de empezar a cargar todavia el sistema operativo. todo lo "puntero" siempre nace en los dispositivos SCSI. y lo primero es saber si las tarjetas que tenemos o vamos a añadir a nuestro PC (las ISA). RESUMEN Y POSIBLE USO POR NUESTRA PARTE Y ahora ¿que posible uso.. o nos causa problemas y queremos que le asigne "otra" de las posibles asignadas al bus PCI. y por el motivo que sea. en la parte de PnP y a dicha IRQ. Recordad que la bios asigna su lista de libres recorirendose el bus PCI... es facil. Sí no son PnP y ademas no tenemos ningun "jumper" para que lo sean.. en principo. el asignarsela. debemos ver que IRQ va a necesitar (mirando el manual nos dirá cuales "puede".. debemos entrar en la pantalla de la BIOS. Pero este es un tema "tecnico" que se sale del alcance que quiero dar a estos documentos) ** Bien hasta aquí hemos visto una "nueva" tarea que realiza la bios "Desde que pulsamos el voton de encendido"..

a todos los efectos. IMPORTANTE: El BUS SCSI debe estar "terminado" por *ambos* extremos.. Todos los dispositivos SCSI. Estás tarjetas lo que hacen es definir un nuevo "bus".. SCSI=Small Computer System Interface Bueno. es como si fuese una tarjeta independiente. desde la tarjeta scsi. Previamente. Y de este cuelgan los dispositivos. teoricamente podemos tener: 1) D---D---D--T---D 2) T---D---D--D---D (he representado por "D" cualquier dispositivo scsi (disco.. José manuel Tella Llop Actualmente el SCSI tiene ya discos de 10. Este numero se asigna en binario. Los IDe todavia ni sueñan con esto.. Veamos: un bus scsi no es nada mas que un cable. (por ejemplo uno interno y uno externo). Y uno de los posibles dispositivos es precisamente la tarjeta SCSI. ya que como hemos dicho anteriormente es un dispositivo más). o que uno de los dispositivos no sea reconocido. N=no colocado): 2 1 0 . la tarjeta scsi está en el "medio" del BUS. debemos saber que cada dispositivos SCSI (incluso la misma tarjeta. Pero en este ultimo caso. son propiedades electricas del dispositivo y si no prestamos atencion a esto. Esto es *OBLIGATORIO*. Este numero se asigna en los dispositivos. Estas tarjetas pueden ser PCI o ISA (casi no quedan de estas). tienen mediante "jumpers" la posibilidad de asignarle un numero.000 revoluciones y con caché interna de 4 megas.. e incluso hay placas madre que ya las llevan incorporadas. Vamos ahora a ver que es lo que tiene cualquier dispositivos SCSI. etc. Veamos como: Normalmente hay tres jumper numerado 0. En el caso 1) se supone que tenemos dos cables que salen de la tarjeta (uno interno y otro externo) con dispositivos. Si unicamente tenemos un cable.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . etc) y por "T" la propia tarjeta)..- 20 . 1 y 2 Posibilidades (S=jumper colocado. podemos colocar uno o dos cables que van a ir a uno o varios dispositivos. tiene que tener un numero UNICO en el BUS. Este numero debe ser un numero de 0 a 7 (luego veremos las ampliaciones del bus scsi). la tarjeta está en uno de los "extremos" del bus.... scanner. en cualquier momento puede suceder un malfunionamiento de bus. pues una de las tarjetas que podemos pinchar a la placa madre. Es decir. son las tarjetas SCSI (se pronuncia "escasi"). Si salen dos cables. CDROM.. Por firmar un BUS. Mas adelante veremos que quiere decir "terminado". En el caso 2) Solo tenemos dispositivos en uno de los cables (dá igual).

. Recordar ademas que las tarjetas SCSI. suele denominarse "TE" –termination enabled-). ** Otra caracteristica de la que hemos hablado anteriormente es la "terminacion". y en las tarjetas actuales. Facil: en las "antiguas" tarjetas. es decir la manera de decirle a un dispositivo que él es el último del bus y por tanto "debe" tener la resistencia colocada.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Unicamente el *ultimo* dispositivo en cada parte del bus. Los 3 anteriores para asignarle el ID y uno mas marcado como "TE".. sino que ademas nos determinan la "prioridad" del dispositivo. Estos numeritos.. normalmente por jumpers como los anteriores. por logica... ¿que es la terminación?: pues no es nada mas que una "resistencia" electrica que cierra el extremo del bus.. Este es el motivo por el cual la tarjeta scsi. Entonces ¿como se asigna el numero "ID" a la tarjeta?. De fabrica TODOS los dispositivos que copremos suelen tener el "TE" activo. Por defecto la tarjeta SCSI siempre viene con el ID=7. José manuel Tella Llop N N N N S S S S N N S S N N S S N Identificacion cero (ID 0) S ID=1 N ID=2 S ID=3 N ID=4 S ID=5 N ID=6 S ID=7 ** Cada dispositivo un numero UNICO en el bus. realmente son realmente una CPU especial y que ademas tiene su propia BIOS. la que tiene mayor prioridad en el BUS. debe llevar el "TE" activo. CUIDADO con esto.. entrando en su BIOS y asignandoselo. es mediante un jumper (este jumper... Y ademas hemos dicho que la tarjeta es un dispositivo más. viene siempre de fabrica con el ID 7. 21 .. por ejemplo en las tarjetas Adaptec. Normalmente cada dispositivo "tiene" esta resistencia internamente. Y habiamos comentado que el bus SCSI debe estar "terminado" en ambos sentidos (AMBOS). al menos tiene 4 jumpers. no solo son para deifrenciar cada dispositivo. Es decir cada disco o dispositivo que vayamos a conectar. Evidentemente la tarjeta SCSI debe ser. Por tener su propia BIOS es configurable. La manera de "activarla". y luego va disminuyendo la prioridad desde el ID 6 hasta por fin el ID 0. La norma SCSI define que el dispositivo de maxima prioridad es el ID 7. se puede entrar en dicha bios pulsando CTRL-A cuando se está inicializando la tarjeta.

En las actuales. y finalizar *siempre* los buses con estos "tapones". Hacen de tapon.. 22 .8. puede ser un jumper. depende del tipo de tarjeta: en algunas (viejas. y los "wide" al de 68. sea de 50 hilos y el otro de 68. por lo que la velocidad del bus llega a 40 megabytes por segundo.. en uno o en ambos extremos y que realmente son resistencias. Evidentemente duplica la velocidad. El bus que hemos definido hasta aquí es el llamado NARROW SCSI. ULTRA 2 SCSI o ULTRA 2 WIDE SCSI Es la ultima tecnologia. o incorporadas en la propia placa madre del PC). La velocidad "base" de tranferencia del bus scsi es 10 megabytes en total en todo el bus. Los dispositivos deben soportar negociacion "ultra". existen "tapones".. En vez de 50 hilos es de 68 y soporta 16 dispositivos. Así tengo la seguridad que no se me olvidará. Debido a que el cable es de 68 hilos. 14.. Algunos de los dispositivos "viejos". se define tambien en la propia BIOS de la tarjeta ademas de asignarle allí el numero de ID.. ULTRA SCSI Es el mismo bus (aparentemente). Por tanto soporta 20 megabytes en el bus. con un chip especial que permite una comunicacion al doble de velocidad. Y ya realmente es de los "viejos". Estas tarjetas.. es quitarle siempre el jumper TE.. tienen 4... la tarjeta debe estar "terminada" siempre. bien sea externo o interno el cable con dispositivos. WIDE SCSI Cambia el bus. lo normal es que uno de los conectores (bien el externo o bien el interno. Entonces la terminacion. Esto es muy util. Practicamente todos los actuales lo soportan. fisicamente los dispositivos son diferentes. La manera de quitar la "terminacion" es eliminar fisicamente las resistencias.. Su conector es diferente. que no son mas que un pequeño conector que se pone al final del cable.. Así los dispositivos "normales" los conectamos al de 50. para poder asignar un numero del 0 al 15.. mi costunbre.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . llamada tambien LVD (Low Voltage Diferential). El cable es un cable de 50 hilos.. segun compro un dispositivo scsi. lo que fisicamente tienen es una fila (o dos) de resistencias ("resistor"). Igualmente. en vez de tener el "jumper" TE. Por compatibilidad el orden de prioridad sigue siendo del 7 al cero y luego con "menor" prioridad todavia el 15. José manuel Tella Llop ¿Y la propia tarjeta?. En el caso 1) que hemos visto anteriormente NO debe estar "terminada" y en caso 2).. 13... y por tanto los dispositivos en vez de 3 jumpers para asignar el numero. ULTRA-WIDE SCSI Pues una combinacion de ambos anteriores. o incluso hay veces en que ambos son internos).

Esta es la norma. en dichos discos ya puede activarse el jumper "TE" y por tanto. Entonces el resto de dispositivos LVD. no puede ser que uno de los dispositivos haga de terminador). el bus debe terminarse tambien con una resistencia externa. para decirle que debe comportarse como un disco normal y no como un disco ULTRA 2. Uno de los extrmos sigue siendo la tarjeta. ya que existe la posibilidad de que la tarjeta nos lo cambie de prioridad. Uno para la parte normal ULTRA-WIDE y otro para la parte LVD (por tanto este ultimo debe estar siempre "terminado"). Por tano. *** Y ya por ultimo. son especiales. Es decir una resistencia normalita como si fuese un bus ULTRA-WIDE de los citados anteriormente. La velocidad de este bus soportada es de 80 megabytes por segundo. Sí el ultimo no lo tueviese activo... Pero debe ser una resistencia "pasiva" o "terminacion pasiva" en este caso. mediante una resistencia especial llamada resistenc a "activa" o "terminador activo".. practicamente en todas las placas madre vienen incorporadas. Sino lo hacemos así. Con esto nos evitamos el "engorro" de tener que asignar un numero a cada dispositivo. pero perdemos la flexibilidad de poder asignar nosotros mismos las prioridades. existen dos posibilidades: 1) Todos los dispositivos son LVD en ese bus. deben tener al jumper de "no LVD" o bien "SE" conectado. OTROS DISPOSITIVOS EN LA PLACA MADRE: CONTROLADOR IDE Este dispositivo. los discos LVD. una tarjeta ULTRA 2 con tres conectores. Y el bus debe terminarse "externamente" (al final. historicamente era una tarjeta "aparte" que se pinchaba en un slot ISA. pero en las tarjetas actuales. la norma SCSI dice que este disco debe tener el ID 0 o el ID 1.. Esta tecnologia es simplemente que los dispositivos negocian (o pueden negociar) su ID con la tarjeta y la propia tarjeta puede cambiarselo automaticamente. 2) Alguno de los dispositivos en ese bus NO es LVD. Particularmente yo desactivo dicha opcion en la bios de la tarjeta y lo gestiono "a mano". tambien tienen un jumper que se debe activar. En este caso. En un bus LVD todos los dispositivos que enchufemos "deben" ser obligatoriamente LVD.. recordar que sino tenemos discos IDE y queremos que uno de los discos de nuestra tarjeta SCSI sea el disco de "boot".. Los dispositivos LVD (discos).. Este canal es el "otro" bus.. Por tanto en este caso. Dis de los conectores forman un bus normalito ULTRA-WIDE de los comentados anteriormente y con los terminadores conectados tal y como hemos comentado.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Entonces NINGUNO de los dispositivos debe tener activo el jumper de "normal". esto tambien es configurable mediante su bios... TODO el bus se comportará como un bus NORMAL. Despues de aparecer el bus PCI dichas tarjetas empezaron a ser PCI y en la actualidad. *** Y por ultimo comentar que actualmente hay tarjetas y dispositivos que soportan la tecnologia SCAM. tiene dos posibles terminadores. En este caso. 23 . José manuel Tella Llop Normalmente estas tarjetas son 2 buses en 3 conectores. Y ahora el canal LVD. el ultimo debe tenerlo activo.

es precisamente entrar en las pantallas de la bios y decirle que *no* tenemos canal IDE secundario. si esto nos pasase y queremos que wndows no nos informe de esta "incidencia". ** Cada canal IDE. Esta velocidad es unica. Con esto dejaremos ya de ver la admiracion amarilla. Lo mejor que puede pasar es que esté justo antes de la cabeza lectora. Pero ¿realmente sabemos lo que nos han vendido? ¿realmente es tan rapido? Tenemos varios componentes que influyen desde que un sector de datos está en el dsico hasta que ese sector de datos. Si es así. De todas maneras. disco y CD. VELOCIDAD DE LOS DISPOSITIVOS IDE Siempre hemos oido hablar de las velocidades del disco duro. puede que a windows no le guste y nos mrque una admiracion amarilla en el canal IDE secundario. está en la memoria principal de nuestro PC. No es problematico y no pasa nada. esto no influye en el rendimiento ni en el comportamiento de windows.. Por tanto existen dos canales IDE (primario y secundario). de la DMA. este debe ser "master". José manuel Tella Llop ** Se le llama controlador IDE. Por tanto estamos limitados a un maximo de 4 dispositivos IDE. tendremos que esperar una revolucion completa del disco hasta que vuelva a pasar por debajo de la cabeza de lectura. se puede entrar en al Administrador de dispositivos y en la controladora existe una opcion (en casi todas) para decirle lo mismo que le hemos dicho a la bios: que se utiliza solo el canal primario. Esto ultimo. ya que si unicamente tenemos utilizado un canal ¿no podriamos utilizar la IRQ 15 para otra cosa? Pues efectivamente: sí. Cada dispositivo debe estar identificado dentro del mismo "canal" IDE como "master" o como "slave".DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . acabe de pasar por debajo de la cabeza de lectura. 5400 y 7200 revoluciones por segundo). Por una parte tenemos la verdadera velocidad del disco duro. la IRQ 14 y el secundario la IRQ 15. hay velocidades de 4200. Cada canal IDE unicamente puede soportar a su vez dos dispositivos: dicocs dura. o dos CDs. y cada uno de ellos con dos dispositivos (uno master y otro slave).. Sí solo tenemos un dispositivo en un canal IDE.. y siempre nos han querido vender las cosas con frases majestuosas: soporta UDMA 33 y nosotros nos quedamos con la boca abierta y luego incluso vamos "fardando" de rapidez... en la mayoria de los controladores actuales (drivers de windows). Pero repito. En este caso se leera inmediatamente. El canal primario. Cuando queremos leer un sector de datos. La manera de decirle a la bios que deje libre la IRQ 15 porque no vamos a utilizarla en la controladora IDE. lo peor que nos puede pasar es que el sectar.. Todo funcionará correctamente. del modo PIO 4. pero realmente es "la mitad" del controlador. Es un componente mecanico y por tanto unicamente depende de la velocidad de rotación del disco (actualemtne en los IDE.. Recordemos que un controlador IDE soporta dos "buses" o "canales" IDE.. de las UDMA. 24 .. Es importante la matizacion anterior. Esto se configura mediante un switch o jumper en el propio disco del le dice si es "MA" (master) o "SL" (esclavo). Me explico: la electronica de los actuales discos duros lleva incorporada la otra mitad.. "pilla" una IRQ del sistema.

como maximo)En este caso.. No tenemos en cuenta aquí tambien otro factor. Y allí es donde podemos tener el verdadero cuello de botella (otro más). pensemos. lo mas normal. estarán a la "mitad" de distancia de una revolucion completa del disco. estan integradas dentro de la electronica del disco duro. A mas velocidad. incluso el propio sistema operativo. José manuel Tella Llop Y estadisticamente la media de los sectores que queremos leer.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . En el lado del software. sino tambien por el rendimiento de la CPU. se organiza en cluster que siempre son mayores de ese tamaño. la tasa de transferencia de datos no solo está limitado por los valores maximos de velocidad del bus. Uno a uno (o dos a dos. Si la cabeza lectora no está en el cilindro correspondiente al sector que queremos leer. MEMORY MAPPED I/O 25 .. Programmed I/O (PIO) Memory Mapped I/O DMA Busmaster DMA PROGRAMMED I/O En el "programmed I/O" la transferencia de datos entre controladora y memoria principal se desarrolla a traves de los diferentes ports de I/O (Entrada / Salida) de la controladora que tambien sirven para la transmision de comandos. es que "lea" más sectores y se lo pase a la controladora (a un mini-caché) por si acaso inmediatamente despues solicitamos otro sector contiguo (suele ser bastante normal que nos interese leer mas de un sector: 512 bytes... y evidentemente en un sistema multitarea... DE LA CONTROLADORA A LA MEMORIA Se pueden utilizar 4 metodos diferentes. Esto es lo que se denomina "seek". Pero esto significa que cada BYTE del disco. debe pasar por la CPU despues de ejecutar dicho comando. el brazo que soporta a la cabeza lectora. Pasemos a ver ahora como van los datos de la controladora a la memoria. la CPU puede que llegue a estar demasiado ocupada preocupandose del acceso a los datos. se encuentra un programa correspondiente con los comandos de lenguaje maquina IN y OUT.. cuando le solicitamos un sector.. tendrá que hacer un moviemiento transversal de posicionamiento a ese cilindro. por tanto siempre se le solicitará al disco más de un sector en diversas peticiones sucesivas). Esto es lo que se define como "average". y realmente solo depende de la velocidad de rotacion.. que la "mitad" de las controladoras actuales. mas rapido será el disco (y mas caro). Por otra parte.. ya que a circuiteria y la logica del propio disco.

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . no solo es bastante inflexible (lo que aún se le podría perdonar). Pero por desgracia.. las controladoras no "saben" de memoria virtual. en los antiguos. CDROM... y del acual hemos hablado anteriormente. Busmaster DMA solo se empleaba en el caso de controladoras SCSI. el controlador DMA en los AT y sus sucesores.. la mayoria de los discos modernos ya no controlan segun el metodo DMA BUSMASTER DMA Otra forma del Direct Memory Access es el Busmaster DMA.. etc. En ellos. en las actuales CPUs se puede obtener un mayor rendimiento. 26 . implementada en controladoras IDE y aumentada su velocidad de transferencia a 16 MB/s. el largo camino a traves de la CPU. DMA Más conocido que los dos procedimientos anteriores. Tan lento. no sbaen del modo protegiod (protected mode) de la CPU. ya que el software solo debe indicarle al controlador DMA.. ya que el controlador de DMA que emplean los PCs. En este caso.) a la memoria y evitar con ello.. Pero esto en el PC se realizó de una manera bastante chapucera. La idea es buena. desconecta a la CPU del BUS y transfiere los datos con ayuda de un controlador Busmaster DMA con control propio.. Por ello. que aún el acceso según el procedimiento PIO en el peor de los casos es mas rapido a partir de los antiguos 486. pero este no tiene nada que ver con el chip de DMA integrado en la placa madre. Posteriormente surgió la UDMA 2 (o UDMA 33) hasta 33 megas/s.. De esta forma no se puede alcanzar mas de 2 Mb /segundo. Esto causa un problema muy serio de rendimiento en los actuales sistemas operativos basados en las tecnicas de memoria virtual (frente al antiguo MSDOS que operaba con memoria real). En este tipo de acceso. disquete.77 MHz. José manuel Tella Llop La CPU podría recoger los datos de la controladora de una manera mas rapida. De esta manera. sino sobre todo lento. siguió haciendose funcionar a 4 MHz. debe posibilitar la transferencia de datos desde un dispositivo (disco duro. la controladora del disco duro. Unicamente conocen la memoria real. Ya que como anacronismo en la historia de los PCs.. es la transferencia DMA. debido a que no es nada mas que una variante del Busmaster DMA. DMA = Direct Memory Access. Y actualmente ya se estan vendiendo placas madre con controladoras incorporadas a 66 MB/seg. Este chip. cuantos bytes se han de transportar de donde adonde. De esta manera se pueden conseguir tasas de transferencia de has 8 mb/seg. UDMA No lo he mencionado al principio del articulo.. en donde los primeros PCs ya alcanzaban los 4. si esta los dejase en una zona de memoria fija. que en los PCs se soporta en un chip DMA propio. la cpu puede trabajar mucho mas rapidamente con estos datos ya que puede moverlos mediante las intrcciones MOV que trabajan mas rapidamente que los accesos mediante IN y OUT. la transferencia DMA es mas rapida que el PIO.

En las controladoras / discos actuales.. mnejada por la Memory-Management-Unit (MMU) de la CPU. Es decir un disco UDMA actual (UDMA 2) por mucho que lo pongamos en una placa madre con controladora UDMA 66. Así por ejemplo... Y el modo "protegido".DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . solo se pueden utilizar en el mundo del modo Real (Real-Mode). mediante la BIOS o un programa.. sino que tambien el propio dispositivo (la electronica del propio disco duro). tendermos incorporados: 1) Puertos serie (COM1 y COM2) 2) Puerto paralelo 27 . en relacion con los metodos de acceso anterior.EXE en el config... con el limite de 640 Ks en memoria contigua y el limite de 1 mega + 64 Kb para todas las direcciones reales. y llevan al procesador a un "cuelgue" si no se toman las medidas adecuadas.sys que sirve para la emulacion de la memoria expandida y que depende de la gestion de la memoria virtual del procesador. y el controlador de DMA no es una excepción: tampoco se entera. debe soportarla. no solo el chip de la placa madre debe soportar esa velocidad. los programas no se enteran.. en donde se tiene acceso a toda la memoria de la maquina. Esto es posible en modo protegido mediante el control de los ports I/O (virtualizacion del hardware). y es la vigilancia de la controladora DMA. GOODBYE AL MODO PROTEGIDO Como colofón de esto. Solo hay un modo de evitarlo. voy a hacer unos pequeños comentarios de diseño del propio nucleo del sistema operativo... windows instalar un Control-Monitor virtual en el fondo (en la capa mas baja). linux. Pero de esto. El modo "real" que es el modo en MSDOS puro y duro. ambas cosas forman un TODO.. Esta problematica. OS2. ya que nunca entran en contacto con las direcciones fisicas.. ya que no tiene acceso a la MMU de la CPU. José manuel Tella Llop NO LLEVARSE A ENGAÑO No hay que llevarse a engaño con todo lo anterior. Por ejemplo en cuanto instalamos el EMM386. no solo suerge en windows y otros sistemas en modo protegido. y es el modo en que funciona windows. Las formas vistas antes de transferencia DMA. Es decir. y que convierte las direcciones virtuales indicadas en direcciones fisicas verdaderas antes de que se escriban los registros del controlador DMA (antes que se programe una lectura/escritura) RESTO DE DISPOSITIVOS INCORPORDOS EN PLACA MADRE En las placas madres actuales. etc. que vigila la programacion del controlador DMA. El problema es la gestion de memoria virtual. no dará mas rendimiento que el que daba en una UDMA 33. Recordad que existen dos modos de funcionamiento del procesador.. Tambien afecta al MSDOS cuando este está trabajando o conmuta a modo Virtual-86 (el tercer modo de funcionamiento del procesador). Es el encargado de formal las direcciones virtuales para los programas que trabajan en modo protegido y proyectarlas sobre las direcciones verdaderas (fisicas) en la memoria...

la comunicacion via puerto serie. el LS-120 (SuperDisk).. La velocidad configurada allí unicamente tiene efecto en la conexion por cable y no tiene ningun efecto en el modem. son: el ZIP.. (en este caso.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . viene a 9600.. Esta comunicacion equivale a unos 14 Ks por segundo. y esto es debido a que ya no solamente se utiliza para la impresora. no quiere decir que sea lo optimo para nuestros dispositivos. Evidentemente se queda muy corta para conexion por cable.. debemos prestar especial atencion a su configuracion en la bios. Las placas madre de ultima generación llevan incorporado un chip multipuerto que nos puede dar hasta 1. se queda bastante escaso. algunos modelos de Scanners y algunos modelos de grabadoras de CD-ROM.. PUERTO PARALELO Este dispositivo.9 y 1. Debido precisamente a la conexion de estos dispositivos. Mi consejo es configurarlo al maximo de velocidad (normalmente 115200). por ejemplo.. Debemos recordar que la velocidad se configura en el Administrador de dispositivos. sino que ya pueden conectarse a ella un monton de dispositivos. Recordemos que las bios soportan normalmente: ECP+EPP ECP EPP 1. 28 . Esto es importante.000. pero lo optimo en funcion de la velocidad y prestaciones. Los mas "genericos". vamos a "mirarlo" con un poco mas de cariño. y no todas tienen dos normas para EPP -1.9 EPP 1.7 Bidireccional SPP (nota: no todas las bios soportan el metodo ECP+EPP.7-) En general he escrito lo "optimo" de abajo arriba. pero para comunicacion PC a PC mediante la conexion serie que nos suministra windows. ya que por defecto en windows.. empieza a ser "decente"). José manuel Tella Llop 3) Puerto de raton 4) Puertos USB (practicamente en todas las placas actuales). PUERTOS SERIE Simplemente son unos puertos de baja velocidad (115200 bits/segundo) Esta velocidad es adecuada para los modem o el raton serie.000 (un millon) de bps. aunque muy "viejo"....

pero en este caso. vemos que inmediatamente es seleccionada por algun dispositivo PnP. Como comentario personal.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . es del tipo ISA.... * Por tener USB. simplemente tocando la bios y ejecutando en ambos casos el "optimizador"). pasamos de 5 a 30.. ** La velocidad tipica de puerto paralelo en una comunicacion directa por cable entre dos PCs. No todos los drivers de impresora. hasta unos "buenos" 30 megas / minuto. Desde luego. Por ello es necesario "probar".. y probando cada opcion de arriba a abajo.. He visto situacion (placas madre SuperMicro) que aunque deshabilitemos el puerto de raton en la placa madre. De esta manera. en un principio se apostaba por ellos como la conexion universal y el futuro de todos los perifericos a conectar a un PC. esta IRQ es del tipo PCI y se puede compartir con el resto de dispositivos PCI que tengamos en el PC. PUERTO DE RATON Es un puerto (una conexion) especifica incorporada en la placa madre. pudiendo alcanzar los 2.. José manuel Tella Llop Yo aconsejo realizar las pruebas del puerto paralelo seleccionando en la bios el puerto paralelo con lo metodos anteriores. Cuando encontremos la primera en la cual funcionen todos los dispositivos que tenemos en el puerto paralelo. maxime teniendo 2 puertos serie en un PC. esa es la que debemos dejar. y siendo el raton un dispositivo que *no* necesita "velocidad" en el puerto. este tipo de apuesta no va tan rapido como se esperaba. no entiendo el porqué apareció este dispositivo. suelen llevar incorporados dos puertos USB. pero. En otras placas. no deja que ningun otro dispositivo "pille" la IRQ 12 (al menos dispositivos PnP). ni drivers de scanner. podemos adquirir por un precio no excesivo. no todas las bios la van a dejar disponible para otros dispositivos en la placa madre al deshabilitarlo.. PUERTOS USB Bien. Otra desventaja de este puerto. unicamente configurando correctamente el puerto (y ejecutando luego el "optimizador de puerto paralelo" de iomega. Lo normal es que pueda deshabilitarse el puerto de raton en la bios.. es que la IRQ que "pilla". Si no fuese así. la bios le asigna una IRQ. soportan todos los metodos del puerto paralelo. y que por desgracia nos "roba" una preciosa IRQ (suele ser la 12).. etc. que lo unico que hace es "mirar" como tenemos el puerto para "decirselo" al driver del ZIP.. al deshabilitar el puerto de ratón. una placa PCI especifica que nos suministre los dos puertos. En ese caso no se utilizará esa IRQ.5 megas en las placas madre de ultima generacion que utilicen un "buen" chip de multipuerto. Es importante este tema. fijaros que por ejemplo un ZIP en puerto paralelo. * La mayoria de las placas madre actuales. pasa de unos ridiculos 5 Megabytes por minuto. Entiendo que es una herencia arrastrada y que surgió en sus epocas unicamente por motivos de marketing (de IBM). Es decir la pilla "en exclusiva" y no puede ser compartida por otros dispositivos. llega a 1 Megabyte por segundo. Al igual que en el caso de puerto 29 ..

conozco placas madre. es decir una vez que la bios a inicializado los componentes hardware y empieza a construir ciertas tablas de interrupciones y parametros en la memoria del PC... A partir de ahora.. vamos a entrar con el "software"... y si el consumo es superior al tipo de puerto. se quedará libre para el sistema. desconecta el dispositivo. 30 . desde un puerto puedo conectar un HUB (como en las "redes". Para ver si nuestro "chip" es bueno.. Las camaras de video son "devoradoras" de corriente. fallan estrepitosamente al informar incorrectamente a windows del consumo de sus perifericos. Si lo desactivasemos. * La velocidad de un bus USB son 12 megas (bastante aceptable comparado con los anteriores "buses"). pero en este caso no tiene mucho sentido. Y así se pueden conectar en "cascada" tantos HUB como queramos hasta tener las 127 posibles salidas (incluidos en ellas los propios HUB). Igualmente hemos visto las posibles parametrizaciones que podemos hacer del hardware a traves de la bios.. como es posible conectar hasta 127 dispositivos?.. por lo que corremos peligro que windows las desconecte. La version 000 no funciona e Intel aconseja que nos pongamos en contacto con el fabricante de la placa madre y se la devolvamos (como si fuese tan facil!). (problemas de la bios de la placa madre y que normalmente se corrige em alguna revision de la bios) *** Y con esto cerramos el capitulo (por ahora) dedicado al hardware y las inicializaciones que efectua la bios sobre él en el momento en que "pulsamos el boton de encendido de nuestro PC". Windows controla en funcion del dispositivo "colgado" su consumo. Debe prestarse atención. y abrir el dispositivo "Controlador serie universal USB" y debajo de él veremos colgando un dispositvio del tipo "Intel XXXXX PCI to USB Universal Host Controller" Pinchandolo.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . podremos ver en esa pantalla la "Revision de Hardware". suponemos que la bios ya ha inicializado todos los dispositivos de la maquina. Asignado las correspondientes IRQs y recursos a los dispositivos y ahora va a proceder a cargar el sistema operativo. Debe ser la 001 o superior. Pues facil. PREPARACION DE LA CARGA DE UN SISTEMA OPERATIVO Bien llegados a este punto. entonces. es decir una especie de distribuidor) que tiene una entrada y "n" salidas.. ** IMPORTANTE: Normalmente los puertos USB. debemos ir al Administrador de Dispositivos. La pregunta del millon es ¿si solo tengo 2 puertos en el PC. ya que "no molesta" al ser una IRQ que es capaz de ser compartida. a ciertas camaras de video. Existen dos "estandard": de 100 mA (miliAmperios) y de 500 mA. Igualmente. José manuel Tella Llop de raton normalmente en la bios podemos "desactivar" el USB si no vamos a tener dispositivos de este tipo. * Recordemos que un bus USB puede tener hasta 127 dispositivos. pueden dar un pequeña cantidad de corriente a los dispositivos.. para a continuzacion "buscar" un disquete o un disco duro con el sistema operativo y cargarlo en memoria. ** AVISO: Existió un problema de hardware con los primeros chip de bus USB fabricados por Intel que no funcionan correctamente. que a pesar de montar el chip correcto de Intel capaz de dar hasta 500 mA. las cuales toman "corriente" del puerto.

. mi consejo es precisamente desactivar el intento de carga desde disquete en la bios. primaria. la bios lo que hace es cargar en memoria el MBR del disco duro (en la direccion 7C00 hexadecimal) y cede el control a dicho programa. tiene un diseño fijo. Y el responsable de la creacion de las particiones es el FDISK (en sistemas Microsoft) Entonces. Este nuevo sector es precisamente el "boot" de la particion (no confundirlo con el MBR. Si esta carga falla. permiten cambiar la sequencia de arrancada de A..A o bien C only. La estructura de dicho sector.. y una marca de cual es la particion "arrancable". lo intenta desde el primer disco duro. ya nos habría infectado el disco duro. que "sabe" crear en vacio este sector y ademas lo hace automaticamente si el disco está nuevo (recien comprado).DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. que esto es configurable en la bios de la maquina. cilindro cero. es un mini-programa y una pequeña tabla de 4 elementos. Vamos a ver primero. tambien en la direccion 7C00 y le cede control. Este ultimo "boot". Para ver la carga desde disco duro. proviene del diseño del sector de boot del disco duro. Luego veremos una variante de este metodo de carga. Si lo tuviesemos e intentase arrancar desde el disquete aunque no lo consiguiese. Hay que matizar. Todos los sistemas operativos.). debemos conocer primero como está logicamente particionado el disco. retomando un poco el titulo de estos articulos. antes de continuar. Dicho sector que ocupa siempre la misma posicion fisica en todos los discos duros (cabeza cero. cilindro. sector 1).. NTFS..C (es el defecto) a C. FAT 32. lo unico que sabe hacer es leer dicha tabla. PARTICIONES EN UN DISCO DURO Bien. José manuel Tella Llop Lo mas normal es que intente su carga desde un disquete primero. busca la particion "activa" o "rrancable" y carga en memoria su sector de "boot". precisamente la carga (el inicio de la carga) desde disco duro. Todos los sistemas operativos tienen un FDISK o similar. se le llama tambien MBR (Master Boot Record). y matizando precisamente en esta opcion. el responsable de crearlo es el "format". Recordad que el tamaño de un sector es unicamente 512 bytes. de donde termina. Linux. que coincide precisamente con el arranque estandard desde un disquete.. o sector 2 "boot" del disco que hemos citado anteriormente). por definicion un disco duro permite hasta 4 particiones. Este se realoja en otra posicion de memoria... No puede tener más y la explicacion. sector de donde empieza una particon. lo crean exactamente igual. sector de comienzo y allí carga en memoria el primer sector que encuentra y lo ejecuta. Lo comentado en el parrafo anterior es la opcion por defecto de casi todas las bios. Cada elemento de la table. Las ventajas que tenemos con esto son: 1) Se iniciará la carga mas rapidamente ya que no irá a buscar a disquete. cabeza.. secundaria etc. tiene los datos de cabeza.. va a la posicion del cilindro. 2) No tenemos el riesgo de habernos dejado un disquete en la maquina con un virus del boot.. el tipo de particion (hay unos codigos para FAT 16. El mini-programa de este sector. Casi todas las bios. buscar si existe una particion "arrancable" y si existiese. Este sector de boot. 31 .

.. tiene como tarea el reconocer la particion "activa" y con ello. Veamos cada entrad de 16 Bytes que define una particion. Ya que este codigo de programa... La bios lo carga en la poscion de memoria 0000:7C00 siempre que no encuentre un disquete en la unidad A:. Si los dos ultimos bytes de los 512 de este sector contienen el codigo 55h. por definicion.. cargar su sector de arranque y comenzar la ejecucion del codigo de programa que allí está contenido. primeramente.. Direccion +000h +1BEh +1CEh +1DEh +1EEh +1FEh Contenido Codigo de la particion Tipo Codigo 1ª entrada en la tabla de particiones 16 Bytes 2ª entrada... El codigo de programa que hay en este sector de arranque... merece la pena que echemos una mirada al sector de particiones o MBR.. el codigo de particion.. se ha de encontrar en la posicion de memoria 0000:7C00. Es el primer sector del disco duro (cabeza 0.. 3ª entrada... se desplaza a la posicion de memoria 0000:0600 y con ello deja espacio para el sector de arranque. cilindro 0... sector 1)... 4ª entrada.... que es lo que contiene: Direccion Contenido +00h Estado de la particion 00h = Inactiva 80h = Particion de arranque +01h Cabeza de lectura/escritura donde comienza la particion. Este es el sector que siempre arranca la BIOS primeramente antes de cargar ningun sistema operativo....DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . José manuel Tella Llop Pero antes de continur con esto... 32 Tipo 1 BYTE 1 BYTE ... Identificacion AA55h 16 Bytes 16 Bytes 16 Bytes 2 Bytes Longitud= 200h = 512 Bytes...AAh (hexadecimal) considera este sector como ejecutable y comienza la ejecucion de programa en el primer byte de ester sector una vez se ha cargado en la posicion de memoria anterior... EL SECTOR DE PARTICIONES El llamado sector de particiones es creado por FDISK en su primera llamada (con un disco recien adquirido y sin preparar) o cuando ejecutamos el comando FDISK /MBR. el sistema operativo a ejecutar..

etc 1 BYTE +05h Cabeza de lectura/escritura donde termina la particion... 2 BYTES +08h Distancia del primer sector de la particion (Sector de arranque) 4 BYTES +0Ch Numero de sectres de esta particion 4 BYTES Longitud = 10h = 16 Bytes Luego las funciones del programa de boot (MBR) del disco duro son: 1) Localizar el sector de arranque de la particion activa...DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . SU SIGNIFICADO Y SU CREACION 33 .0 > 32 Megas DBh = Concurrent DOS . es creado al dar un FORMAT a la particion) PARTICIONES.. En el caso de MSDOS o WINDOWS.. para esto se recorre las 4 entradas de las 4 posibles particiones para ver cual es la activa..palabra) 2 BYTES +04h Tipo de particion 00h = Libre 01h = DOS con la vieja 12-bit FAT 02h = XENIX 03h = XENIX 04h = DOS FAT 16 05h = Particion extendida 06h = Particion DOS 4. 3) Volver a cargar los 512 primeros bytes de esa particion en memoria y ceder el control (este es el verdadero sector de arranque del sistema operativo.... José manuel Tella Llop +02h Sector y Cilindro donde comienza la particion (formato WORD .. 2) Posicionar la cabeza de lectura escritura en dicha particion.. 1 BYTE +06h Sector y cilindor donde termina la particion..

FAT 16 y FAT 32 Bien. no es en el FORMAT en donde se le dice en tipo de FAT. no es ni mas ni menos que reservar un "trozo" (o todo) del disco para contener un sistema operativo o datos.. 4) Lo mejor sería tener numerados todos los "pedacitos" del disco... Si decimon que "N"... de alguna manera. La manera de crear / borrar paticiones bajo MsDOS (o en los sistemas operativos de microsoft). pero funciona y por suerte o por desgracia lo hemos heredado. para ser capaces de almacenarlos y recuperarlos rapidamente?. Sabemos "por diseño" que la minima cantidad que entiende un controlador de disco son 512 bytes. es mediante el comando FDISK. deberemos ser capaces de buscar rapidamente sitios no utilizados en el disco para poder grabar un archivo nuevo. José manuel Tella Llop Una particion... Esta pregunta a lo que realmente se refiere. Vamos a hablar un poco de ellas. Pero como esto es delicado por si acaso. ¿no sería mejor tenermos en un indice tambein al inicio del disco para saber si está libre o ocupado?. debemos guardarlo siempre en el mismo sitio para que el sistema lo busque rapidamente. Al contrario de lo que cree mucha gente. 3) Ademas. es que si decimos "S". vamos a tener 2..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ... 5) Pero 512 es poco.. Vale. ¿como lo diseñaron? Pues mas o menos razonando de la siguiente manera: 1) Evidentemente la manera mas rapida de acceder a un archivo. Es decir se grabará de 512 en 512.. la particion que vamos a crear en ese momento. 2) Sí tenemos un "indice". Ya veremos cual es el tamaño mejor. siempre es si tenemos un "indice" a donde está ese archivo. de los cuales heredamos el actual windows. los primeros programadores del MsDOS. pues parece correcto. imaginemos que ya tenemos un "pedazo" de disco.. * La primera pregunta que nos realiza FDISK es si queremos soporte para grandes particiones (por defecto viene activada la letra "S" en windwos 98). tuvieron que "diseñar" un sistema de archivos. Se admiten ideas. Imaginemos ahora que queremos guardar allí archivos. vemos que hemos introducido un concepto: FAT 16 y FAT 32.. El original y otra copia de él. Bueno.. Y se decidió darle en nombre de "cluster".Correcto.. ¿por qué no agrupamos pequeños grupos de 512 bytes?.. ¿de que manera "fisicamente" puede hacerse. Pues tenemos que dar un nombre a esta "agrupacion". El diseño.. la particion a crear será FAT 16.. sino justo en el momento de crear la particion.. será FAT 32. Antes de continuar con las particiones. quizá no sea el mejor (seguro que no). 34 . Pensemos un poco. 6) Ahora bien. si tenemos "cluster".

Hemos dicho que en el directorio está el numero del "cluster" en donde comienza el archivo. etc. Pues. desde cero a 65535. el segundo pedacito de nuestro archivo). le ponemos la direccion de este nuevo "hueco" y a este hueco le llenamos con unos binarios (y grabamos en ese cluster. Y ademas. con contenido uno o cero. Vamos a utilizarlo. o "tabla de asignacion de archivos"). Supongamos. Una vez encontrado recorremos la FAT de 2 bytes en 2 bytes (16 bites = 2 bytes).. al inicio del proio disco. "Oculto". 12. continuamos recorriendonos la FAT para buscar el siguiente "hueco" a ceros.1) Primero se busca un hueco en el directorio.. que el tamaño del cluster es 4 Kbs.. 9) Y ahora su contenido. vamos a ver como guardariamos un archivo de 7150 bytes. José manuel Tella Llop 7) Bueno ya tenemos un indice para tener los archivos. Entonces. Supongamos que cada entrada en la FAT es de 16 bites y recordad que el numero maximo en binario que puede tener con 16 bites es 2 elevado a 16. su tamaño en "bytes". Vamos a llamarle "Directorio principal"..3) Como el archivo tenia 7150 bytes y hemos guardado 4 Kbs... Entonces para grabar un archivo nuevo.. Pero si está ocupada..1) 35 . Ahora miramos si el archivo ocupa mas tamaño de un cluster. pues todas estas caracteristicas comunes las guardamos en el "directorio". Pues nos guardamos dicho numero en el directorio. y asignamos todos a unos binarios en esa posicion de la FAT. 10) ¿y si cada "entrada" en la FAT. que nos dijese 1 o 0 para saber si está libre o ocupado. que su contenido sea distinto de cero pero puede ser perfectamente el numero del siguiente cluster que utiliza el fichero. es decir.. "la fecha de modificacion". 11) Parece que encaja. Facil: crearnos una "lista" de apuntadores al disco. Si es así. y de paso.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Igualmente guardamos en el cluster fisico del disco el primer pedacito de nuestro archivo. "la fecha de creacion".. Pero ¿que tal si utilizamos esto para algo más?. quiere decir que para guardar el resto. Esto nos indica que ese cluster del disco estará vacio o se puede utilizar. indica que el "cluster" numero 64 del disco está libre. en que "cluster" comienza. Vamos a llamarle FAT (File Allocation Table. en el caso de utilizar mas de un cluster. Con la suposicion anterior. 8) Y como podemos ahora guardar un archivo.. lo definimos de "n" bites de tal manera que tengan un cero si está libre. 12) ¿que estamos haciendo con lo anterior?. Allí grabamos su nombre y sus datos de fecha... "Solo lectura". tamaño. si es el "ultimo" cluster del fichero. Bueno. realizamos la secuencia definida en 12.. primero buscamos un hueco en el directorio. A ver ¿que nos hace falta saber de un archivo?. La FAT en principio podría ser simplemente un bite por cada cluster del disco. en vez de ser de 1 bite. Ahora vamos a la FAT. Del tipo "rchivo". y en el cluster 64 real del disco grabamos los 4 primeros Kbs del archivo. debemos guardar otro pedacito de 4 Kbs. "Sistema". Grabamos unos binarios en esa posicion de la FAT. en la posicion ANTERIOR que habiamos grabados unos binarios. La recorremos buscando una posicion que tenga "ceros". ¿Como lo hemos buscado?. 12. vamos a ponerle tammbien "atributos".. atributos. Tambien tenemos unos pequeños indices o tablas que nos indican si un "cluster" está libre o ocupado. Como vamos de 2 en 2 bytes. Por ejemplo todo a "unos" binarios.2) Entonces guardamos el numero 64 en el directorio. "Su nombre". Y así continuamos hasta el final del archivo. 12. Bien hemos hablado de la FAT. Imaginemos que encontramos "cero" en la posicion 124 desde el inicio de la FAT. Cuando lo encontremos. pues podemos ponerle una marca.

.. Por ejemplo el 250 (esto indica el cluster 125). ya no es 65535. se amplió el tamaño de fat a 32 bites (o 4 bytes). Bien. Se le llama 16 porque utiliza 16 bites para cada "apuntador". Simplemente y debido a la limitacion anterior. 2) Crear o borrar una particion con FDISK 3) Inmediatamente despues. sabemos que solo podemos tener hasta 65536 pedacitos. 4 . nos dá la cantidad de 2 Gigas maximo.4) Si nos fijamos. Como consejo. Y ahora la FAT 32. esto no es verdad.476. entonces el tamaño maximo del disco sería: 68. Con esto el numero maximo que cabe. es importante. Guardmos el numero 125 en la posicion anterior de la FAT en donde habiamos guardado unos binarios.... Ademas sabemos el tamaño total de la particion. 32. Por tanto la particion maxima que podemos tener en FAT 16.. mas espacio podriamos perder. El resultado lo redondeamos hacia arriba a un numero que se multiplo de una potencia de dos. Realmente en el proceso anterior que hemos supuesto que el tamaño del cluster era 5 Kbs. Pero una marca muy importante.295 y como el tamaño maximo de cluster se define aquí en: 16 Kbs. Es simplemente un "marca". tal y como definimos antes. está limitada a 2 Gb.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Aunque parezca una tonteria.. salir y reiniciar el ordenador (boton de reset). Logicamente a mayor tamaño del cluster. se debria limitar el tamaño maximo del cluster. CONSEJOS UTILES (Y NECESARIOS) * Recordad que tal y como hemos comentado antes.. ¿como calcula el sistema operativo cual va a ser el tamaño del cluster?. ponemos unos binarios en la posicion actual y guardamos otros 4 Kbs.294. y el numero que nos salga es el tamaño del cluster. un disco soporta 4 particiones maximo. Sinoi lo hacemos así puede que la particion no sea creada correctamente. 13) Pues lo que acabo de describir es el funcionamiento de la FAT 16. Se consideró que para no perder mucho espacio... Por tanto 32 Kb * 65535 maximos posibles cluster. ya que el sistema operativo lo va a hacer caso. O sea a 2. 16. 6.. ha quedado la lista: 64->125->unos binarios (o marca de fin). se debe seguir esta secuencia (IMPORTANTE): 1) Arrancar con la tecla CTRL pulsada y seelccionar "Solo Simbolo del Sistema). Es decir en modo MsDOS "puro".719.. 12. cuando querimos guardar unicamente 7150.967.. Pues el sistema divide el tamaño en Kbs entre 65536.736 es decir 68000 Gigas (o lo que es lo mismo 68 Teras). Por tanto se deperdicia un espacio. en el cluster real 125 del disco. TIPOS DE PARTICION Habiamos hablado de dos posibles tipos de particion: Promaria y Extendida (o secundaria). Y se definió así que el tamaño maximo del cluster debia ser 32 Kbs. 36 .. o bien arrancar con el disco de inicio de win98. José manuel Tella Llop es decir buscamos el siguiente hueco.. Y ademas hemos "utilizado" 8 Kbs fisicos del disco... sino 4.

Lo unico que nos quiere decir.. Por cada particion primaria que se encuentra. En este primer proceso ignora las extendidas.. el volver a partir la partcion extendidad en otros pedacitos. estos sistemas operativos. Eliminar una particion o unidad logica del DOS 4. SIEMPRE (insisto). le daría la D:. continua asignando letras a todas las "subparticiones" dentro de cada particion extendida que se encuentre. será FAT 16. Por tanto a la del primer disco. la particion (unica) creada. ¿cual?. y ahora en el segundo creasemos una primaria. Y ademas.. en vez de primaria es secundaria. Si decimos que "S" a esa pregunta. El sistema se recorre todos los discos buscando particiones primarias en TODOS (repito).. etc. se recorre primero todas las particiones primarias. Repetir el ejercicio anterior. ahora empueza a busczar particiones extendidas. permiten a su vez. Bien esto es IMPORTANTE. Por cada "pedazo". lo anterior no podría ser. el sistema le asignará una letra de disco. y ademas queremos "entero" el segundo disco. como lo queremos: FAT 16 o FAT 32. Ademas. y el segundo la E: Pues bien. si tenemos mas de un disco. y ahora empieza con las secundarias. C:. Basicamente continene 5 funciones.. El disco de arranque (el C:) del sistema operativo.. la partcion que creamos en ese momento será FAT 32. realmente está camuflada. una vez creada una particion. Ademas que al primer disco le queremos tener "partido" en dos... a "compatibilidad para discos grandes". José manuel Tella Llop En el caso de los sistemas operativos de Microsoft. le daría la C:.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Como tiene una primaria. si creamos en el primer disco una particion primaria y una extendida. Esto no es lo que queriamos. Facil. * Recordar que SIEMPRE. le asigna una letra consecutiva de disco. es que lo que vayamos a crear en dicha sesion. ** ¿Para que nos puede ser util lo anterior?. Imaginemos que tenemos 2 discos. FDISK * La primera pregunta. y por tanto a la particion extendida del primer disco. D:.. Cuando se ha recorrido TODOS los discos. Mostrar informacion sobre la particion 37 . suponiendo que en el segundo disco. hay que salirse de FDISK y reiniciar el ordenar.. debe tener obligatoriamente una particion primaria. le daria la E:. empezando otra vez desde el primer disco. ya que por los razonamientos anteriores.. la deja igualmente marcada como "arrancable". unicamente nos deja crear una particion primaria y una particion "extendida". queremos que el primer disco fisico. Cuando las encuentra. al ser la particion primaria del C:. El propio FDISK. ahora va al segundo disco... Vereis como "sale" lo que queriamos hacer. 1. Si decimos que "N". tenga las letras C: y D:. Crear una particion o una unidad logica de DOS 2. Establecer la particion activa 3.

Particionarlo.. lo primero sería cambias la unidad de disco (opcion 5). * La opcion numero 1).. Mi consejo es siempre el mismo. luego volver a entrar y crear la particion que queriamos. esto no debe preocuparnos. Es necesario el haberlo intentado al menos (sé que me explico muy mal. Existe mucha discusion sobre el tema y entiendo que es debida a una mala informacion (o desinformacion) por parte de Microsoft al anunciar la FAT 32. tienen una marca que le indica al sistema si es "activa" (arrancable).. ya que estas estan limitadas a 4 posibles discos. unicamente asignan dicha interrupcion a los 8 primeros discos que se encuentran. Cambiar la unidad actual del disco duro Antes de hacer nada.). se hace necesario "quitar" alguno para que el nuevo disco entre en los limites de los 8 anteriores. una extendida o bien "dentro" de la extendida. dependiendo del sistema) los tiempos de acceso a disco". lo primero. Cuidado con esto.. Recordar que le FDISK unicamente las unidades a las cuales la bios les ha asignado la INT 13 de acceso a disco. creyendo que estamos en otro disco.. Las particiones primarias. Por tanto empezemos a "pensar" un poquito: 38 . no hay perdida de datos. * La opcion 3) corresponde a borrar una particion. Bien en el caso de tener mas de 8 discos fisicos. debe estar "activa" (opcion 2). por si acaso en algun momento nuestro sistema no arranca. nos dicen que nuestro sistema irá un 33% mejor.. y ademas hemos visto las particiones y como crearlas. solo pone la "marca". Evidentemente la particion primaria correspondiente a nuestro primer disco fisico. saber que existe dicha opcion. borrar una particion de un disco. O bien borrar unidades logicas dentro de una particion extendida (sub-partiones). Ahora que analizar un poco cual es la mejor de dichas opciones. Por tanto. este está "apuntando" a nuestro primer disco fisico. ya que por error podriamosm por ejemplo.. borrar y debemos salir y reiniciar la maquina. En principio. nos permite crear una particion primaria. siempre la pone la marca de "activa". José manuel Tella Llop 5.. Esto no causa Problemas a uien tenga unicamente unidades IDE. para "particionarlos" con FDISK..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Si borramos y deseamos crear una nueva. Los programas por ejemplo.. Otra solucion sería utilizar herramientas de terceros para particionarlos. FAT 16 y FAT 32: VENTAJAS E INCONVENIENTES * A astas alturas supongo que tenemos "asimilado" un poco los capitulos anteriores. al crear la primera particion del primer disco. La opcion 2). De todas maneras. debemos saber que nada mas arrancar el FDISk. *no* hay marcha atrás. (normalmente las utilidades que nos sumnistran con las tarjetas SCSI. Las bios (todas) por diseño. * Conocemos ya un poco de FAT 16 y FAT 32. y si hacemos esto.. de instalacion de windows 98.. La frase "real" debería ser: "puede ahorar hasta un 33% de espacio en disco. y menos sin una "pizarra" para dibujar. y luego volver a poner las unidades quitadas.. penalizandose (ligeramente. Esta frase es totalmente incorrecta... pero al menos se debe intentar comprender.. el FDISK está limitado a esos 8 primeros discos ("discos" fisicos). es decir. ya que el propio FDISK. Si queremos operar sobre otro disco. Vamos a ver esto ultimo con detalle.. suelen tener un software de este tipo. NOTA: (para quien tenga ademas dispositivos SCSI). crear unidades logicas (es decir realmente crear "subparticiones" de dicha extendida como si esta fuese un nuevo disco. debido a que son conscientes de esta problematica). No es "destructiva"..

se hace necesario "varios" accesos a la FAT.. que en este caso. 3) Por tanto el sistema operativo "intenta" tenerla en memoria siempre para ahorrar accesos a disco (debido al punto 1). 2) Y ademas es peligrosa. Totalmente aceptable para tenerlo en memoria y actualizarla a disco en el momento en que es actualizada en memoria. 39 . independientemente de donde instalemos el NT (es decir independientemente de si la particion real de instalacion es FAT 16 o NTFS). 4) El disco C: no puede ser FAT 32.. son 32 bites (4 Bytes). Y como es FAT 32. que una tabla de casi un millon de elementos (al menos y dependiendo de que disco tengamos) 3) Se penaliza cada actualizacion de un archivo ya que hay que reescribir todo o parte de la FAT en disco. es un tamaño maximo de 256 Kbs.. ** El punto 3) nos implica varias cosas. intenta escribirla inmediatamente a disco (debido al punto 2). Y ademas una vez que se "actulice" por la grabacion de un archivo. Pensemos un poco ¿que tamaño real tiene la FAT?. pues muy mal: un disco tipico de 3. ya que si se daña perderemos informacion.2 Gb. B) VENTAJAS 1) Se puede superar el limite de 2 Gb por particion. 2) Se utiliza mas CPU en la busqueda en memoria de las entradas en la FAT (es dirente recorrese "muchas" veces una tablita de 65000 elementos maximo.. es "bastante" mas grande. Y la FAT 32.. Es decir en total 3. sí que puede llegar al famos 33% anunciado por Microsoft. 2) Como el tamaño de "cluster" es menor.. Recordemos que la FAT 16 tiene un maximo de 65535 entradas cada una de 16 bites (2 bytes)... Tanto para leer un archivo o para grabarlo. tiene 800. "ahorramos" una cantidad de espacio en disco. Como existen 2 FAT por seguridad. si deseasemos instalar ademas un sistema operativo diferente de win98. y en un disco tipico de 2 Gb.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ... Es decir. Se utiliza para todo. Pero ¿y en FAT 32?.. Es el "indice" de cómo están los archivos en el disco duro. Y ademas si actualizamos un fichero. tiene un tamaño maximo de 128 Kbs. Por ejemplo NT 4 obliga a que el disco de "boot" del sistema sea FAT 16. (depende del numero de archivos este ahorro de espacio). FAT 32 frente a FAT 16 con una CPU PII 400.000 entradas en la FAT (en FAT 32). on aproximadamente del 7% de perdida de rendimiento en FAT 32. ** Las medidas tipicas de penalizacion en un disco.4 megas que el sistema intenta tener en memoria para no penalizar los accesos. ** CONCLUSION: A) PENALIZACION 1) Se utiliza bastante mas memoria real para FAT 32 que va en detrimento de la memoria "ejecutiva" de programas.2 Megas y por dos copias de la FAT son: 6. José manuel Tella Llop 1) La FAT es importantisima. intenta escribirla inmediatamente en disco..

. Un ejemplo que realmente sorprendió a todo el mundo de la programación. casi"... para que el sistema operativo. que la siguiente tarea era "cargar" el MBR del disco... y si veis que es un poco lioso.... ahora que hemos introducido un poco la FAT.. que "cisco" se tiene que montar. e inicializacion del hardware. Hemos introducido tambien." en el punto en que la bios habia finalizado el reconocimiento. con lo cual podiamos seguir haciendo cosas. LA BIOS. iba sacando hojas.. asignacion de IRQs... Pensar que mientras estamos tecleando algo... si que "parece" que está hacindo multitarea. si pensamos un poco en la que está haciendo.. por ejemplo. y le había cedido el control a dicho programa. el que sea. Esta tontería que ahora no nos llama en absoluto la atención.. La diferencia de tamaño es el espacio "perdido" que "casi.. podremos recuperarlo con una FAT 32.. Es un tema dificil de explicar. causó furor en el mundo de la programacion.. solo para pulsar la letra "A" y que esta aparezca en pantalla. * Bien. fué en los primeros años del MsDOS. la culpa es unicamente mia.S. sino que a la vez.. Inmediatamente a "destripar" el programa para ver dos cosas: 1) Como se creaban los residentes en MsDOS (no estaba "documentado") 2) Como hacer o "simular" una multitarea.. está actualizando el "reloj" del sistema. manejar el teclado y acceder a disco. (esto hay que leerlo despacio. este es el ejemplo más sencillo. Mas adelante veremos por ejemplo. José manuel Tella Llop NOTA: Existe una manera de "ver" cuanto espacio tenemos "perdido" en el disco por culpa de los "cluster" de gran tamaño. la bios ademas de la inicializacion del hardware.. y tampoco es imprescindible para continuar con estos capitulos. Recordad que en esa epoc ademas. 40 ... Es sencilla: a) Abrimos una ventana msdos b) tecleamos: dir \*. arrancar siempre en modo real tal y como vimos anteriormente).. las impresoras iban muy lentas. PREPARACION DE LA MEMORIA REAL PARA INICAR UN O. inmediatamente antes de iniciar dicha carga. Aunque el procesador en modo real y en MsDOS no es multitarea... no solo lo muestra por pantalla. Y la impresora mientras tanto. cuando Microsoft sacó un programa residente "print". las rutinas "minimas" para escribir en pantalla.. particiones y discos..* /s/v Esperamos a que finalice. sea capaz de comenzar a hacer algo. ya que los sistema intel.. que realmente es un mini-programa. pero maravillosamente con el comando print empezaba a imprimir un archivo. tiene su "miga".. Como ha preparado la memoria real (por debajo del mega. que hace la propia bios...DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . **** Es interesante. se encarga de crear una serie de estructuras en memoria y deja ademas en ella.. Pero es importante saber. y nos mostrará los bytes utilizados por los archivos y los bytes "asignados" a esos archivos. Pero por "culturilla" lo cuento aquí). y dejaba "libre" la pantalla el teclado. retomar "Desde que pulsamos el boton de nuestro PC.

Entonces. que cada vez que se activasen se cediese el control a cierta rutina. En dicho diseño.. una interrupcion. Y ademas la intruccion maquina INT para provocar una interrupcion. sabemos que hay interrupciones cada cierto tiempo. "ademas" de eso. "colguemos" en vez del IRET.. Por tanto... Y la idea. Recordar que habia 16 IRQs (del la 0 a la 15). Más adelante veremos estas interrupciones). una rutina nuestra que haga lo que queramos. En principio la que queramos... No son necesarias tantas. es decir desde la direccion "cero" para contener las direcciones de esas 256 posibles rutinas (o programas que son llamados) de interrupcion. Bién. La manera de invocarlas por software en INT 21h (por ejemplo). Para el mundo "real" del procesador. Evidentemente no todas las posibles 256 interrupciones están ocupadas. Pero está la posibilidad de que nosotros.. Por tanto 256 * 4 = 1024. para su epoca. se definieron 256 posibles interrupciones. Es decir: no hacen nada. sus primeros "pinitos" es construir residentes. en nuestro programa. se pensó en implementar por hardware dentro del procesador de una serie de interrupciones "software". Es decir de la direccion 0 a la 1024 "fisica" de la memoria de nuestro PC. Me explico: por definicion. no estuvo mal. Está ya perfectamente documentado. una direccion de memoria es un "segmento" y un "desplazamiento".. no de hardware como las que vimos al principio de estos capitulos. Por ejemplo existe una interrupcion que se activa 11 veces por segundo y que se encarga de mantener el reloj de nuestro PC. se reserva para tener 256 posibles direcciones de las rutinas de dichas interrupciones.... Genial idea.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Relativamente facil. Este es el concepto basico de multitarea: reparto de tiempos de una CPU entre varias tareas. * Pero la pregunta es ¿como podemos hacerlo?. entonces se reservó el area de memoria mas "baja" de la maquina. es "disparar" unas interrupciones "software" cada vez que sucede una interrupcion "hardware"..... INTERRUPCIONES SOFTWARE En el diseño del primer procesador Intel de la serie X86 (de los cuales derivan por compatibilidad los Pentium actuales). pues ya tendriamos activo el "print". 41 ... Pasemos ahora a ver las interrupciones "software". Es decir 4 bytes. Esto hace que el procesador salte a la direccion 21h * 4 y allí se encontrará a su vez con la direccion que apunta a la rutina que dá el "servicio" a la INT 21h. las no ocupadas apuntan a una instrucción IRET (volver desde interrupcion). "interrumpe" el programa que se esté ejecutando y cede control a una rutina.. ppues lo que la bios hace. No tiene ningun merito. Si fuesemos capaz de que esa rutina de actualizcion del reloj. Por deficion. José manuel Tella Llop Ahora cualquier programador.. A base de manejar interrupciones (interrupciones de "software". por ejmplo. enviase una linea a la impresora.

* Veamoslo con un ejemplo real. Y hasta uqe no estén activas la INT 09 y 16h.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . lo que hace. no podriamos ni "ver" las letras en la pantalla. Por lo tanto ademas. pensemos que lo hace "casi" instantanemanente nada mas encender el PC. Esta. Esta interrupcion software.. Allí puede saber la tecla pulsada y no solo eso. hay que sacarla en pantalla.. la INT 09h lo que hace una vez analizada la tecla pulsada en cuando tengamos disponible ya el caracter. *** Todos un verdadero lio ¿no?. ALT). y pega un salto a la zona de memoria que esté apuntada por el contenido de esa direccion. Esta activacion. el encargado de situar estas rutinas "basicas" y de generar la tabla de interrupciones es la bios. La INT 51h lo que hace a su vez. Y vemos que eto ultimo es casi instantaneo!!!!. suceden 2 interrupciones una en le momento de pulsarla y otra en el momento de soltarla -y otra más por cada ciclo de tiempo que la tenemos pulsada-. esa rutina existe. Bien lo primero que sucede es una IRQ 1. ahora se deben emitir las correspondiente interrupciones tambien software para "activar" el altavoz.. Se supone que en esa zona de memoria "debe" haber un programa. Bien. Si no lo hiciese. Buen cisco se monta la bios nada mas encender nuestro PC. o una rutina que se encarga de analizar la tecla pulsada y ademas de "sacarla en pantalla". si es algun caracter especial como el anterior. José manuel Tella Llop La bios. Entonces ¿que sucede al pulsar una tecla?. Efectivamente.. lo ha definido tambien la bios.. Y todavia es mas complicado. dispara una interrupcion 50 a 57h "software". esto disparará la interrupcion software 51h. mediante los comandos IN vistos anteriormente. CTRL. no se podrá pulsar el teclado. ¿no? RESTO DE RUTINAS EN MEMORIA REAL 42 . entonces lo que provoca es que el procesador. Por tanto esas interrupciones software. Realmente el tema es un poco mas complicado. disparan de la 70 a la 77h. se emite una INT 16h que a su se emite una INT 10h. De echo. será tambien mediante comandos IN y OUT a unos puertos que son los correspondientes al "timer" para generar una onda de sonido hacia el altavoz del PC. hasta que no ha definido la INT 10h de video.. no podemos ver nada en pantalla. sino admeas si tenemos a la vez pulsada otra tecla (MAY.. en la interrupcion 10 h. busque en la direccion de memoria 51h * 4. es que cada vez que suceda una IRQ 0 a 7. Recordad que habios dicho al ver las IRQs que la IRQ 1 era la de teclado. Esto interrumpe lo que esté haciendo el procesador y tal y como acabamos de comentar. el "servicio" de video.. y es la propia bios quien la ha puesto allí. Una vez analizada la tecla pulsada. Igualmente las IRQs 8 a 15.. Por tanto. debe analizar dicha rutina. y ademas si en ese momento se está pulsando o "soltando" la tecla. (tambien software). Bien.. Es decir realmente al pulsar una tecla. deberán contener la "direccion" del programa o driver que va a manejar dicha IRQ. Si pulsamos un CTRl-G dá un "pitido" el altavoz. Si lo fuese. es invocar a la INT 09h. Ademas. lee del puerto de teclado.

SYS". busca en el directorio raiz de esa unidad. lo lee y ejecuta las instrucciones que lleva dicho archivo.. tambien podemos cargar un MsDOS desde el disco de inicio de win98. se le pasan parametros (contenidos) en los registro generales del procesador. Cuando se emite una interrupcion. Y ciuantos "bytes" hay que "traer" del disco. es el windows 98. Lo carga en memoria y le cede control para su ejecucion. sino un archivo de parametros del sistema que en cualquier momento podemos ver (no es aconsejable tocarlo)... la bios nos dá soporte "minimo" para acceso a disco. que acabamos de ver. Este archivo no es un archivo de ejecucion. un mini programa que lo unico que sabe hacer es buscar un archivo oculto en esa unidad de disco. intenta cargar desde disquete y si no puede lo hace desde el disco C:. contiene (si ha sido formateado con el sistema ... el numero del cilindro.parametro /S -).. Mas adelante veremos el posible contenido de este archivo. Por tanto cada INT. Bien. espera. la cabeza y el sector que queremos leer. ya ha sido capaz de deajrnos perfectamente preparado nuestro hardware y nuestra memoria con las rutinas basicas para empezar a hacer algo... por tanto lo primero que se cargaría sería un MsDOS. admite "parametros" o ordenes especificas de que hacer. ARRANQUE DESDE DISQUETE Supongamos ahora que la carga es desde disquete.SYS.. Empieza la busqueda por las unidades de busqueda que tenga definidas en los parametros de la bios. CARGA DEL SISTEMA OPERATIVO La bios ha terminado sus tareas y ahora decide cargar el sistema operativo. * EL IO. INT 13h. Por defecto.. * A continuacion. el IO. si es en escritura o en lectura.. etc. en un regustro general. Hay que empezar a cargar el sistema operativo.SYS inicia la carga y ejecucion. Sí el archivo existe. Vamos a imaginar que el sistema que queremos cargar... 43 . Lo primero que busca es otro archivo oculto en la misma unidad llamado MSDOS..SYS. Lo importante en esta parte.C.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . un archivo llamado CONFIG.. Por ejemplo. con un editor. Empieza la busqueda. windows 98 comienza su carga desde un MsDOS. José manuel Tella Llop Al igual que define los accesos a pantalla y teclado. Es decir. El sector de boot del disquete (el cual es creado con el format). es que aunque "todavia" no se ha cargado nada del sistema operativo. contiene el "sistema"). por decirlo de alguna manera. cargarlo en memoria y cederle control. O bien. Para ello... lee el primer sector fisico del disco: cilintro 0 cabeza 0 sector 1.. Y por supuesto. llamado "IO. la direccion de memoria en donde queremos que nos deje el dato. suele ser A. la bios. o desde un disquete formateado con el parametro /S (es decir.SYS. Y en otros registros generales. la de acceso a disco. Y ahora viene ese "algo".

Todo el resto sobra y son herencias del antiguo MsDOS. No es obligatorio que exista. Dichos comandos. y el sistema se nos queda en este punto. Es decir.SYS. si hemos arrancado desde disquete. Al igual que el CONFIG. * El COMMAND. busca a su vez la existencia de un archivo llamado AUTOEXEC. recordar de nuevo: en un disco duro. es obligado en este caso el tener CONFIG. tal y como debemos recordar de capitulos anteriores.sys que acaba de ejecutar previamente el IO. es como si ahora estuviesemos en la secuencia de arranque desde disquete que acabamos de ver. ARRANQUE DESDE DISCO DURO El arranque desde disco duro es ligeramente diferente. al igual que en el disquete. entonces lo carga en memoria y le cede control para su ejecucion. Una vez que la localiza. lo que puede contener son parametros del propio sistema y sobre todo.. Pero este miniprograma lo unico que sabe hacer.SYS y AUTOEXEC. es no andar tocando estas cosas. Lo primero.. y la misma secuencia de carga que la definida anteriormente. serian basicamente programas (no pueden ser ya drivers de dispositivos) y algun parámetro de configuracion (como el PATH por ejemplo) propio del interprete de comandos. Por tanto mi consejo. que al igual que el primer sector de un disquete.BAT tampoco lo es. carga el primer sector del disco duro (cilindro 0. Solo si lo encuentra lo ejecuta. Como tambien es un miniprograma. cabeza 0.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . hay "viejos" programas instaladores. este sector en un disco duro es el MBR (Master Boot Record)..sys. el AUTOEXEC. 44 .SYS. carga otra vez.com sea el interprete de comandos. que es "identico" al que tiene un disquete. la "ñ". Uno el MBR que ha sido creado con FDISK. NOTA: debido a que en España o en otros paises distintos de USA. Ambos son necesarios para el inicio del sistema operativo.SYS. podria haberse cambiado este interprete.. el IO. que tocan estos archivos y lo unico que hacen es dañar nuestra configuracion de windows. y otro el "boot" de la particion.SYS no era obligatorio. En el archivo config. o caracteristicas regionales) y teclados de acuerdo con el idioma.. Esto sería lo unico obligatorio.BAT tambien en el directorio raiz de la unidad de arranque y lo lee para ejecutar los comandos que allí existan. ** Es necesario... se utilizan tablas de codigos especiales (para los caracteres especiales.BAT con las "pocas" lineas de comando que definen tanto las tablas de codigos como el teclado. se carga en memoria y comienza su ejecucion.. es localizar la particion activa del disco duro (la primaria y "activa"). que windows pierda prestaciones por haber incorporado lineas indebidas en estos archivos. José manuel Tella Llop Basicamente el config. el "primer" sector de esa particion. inicia la carga del IO. hay dos sectores de boot.COM. por ejemplo los acentos... que ha sido creado con el FORMAT. * Supongamos que es el COMMAND. ** Bien. No es obligatorio (pero sí lo mas usual). esta habrá sido la secuencia de arranque. Pero en este caso. Es muy facil. carga de drivers de dispositivo. contiene un miniprograma que ha sido generado con el format /S. busca el COMMAND. Incluso todavia. Es decir al interprete de comandos. y decirle al sistema que utilice otro. Por tanto. sector 1). *A continuacion. que el command.

2 indica no preguntar antes de ejecutar Scandisk. indicará un "0" para NO y un "1" para SI... WinBootDir=<Directorio de windows> Defecto: Directorio donde reside windows (por ejemplo.. José manuel Tella Llop * Vamos a ver a continuacion.dat and W95undo. o bien pueden ser insertadas manualmente. CONFIG. por parametros de configuracion en los tres posibles archivos de los que hemos hablado. 45 . C:\WINDOWS) Proposito: Indicar al cargador del sistema desde donde debe inicarse windows.SYS y AUTOEXEC. Una opcion de 0 indica no ejecutar Scandisk. PARAMETROS DE CONFIGURACION . AutoScan=<Numero> Defecto: 1 Proposito: Define cuando o no. MSDOS.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .SYS.SYS ** Contiene dos secciones diferenciadas. UninstallDir=<Disco de "desistalacion"> Defecto: C Proposito: Especifica la localizacion de los archivos W95undo.MSDOS.BAT. C:\WINDOWS) Proposito: Localizacion del directorio de windows especificado durante la instalacion..... Son los ficheros necesarios para desistalar windows cuando se ha seleccionado la opcion de parmitir desistalar en caso de una actualizacion. No los posibles drivers (config) o programas (autoexec) que pueden ser ejecutados o cargados desde allí.ini. Scandisk va a ejecutarse debido a un apagado de maquina incorrecto.. La seccion [Options] puede contener las siguientes opciones.. La seccion [Paths] puede contener las siguientes opciones: HostWinBootDrv=<Disco en donde esta instalado windows> Defecto: C Proposito: Especifica la localizacion de en que disco está instalado windows. Pero unicamente vamos a ver en este momento los parametros de configuracion. NOTA: El valor "booleano" que aparece a continuacion.. 1 indisca preguntar antes de ejecutar Scandisk. WinDir=<Directorio de windows> Defecto: Directorio especificado en la instalacion (por ejemplo. pero preguntar antes de "fijar" posibles errores si estos fuesen encontrados.

sys y el autoexec. F6 y F8). NOTA: Esta opcion no está soportada en windows 98... Si está colocado a 0 se debe pulsar F8 cuando aparezca la frase "Iniciando windows 95" (o pulsar y mantener pulsada la tecla CTRL en windows 98 al inicio del PC). BootKeys=<Booleano> Defecto: 1 Proposito: Un valor de 1 activa el uso de las teclas de funcion (F4. BootSafe=<Booleano> Defecto: 0 Proposito: Si tiene valor 1. En este caso. con el valor de 0. permanecerá en el simbolo del sistema. NOTA: Colocando BootKeys=0 sobreescribe el uso de BootDelay=n.bat.. Proposito: Se utiliza para seleccionar la opcion del menu de incio de windows que se ejecutará por defecto.. José manuel Tella Llop BootDelay=<Segundos> Defecto: 2 Proposito: Cantidad de segundo en los que aparece la frase "Iniciando windows" y por tanto permite pulsar F8...DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. BootMenuDefault=<Numero> Defecto: 1 si el sistema se está ejecutando correctamente 3 si el sistema falló en el arranque anterior. arrancará windows automaticamente. para invocar el menú de inicio. activa el que siempre aparezca el menú de seleciion de incio. F5. el PC arrancará en el "modo a prueba de fallos". será necesario teclear "win" para que windows cargue la interfaz grafica. BootMenu=<Booleano> Defecto: 0 Proposito: Colocando un 1. en windows 95. BootMenuDelay=<Numero> Defecto: 30 46 . BootGUI=<Booleano> Defecto: 1 Proposito: Si tiene el valor 1... una vez ejecutado el config. Un valor de 0 desactiva el uso de teclas de funcion durante el proceso de arranque de windows..

fuerza a Windows 95/98 a arrancar).. presionando F4 con una opcion 0. NOTA: Windows 95 usa o Dblspace. BootWarn=<Booleano> Defecto: 1 Proposito: Un valor de 0 desactiva el aviso del modo a prueba de fallos al ejecutarse el menu inicio. (Por ejemplo. debe forzarse un valor de 0.. Colocando un 2. DBLSpace=<Booleano> Defecto: 1 Proposito: Un valor de 1 carga automaticamente el DBLSPACE. José manuel Tella Llop Proposito: Este valor es usado para colocar el numero de segundos que el sistema va a esperar en el menú de inicio de windows.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. DoubleBuffer=<Booleano> Defecto: 0 Proposito: Colocando un 1 activa el "double-buffering" para los controladores que necesiten esto (por ejemplo los controladores SCSI).bin o Drvspace.. Por ejemplo: 47 . BootWin=<Booleano> Defecto: 1 Proposito: Colocando un 1 fuerza a windows a cargarse en el incio.. es una opcion incondicional que activa el "double-buffering" mirando cuando el controlador es necesario o no. Un valor de 0 impide su carga..bin si alguno de ellos está presente en el directorio principal de C: Para desactivar esta opcion sino tuviesemos discos comprimidos. desactiva la opcion de "multi-boot" o arranque del "antiguo" o previo sistema operativo. BootMulti=<Booleano> Defecto: 1 Proposito: Un valor de 0.x previamente en nuestro PC) NOTA: Presionando F4 invierte el defecto de arranque solo si BootMulti=1. Un valor de 1 activa tanto la tecla F4 como la posibilidad en el menú de seleccionar la opcion de arrancar el sistema operativo anterior. NOTE: Esta opcion no tiene sentido a no ser que la opcicion BootMenu=1 haya sido añadida en la seecion [Options]. (esto solo tiene sentido si teneiamos instalado MS-DOS 5. antes de arrancar automaticamente sino seleccionamos ninguna opcion... Un valor de 0 desactiva windows como su sistema operativo por defecto..BIN..x o 6.

Unicamente en paises diferentes a USA. nos paparecerá la opcion "Modo a prueba de fallos con soporte de RED" como una opcion en el menu de inicio.SYS Teóricamente..sys no es necesario. Un valor de cero...BIN.850... debemos recordar que el config. José manuel Tella Llop DBLSpace=0 DRVSpace=0 DRVSpace=<Booleano> Defecto: 1 Proposito: Mismo sentido que la opcion anterior pero con DRVSPACE..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .CONFIG. deberían ser: device=C:\WINDOWS\COMMAND\display. Logo=<Booleano> Defecto: 1 Proposito: Si tiene el valo 1 hace que aparezca el logo de windows al arrancar. es conveniente probar a forzar un cero en esta opcion. No debería existir y es una reminiscencia del antiguo MsDOS. (y esto unicamente si tenemos un teclado diferente al teclado normal utilizado en USA) Las lineas a utilizar en España.BIN o DBLSPACE.COM o DRVSPACE.sys con=(ega.sys Y extrictamente no es necesaria ninguna linea más en el config.1) Country=034.C:\WINDOWS\COMMAND\country.. LoadTop=<Booleano> Defecto: 1 Proposito: Un valor de 0 no permite a windows cargar COMMAND... (en otros paises de America Latina. es necesario especificar un par de lineas en él debido a las clasicas configuraciones regionales. los parametros pueden variar ligeramente) 48 . PARAMETROS DE CONFIGURACION . Con el valor 0 se desactiva el logo de windows.BIN por encima de los 640 Kbs... libera una serie de interrupciones software que pudieran causar incompatibilidades con antiguos TSR del modo DOS o incompatibilidades con cierto manejadores de memoria de terceros. Si tenemos problemas de compatibilidad con alguna vieja aplicacion DOS. Network=<Booleano> Defecto: 0 Proposito: Con un valor 1.

José manuel Tella Llop ** Recordemos un poco de la historia del MsDOS y del antiguo windows 3. todavia es así por compatibilidad) llegar desde 0000 hasta A000 (esto corresponde justo a 640 Kbs. Exactamente igual el desplazamiento. o lo que es peor.SYS Todos los drivers de dispositivos. necesita por cuestiones de compatibilidad de la misma interface DPMI para iniciar su carga.SYS * Windows 98. Dicho driver era el HIMEM.. Es importante recordar. windows cargará el DBLBUFF. Por tanto la memoria real.. pero es opcional el declararlo o nó en el CONFIG. Por tanto esta es la maxima memoria real 49 . que era capaz de superar la barrera del mega. NOTA IMPORTANTE: Ademas de lo anterior. Por tanto es necesaria.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . La manera de sumarlos era desplazando un cuarteto el segmento y sumando entonces el desplazamiento para formar una direccion real. El segmento en hexadecimal.1 fué el primer sistema (mejor dicho. Me estoy refiriendo al EMM386. IBM definió la direccion del adaptador de video en el segmento A000. fue la primera interface grafica sobre el MsDOS -no puede llegar a la categoría de sistema operativo-). Igualmente recordemos. era necesario cargar aquí todos los drivers de dispositivos de los fabricantes (y alguno del propio Microsoft que veremos a continuacion). Es necesario tambien que recordemos lo que vimos en los primeros capitulos sobre la memoria real. y que si los ponemos. era capaz ya de poner a trabajar al procesador en modo protegido. Vamos a ver ahora un driver especial de Microsoft. que estos drivers ya no son necesarios en windows 98. pero a veces nos puede resultar necesario el instalarlo para poder utilizar viejos programas MsDOS.EXE. Es por el propio diseño de donde se encuentra el adaptador de video. (repasar los capitulos anteriores).SYS. Para ello... en el antiguo MsDOS. podia valer desde 0000 a FFFF. * Igualmente..sys. Por esto. Para poder estudiar el funcionamiento del EMM386. * Para ser capaz de realizar esto. o algun juego que requiere mucha memoria MsDOS.1.. se cargan con el comando DEVICE o DEVICEHIGH. es decir debido al funcionamiento del propio procesador de Intel en modo real). de perdida grave de prestaciones y velocidad dentro de windows 98. Este es un driver para suministrar un marco en memoria baja para todos los dispositivos SCSI que lo necesiten para transferencia de datos via DMA (esto se refiere a las antiguas tarjetas SCSI ISA cuya transferencia es DMA y que practicamente ya. debemos ser excesivamente cautos con este archivo de configuración y ademas vigilar despues de cualquier instalacion ya que todavia circula mucho software muy viejo el cual tiene la "insana" costumbre de tocar sin permiso nuestro CONFIG. podemos correr el riesgo de malfuncionamiento. aunque no esté declarado en el config... es necesario repasar un poco la memoria real por debajo del mega. necesitaba un manejador de memoria en modo protegido. que por diseño. podia (y por degracia. Este manejador fué un standard creado por microsoft como driver de DPMI (Dos Protected Mode Interface). * Windows 3.). Windows lo cargará de todas maneras. debemos tener presente que una direccion en MsDOS (debido al funcionamiento del hardware. estaba formada por una direccion de segmento y un desplazamiento. no existen). A modo recordatorio. Tambien es una vieja herencia..EXE. (Veremos este funcionamiento mas adelante)..SYS.

al escribir o leer en ese marco de pagina. si no tenemos mas tarjetas que tengan bios propia. otro tipo de memoria. Entonces. veamos que otras necesidades podiamos tener con respecto a ese posible "mega" de memoria. Se hizo así para que los antiguos programas que necesitasen EMM. * Existió antes de la especificacion DPMI de Microsoft. La memora Espandida. el cual nos permitiese ver la "nueva" memoria ahora definida como si fuese una memoria EMS de las que acabamos de ver. José manuel Tella Llop "contigua" que puede existir en el PC. Cuando se modificó el procesador 8086 en sus sucesores. Se decidió entonces crear un controlador "logico" EMS.. Es decir en un momento determinado. aunque no es una norma). la cual se "movia" a lo largo de esa memoria EMS (o memoria LIM).. Cambiando simplemente una direccion en el PC. allí hay 196 Kbs.. nos estabamos moviendo en pequeños bloques de 64 Kbs por encima del mega. Esta memoria era contigua y por tanto muy diferente a la memoria manejada por el controlador fisico de EMS. Debemos recordar tambien que desde la C000 hasta la F000 (en la cual se encuentra la bios). Esa memoria se direccionaba mediante la programacion del chip. Una tarjeta especial con un chip controlador. De esta manera.0. su direccion en C000 hasta C7FF. 50 . la cual suministraba el concepto de memoria XMS (eXtended Memory System) o memoria Extendida. y de ellos... ** Microsoft en el MsDOS 5. Y ademas diseñó un driver (el EMM386) para recuperar dicho espacio y poderlo utilizar incluso para cargar posibles pequeños programas que se quedaban residentes en la maquina. esa ventana apuntaba a otro marco de 64 Kbs.....0 (y superiores)..10. A esta memoria se la llamo UMB (Upper Memory Block). pudiesen seguir funcionando. se identifica internamente con la version 7. ¿por qué no utilizar esos Kbs de memoria para meter algun driver de dispositivo?.EXE. O bien ¿por qué no utilizarlos para que el propio MsDOS meta allí sus rutinas. modificó el codigo del sistema para poderse cargar todo o parte.... en vez de utilizar el espacio de los primeros 640 Kbs? Efectivamente. diferente al anterior. cambiando simplemente unas direcciones. Es decir empezó a "crecer" dicho mega. Pero. cambiando la direccion de un puerto.. Dicha memoria lo que hacia era utilizar un marco de pagina (una ventana) que apuntaba a 64 Kbs de memoria en cualquier posicion por encima del mega.. tanto codigo como areas de datos reservadas. estabamos escribiendo realmente en una zona determinada por encima del mega. y nos hacia ver una ventana de 64 Kbs en la direccion fisica de memoria E000 de nuestro PC. estan en principio reservadas para otras bios de otros posibles dispositivos y tarjetas que puedan necesirtarlo.. esta idea surgió en el MsDOS 5. Antes de ver con detalle el EMM386. Esto en un principio era memoria hardware especial. en dicho espacio.. En particular la tarjeta de video tiene siempre (practicamente.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Podeis verificar con la calculadora de windows que A0000 en hexadecimal son justo los famosos 640 Kbs de los que hemos oido hablar por todos los lados. Era la memoria LIM definida por el consorcio Lotus-Intel-Microsoft.. el manejo de memoria unicamente cambió para poder ver mas direcciones contiguas por encima del mega en el modo protegido. Recordad que el MsDOS de windows 98. o memoria EMS (Expanded Memory System). unicamente 32 Kbs utilizados por la bios de la tarjeta grafica.

. Lineas de direcciones A00 a A19. comentó a algun tecnico de Microsoft. de esta manera no habría "desbordamiento") Es decir: F0000 FFFF ------FFFFF (FFFFF era la maxima direccion real que podia expresarse con 20 lineas de direccion: 5 cuartetos = 20) Bien. 51 .. mas la linea 21 (la A20) para manejar el "1" que nos sobra. algun ingeniero de intel. eran de 20 direcciones. el 80286 (los antiguos 286)...DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . se dotó de dicha funcionalidad al controlador EMM386. Curiosa en plan tecnico.. le "sopló" a Microsoft. para sumar el segmento 1234 al desplazamiento 5678. el software debería estar preparado.... las malas lenguas comentan que cuando se creó el primer procesador capaz de ir al modo protegido.. Es decir podriamos sumar: FFFF0 FFFF -----10FFEF Para esto necesitamos las 20 lineas del modo real. se hacia: 12340 5678 -------179B8 Y la maxima direcion que podia sumarse entonces era el segmento F000 (ya que como el desplazamiento iba desde 0000 a FFFF.. Recordad igualmente que para obetenr una direcion real. pues Intel. se hacia (por hardware) añadiendo un cuarteto con contentido cero a la direccion de segmento y sumandole el desplazamiento. Pero para esto. por lo que vamos a comentarla un poco. Es decir por ejemplo.. sería capaz de obtener otros preciosos 64 Kbs (realmente 64 Kb menos 16 bytes) de memoria real. por lo que pido disculpas por salirnos un poco del tema. ** Y por ultimo. Veamos: la definicion de las lineas de direcciones en un 8086. que si se utilizaba el segmento FFFF. Esta historia es curiosa. que si era capaz de controlar la linea A20 de direcciones del procesador. sumando un segmento y un desplazamiento. José manuel Tella Llop Pues de paso.. con linea A20 activada no habría desbordamiento..

tambien es importante resaltar. ** Ademas. para poder utilizar dicha memoria. era el propio MsDOS.16 bytes. Pero con la linea activada.. Se definió tambien la combinacion RAM NOEMS. En particular.. En particular si queremos que el propio MsDOS pueda 52 . La manera de controlar la linea A20..sys. Y ahora el EMM386. esto solo indica que esta memoria estañra disponible para programas que "sepan" utilizarla. se procedio a modificar su nucleo (al objeto de enseñarle a "sumar" direcciones de 21 bites). que si ponemos el driver EMM386.. era facil.. El parametro RAM implica tambien memoria EMS (y por tanto utilizar el segmento E000 por defecto como marco de pagina). Y así nos puede llegar hasta 64 Kbs . entonces *SI* que es obligatorio poner primero el HIMEM. esa misma suma nos dá: FFFF0 00010 ------100000 es decir por encima del mega. Resumiendo: EMM386 tiene (o puede tener) tres funciones basicas: 1) Control de la memoria EMS (LIM) y creacion del marco de pagina 2) Soporte a la memoria UMB.EXE en el config. entonces por ejemplo: FFFF0 00010 ------00000 nos vuelve justo al comienzo de la memoria fisica. A esta memoria se la llamó memoria HMA (o HIGH).SYS en dicho archivo.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . José manuel Tella Llop Si la linea A20 no está activada. podia ser el encargado de comunicarse con el HIMEM para activar o desactivar dicha linea.. el parametro RAM suministra memoria UMB.SYS de por sí controla todas las lineas de direcciones. Como el "primer" programa que podia hacer uso correcto de ella. tomar control de dicha memoria y suministrarsela a los programas de aplicación. Y de pasó se le dotó al EMM386 de una serie de parametros para poder controlar esta memoria. si queremos unicamente UMB y no queremos marco de pagina... El HIMEM. ** Es importante indicar. que aunque pongamos el parametro RAM. 3) Soporte a la memoria HMA (HIGH).. Existen ademas otra serie de parametros que se salen del contenido de este capitulo.. Por tanto controla esta en particular. Pues ahora ya estaba relativamente sencillo.

.. y esto ademas obliga a tener el HIMEM.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ... es recordar que NO hac falta ningun parametro en el config. si que influyen en windows: pero NEGATIVAMENTE. ---------ACCDATE=disco1+|. es la teoria. Por curiosidad vamos a ver estos parametros y comentar su efecto tanto en MsDOS como en windows. Nos guardará la fecha de la ultima vez que hemos accedido a los archivos de un disco o nó (en funcion del + o del -).RAM visto en el capitulo anterior). José manuel Tella Llop utilizarla.. tambien. pueden resumirse en: DOS=HIGH.UMB (pero recordad que solo tendran sentido si tenemos el EMM386 con el parametro RAM.sys (en cualquier sitio)... lo unico que podemos conseguir es que windows funciones peor. se deberá incorporar en el config. 3) Lo que he comentado en los puntos 1) y 2). La practica nos demuestra.. Es decir. ---------NOTA: Algunos de los parametros que veremos a continuacion. ** Igualmente quiero insistir en tres cosas: 1) Estos parametros unicamente tendrán efecto en MsDOS no en windows.sys (excepto el DOS=HIGH. el propio MsDOS ya cargará automaticamente en memoria alta y sin necesidad de "forzar" esta situacion.. me estoy refiriendo a MsDOS "puro". Las ventanas MsDOS bajo windows no se ven afectadas por estos parametros.UMB que vimos anteriormente.. ya que por defecto windows nos informa de estos accesos. Pero esto no es necesario (y ademas es contraproducente). la linea: DOS=UMB Y por ultimo.disco2+|. para que el propio MsDOS pueda utilizar la memoria HIGH (HMA). 2) Cuando me refiero a MsDOS. si ademas hemos especificado el parametro DOS=HIGH. jugando con estos parametros. pueden terminar en la palabra HIGH.SYS ------------------------------** Lo primero y mas importante. que efectivamente.. Este parametro no tiene efecto en windows.. ---------BREAK [ON|OFF] 53 . Esto indicará que el MsDOS lo cargará en memoria alta si tenemos activo el EMM386..SYS) OTROS PARAMETROS DEL CONFIG.. Incluso la apertura de ficheros se hace a traves de windows en estos casos. se deberá igualmente incirporar la linea: DOS=HIGH Ambas lineas.

accederá al disco y por tanto de esta manera podremos pararlo. *NO* necesita ninguno. José manuel Tella Llop Sirve para activar la manera de "parar" un proma MsDOS. Por tanto se ahorraria "algo" de tiempo al arrancar windows.. Mi consejo es NO ponerlo. el MsDOS tambien chequerá el que pulsemos CTRL-C cuando va a leer o escribir en disco. Antes de que entre el procesador en ese modo. En caso de tener que poner algun driver (solo en caso de "extrema necesdad). Recordad que cada sector de disco son 512 bytes. en este caso y una vez que ademas hemos utilizado el HIMEM y el EMM386. influye negativamente en las prestaciones de windows el tener "poca" memoria real. pero de todas maneras. nos robará medio k de la memoria real. Pero el MsDOS.En un programa MsDOS. Es conveniente tenerlo. 54 . aunque nuestro programa no escriba en pantalla.. indica que es un "viejo" programa o necesario para un "viejo" dispositivo. De esta manera. cuando vá a escribir en pantalla o cuando va a leer desde teclado. Casi (pero no todos) todos los drivers admiten funcionar en memoria alta. sino tambien porque el propio windows necesita "parte" de la memoria real para cargar ciertas secciones de DLLs (normalmente DLLs de 16 bites heredadas del 3.. Por contra. podemos utilizar el DEVICEHIGH (en vez del DEVICE). Por tanto esto influye negativamente en el comportamiento de windows. No tiene ningun efecto en windows. si este parametro fuese elevado. por tanto cada buffer que asignemos. no se parará.m] Assigna memoria "real" para contener bufferes de disco.sys. Y no es conveniente tener *ninguno*. excepto el HIMEM. ---------BUFFERS=n[. pulsando CTRL-C podemos casi siempre teclear CTRL-C y pararlo.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .1). El poner alguno. podemos teclear BREAK y veremos la situacion en la que estamos.. Recordad que esta memoria es "preciosa"... se está utilizando todavia el antiguo sistema de apertura y carga de ficheros en MsDOS. Si nuestro programa no está haciendo ninguna de estas dos cosas en ese momento. nos disminuirá muchisimo nuestra memoria real. NOTA: En cualquier ventana MsDOS. y este parametro no será pernicioso tampoco para windows. Unicamente tiene efecto en MsDOS puro. Solo sirve para ahorrar unos segundos en el arranque de windows. -------DEVICE= DEVICEHIGH= Con estas lineas cargamos un dirver de dispositivos.SYS y el EMM386. no solo por la posibilidad de rodar antiguos programas o juegos MsDOS en ventana que requieren mucha memoria. Si tenemos BREAK ON en el config.. antes de que este entre en modo protegido. Ya hemos comentado que windows.. unicamente chequea el que hayamos pulsado CTRL-C. se supone que al menos. Y tambien tiene efecto al "arrancar" windows... No tiene ningun efecto bajo windows ni bajo las ventanas MsDOS bajo windows.m] BUFFERSHIGH=n[.

admiten "numeracion".UMB si utilizmos EMM386.0 (del año 82)..NOAUTO] No conviene andar jugando con este paramtro.UMB|. ---------FCBS=x FCBSHIGH=x Es un parametro viejisimo. antes de que este entre en modo protegido. Unicamente poner DOS=HIGH.. Por tanto se ahorraria "algo" de 55 . En este caso. puede que no queden "contiguos".. Evidentemente. si hemos puesto el EMM386 con el parametro RAM y utilizamos DOS=UMB. y alguno de red en modo real). ---------DRVPARM= Unicamnete a utilizar para disuqeteras *no* estandard. Pues bien.. que no debemos tocar esto para las disqueteras estandard que nos dan en nuestro PC... Unicamente tiene efecto en MsDOS puro.NOUMB][. Y tambien tiene efecto al "arrancar" windows. José manuel Tella Llop Existen especificos (sobre todo los de acceso a las antiguas tarjetas SCSI. todavia existe esta opcion. Es decir era necesario crear en memoria una estructura de control y pasarselo a las funciones de acceso a disco. Recordad que en el capitulo anterior. Esto ya no se utiliza (desde hace mas de 15 años).AUTO|.. Si no quedan contiguos. La instruccion DEVICEHIGH admite ademas la "region" de carga (con el paramtro /L. Pero por cuestiones de compatibilidad con los posibles programas MsDOS del año 82 que nos quedasen. pero es opcional). se está utilizando todavia el antiguo sistema de apertura y carga de ficheros en MsDOS. Mismos comentarios que he realizado para los BUFFERS: No tiene ningun efecto bajo windows ni bajo las ventanas MsDOS bajo windows. al numero del posible hueco en memoria superior. comentamos que hay huecos en la memoria superior que se pueden utilizar. --------DOS=HIGH|LOW[. Se llama "region" de carga.. como en teoria podemos tener varias "bios" de varias tarjetas en esos huecos de memoria. Este MsDOS abría los archivos mediante la tencica de "File Control Block". ---------FILES=nn FILESHIGH=nn Indica el numero maximo de archivos que puede tener abierta una aplicacion MsDOS. El intentar forzar la memoria de otra manera es unicamente para alguna situacion muy especifica (y totalmente improbable)... podríamos especificar así el "numero" del hueco UMB. Herencia del MsDOS 1.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . que no funcionaran o provocarán cuelgues aleatorios si los cargamos en memoria alta. Antes de que entre el procesador en ese modo. y en el de memoria real. normalmente el fabricante nos indicará que parametros debemos especificaer aquí. Evidentemente se caé de su peso.

Este parametro afecta a windows. --------REM Escrito por delante de cualquier linea. esto era posible unicamente en el AUTOEXEC.22. sino tambien porque el propio windows necesita "parte" de la memoria real para cargar ciertas secciones de DLLs (normalmente DLLs de 16 bites heredadas del 3. --------NUMLOCK=[ON|OFF] Indica si queremos que la tecla de bloqueo del teclado numerico esté o no activa.. En el MsDOS de windows 95 / 98. No es necesario ponerlo y se asumirá lo que esté definido en la bios de nuestra maquina. Recordad que esta memoria es "preciosa". por defecto es la letra Z:. Solo sirve para ahorrar unos segundos en el arranque de windows..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . pero de todas maneras. En los antiguos MsDOS.. era la F:. si este parametro fuese elevado. ---------SHELL=[[disco:]path]programa [parametros] Este comando *si* es importante.. no solo por la posibilidad de rodar antiguos programas o juegos MsDOS en ventana que requieren mucha memoria. por lo que no conviene tocarlo. No es necesario. Actualmente es posible en ambos sitios: en el config y en el autoexec. en el AUTOEXEC.. pero algunas veces nos 56 . --------LASTDRIVE= LASTDRIVEHIGH= Indica cual es nuestra "ultima" unidad o letra de disco. Si estas lineas se ponen..1). Por contra. influye negativamente en las prestaciones de windows el tener "poca" memoria real. José manuel Tella Llop tiempo al arrancar windows.. por tanto no debe tocarse.BAT.... Por tanto no se jecutará la instruccion que va a continuacion. se ejecutarán siempre al final del config. si no lo poniamos por defecto. --------INSTALL= INSTALHIGH= Equivale exactamente lo mismo que cargar un programa (no un dirver de dispositivo). independientemente de en donde las hayamos situado. la convierte en linea de "comentarios". Mi consejo es NO ponerlo. ---------SET variable=xxxxxxxx Permite especificar variables de entorno. En el antiguo MsDOS 6. nos disminuirá muchisimo nuestra memoria real.

Por tanto como nuestro sistema (y nuestro teclado) no está en USA. Pero recordad que el command.sys). José manuel Tella Llop puede ayudar a solucionar algun problema.. Podeis verlo dando command /? en una venta MsDOS. deriva de que Windows "hereda" todo el entorno que tenía al arrancar. asume que es el COMMAND.. o puede encargarse de ejecutar cualquier programa MsDOS. No es conveniente ponerlo y no tiene ningun efecto en windows ni en ventanas MsDOS bajo Windows. si no ponemos la linea. debemos incorporar unas pocas lineas.sys 57 . el MsDOS y el Windows. y lo que es mas importante: de todo Windows. como en el autoexec. casi como unico resumen)..BAT -----------------------------------------* Como introduccion (y casi. * Extrictamente este archivo no es necesario (al igual que el config. tanto en el config. lo mas comodo es especificarlos en el SHELL del config. Esto ultimo. Normalmente sabemos que dicho interprete es el COMMAND..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Recordemos que en el config eran: device=C:\WINDOWS\COMMAND\display...1) Country=034.sys con=(ega.C:\WINDOWS\COMMAND\country. /E[:n] Si se usa sin el reasignacion de ciertas tocar este parametro ya de la maquina al forzar baja. No es conveniente que puede tener efectos negativos en la memoria real la carga de las extensiones de la bios en memoria PARAMETROS DE CONFIGURACION ... como queremos "todas".COM pero puede ser perfectamente otro interprete que no sea de MS (existen interpretes de comandos de terceros). Por defecto.AUTOEXEC. Imaginar que quereis que por defecto TODOS los command (o ventanas MsDOS) de vuestra maquina se abran con unas determinadas caracrteristicas de tamaño de entorno .bat se encarga. Aquí se define el "interprete de comandos".com. así como de establecer las condiciones de "entorno" (ya las veremos mas adelante). ----------STACKS= STACKSHIGH= Define el numero de stacks (pilas) para el uso internos del MsDOS. /N Deja inactivas dirante el arranque las tecla F5 y F8 que nos permite "pasar" del archivo de comandos. estan pensados para configuraciones regionales USA (así como el teclado).... BIen en este caso..etc. -----------SWITCHES= /F /K /N /E[:n] /K Fuerza un teclado "enhanced" como teclado normal.sys. de todo el MsDOS. parametro :n indica que se debe suprimir la extensiones de la bios (EBIOS). pero por desgracia. admite parametros.850.COM. podemos decir que el autoexec..

C:\WINDOWS\COMMAND\keyboard. es la TEMP. La variable más curiosa de entorno.. Tal y como estabamos comentando con el entorno. pero internamente el nombre estaría almacenado con otro codigo. que estas lineas esten correctamente definidas. muchas aplicaciones. ** NOTA: Es importante. José manuel Tella Llop Y en el autoexec.. y en particular. el país España como 034. si nuestro sistema va a convivir con NT 4 o con Windows 2000. son: mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.. Esta la utilizan desde el comienzo del MsDOS. auqellas variables que son comunes a todo el sistema. esta carpeta se utiliza para escribir en ella ficheros temporales que necesiten las aplicaciones. el propio MsDOS le asigna el contenido C:\WINDOWS\TEMP y por costumbre desde los inicios del DOS. tambien la utiliza windows. estas lineas variarán ligeramente) Basicamente. se asignan en el autoexec mediante el comando SET. en estas lineas. * En general no son necesarias. Entonces veríamos correctamente los nombre de archivos acentuados. y que por definicion pueden ser borrados en cualquier momento. porque si no tenemos correcta la pagina de codigos en Windows 98. los caracteres acentuados y caracteres locales (como la "ñ") aunque la veamos correctamente en pantalla. como la 850. Pero esto.. serán otros. estoy configurando la tabla de codigos. Por defecto. si instalamos windows NT o Windows 2000. CONDICIONES DE ENTORNO ---------------------* Se entiende por entorno.. nosotros podemos definir en el autoexec otra localizacion de la carpeta TEMP. En esta situacion. deberían ademas ser las responsables de borrarlos. y el teclado como español "sp".. El problema nos puede venir causado. De esta manera..cpi) mode con codepage select=850 keyb sp.sys (en ambas me estoy refiriendo a "España" y teclado Español. al configurarse (recordad que son independientes y no se apoyan en el MsDOS). sobre todo si vamos a tener más de un sistema operativo. quizá sea mucho pedir. Por tanto los caracteres acentuados en nombres de archivos.bat. se configuran con la tabla correcta de codigos: 850. un scandisk desde windows 98 a la particion NT. Exactamente igual nos pasará desde windows 2000.. excepto para programas particulares que las vayan a utilizar. Para configuraciones en Latino America.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ... Las variables que queramos que se vean en "todo" el sistema y que puedan ser leidas por un programa. y lo que es mas grave: intentará arreglarlos (estropeando el correcto desde "su" sistema). es decir... Se heredan entre los procesos. estos.. Esto lo utilizan muchas aplicaciones.. Los programas o aplicaciones bien realizadas. sino está definida. Lo mas normal es tener: 58 .. nos dará errores en los nombres de archivo. se almacenan con la tabla de codigos por defecto del MsDOS.

windows primero buscará en C:\WINDOWS\SYSTEM y si no lo encuentra..* -s -h -r echo S | del c:\temp\*. if not exist c:\temp\*. ** Una de las variables de entorno mas importante en el PATH (camino). tanto el MsDOS como Windows. Es conveniente borrarlo de vez en cuando. EMPIEZA LA OPTIMIZACION DE NUESTRO SISTEMA -----------------------------------------Recordar que el directorio de archivos temporales. y a continuacion. NOTA 1: Para ver el PATH que tenemos en un determinado momento. es incorporar las siguiente lienas de codigo en nuestro autoexec. José manuel Tella Llop SET TEMP=C:\TEMP y a su vez tener creada la carpeta TEMP en C:. Esto nos mostrará el contenido del PATH. Una manera muy sencilla de hacerlo.C:\KK Fijaros que lo que estamos haciendo. ya que esta es una variable de entorno.. ademas. que los distintos caminos.. buscan el programa en la carpeta en donde estamos en ese momento. separado por punto y coma. en windows por defecto el path es C:\WINDOWS. puede ser asignada mediante el comando SET.. Como PATH. se separan por punto y coma). lo mas sencillo sería escribir: SET PATH=%PATH%. y si no lo encuentran. Iguelmente en una ventana MsDOS. a continuacion buscará en el PATH.. NOTA 2: Cuando dentro de windows.. Si tuviesemos los temporales en otra carpeta (por ejemplo. la carpeta C:\KK. "debe" estar vacio. en la carpeta por defecto de 59 . Cuando tecleamos un programa para su ejecucion. Y ahora la pregunta del millón: ¿no podriamos utilizar el propio autoexec.. para que cada vez que arranquemos..bat. el camino que queremos añadir.. Imaginar que queremos "añadir" al PATH que tuviesemos en un momento determinado..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . sino especificamos un path. sea él el encargado de "limpiar" esta carpeta?. podemos abrir una ventana MsDOS y teclear simplemente PATH. y en particular el propio PATH. lo buscan en el "camino" que esté definido en nuestra variable PATH. es decirle que el nuevo PATH. se pone %PATH% -es decir encerrado entre simbolos %). si tecleamos el comanto SET nos mostrará todas las variables de entorno. es igual al anterior (en este caso. degrada de una manera apreciable las prestaciones y velocidad de windows.* >nul :cont0 Esto nos borrará el contenido de la carpeta C:\TEMP. Es lo mas comodo. Pues sí podemos y "debemos" hacerlo. es una variable de entorno.* goto cont0 attrib c:\temp\*.C:\WINDOWS\COMMAND (se debe tomar nota. Por defecto. Si tiene muchos archivos. vamos a Inicio->Ejecutar y tecleamos el nombre de un programa. Bien.

Igualmente teniamos una linea del tipo MSCDEX /D:MSCD001 en el autoexec. era bastante normal en el MsDOS em deter drivers del tipo: DEVICE=C:\HITACHI. utilizando el viejo metodo de acceso de 16 bites. deberemos sustituir C:\TEMP por el nombre de la carpeta que tuviesemos los temporales en nuestro sistema. de todas maneras. * A partir de ahora me voy a referir unicamente a los CDROM IDE. 2) Si tuviesemos algo definido. que si nuestra CDROM fuese IDE.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . José manuel Tella Llop windows C:\WINDOWS\TEMP)... perdamos el acceso a 32 bites tambien en nuestro disco duro si este está en el mismo cana IDE. Recordad que un CDROM es un dispositivo "stream" -como si fuese una unidad de cinta-.. que tengamos definido "nada" en nuestro config y autoexec... necesitamos dos componentes software: 1) Un driver de dispositivo (por ser driver. 60 .. 2) Un programa (por tanto. que nos permite ver un dispositivo de tipo "stream" (o de flujo) como un dispositivo "record" (orientado a registro). montado en el autoexec). y nos incorporó un driver casi "universal" para todas las unidades de CDROM.. Notas a tener encuenta: 1) No le hace falta a windows.sys). por una "Y" (sin las comillas) si tuviesemos windows en Inglés.. tambien es mas que probable. * Con lo anterior.. (la idea basica.sys para poder ver nuestra CDROM. es mas que probable que a windows no le quede mas remedio que acceder a nuestra CDROM. voy a hablar un poco sobre este tema.. que sea capaz de acceder al dispositivo virtual montado en el punto 1). perdiendo entonces la capacidad de acceso en 32 bites.SYS /D:. Ademas.. o DEVICE=C:\PIOONER. Es importante recordar ademas que debe sustituirse la "S" de la linea "echo S". para entender como se accedía a una CDROM (sistema de 16 bites)..SYS /D:MSCD001 . y devolvernos los datos como si fuese una unidad de "disco"... Este programa es un estandard de Microsoft: el MSCDEX (pero podría ser cualquier otro y de echo existieron algunos durante la vida del antiguo MsDOS).. ** Hasta que surgió windows 98. Es decir un driver de nuestro fabricante de CDROM (normalmente lo identificamos por el parametro /D:MSCD001) en el config. CONFUSION EXISTENTE EN TORNO AL MSCDEX -------------------------------------En muchas consultas realizadas y debido a cierta confusion que existe con el MSCDEX y la posibilidad de ver o nó nuestra CDROM desde MsDOS puro. debe estar en el config... para ser capaz de ver la CDROM. Para acceder a la CDROM.. ** Repasemos un poco el antiguo MsDOS. es igualmente extrapolable a los CDROM SCSI). quiere decir: "cuidadito" con lo que tenemos o ponemos allí.

José manuel Tella Llop Fijaros que el nombre puesto en /D:MSCD001. tendríamos acceso a la CDROM en modo MsDOS puro... incorporarle dicha linea. existe un problema: un driver de dispositivo.. desde windows?. este tipo de drivers en combinacion con ciertas controladoras y unidades de CDROM. Tampoco me gusta. un programa llamado CTLOAD. Y *no* cargar el MSCDEX. que era capaz de cargar un driver una vez que estuviesemos en MsDOS y sin necesidad de incorporarlo en el config. ya hemos visto un poco de la maquina. porque esto implica el tener que "mantener" otros config y autoexec. Si este el archivo ya existiese. Esta solucion funciona. La manera de cargarlo sería entonces: CTLOAD C:\WINDOWS\COMMAND\EBD\OAKCDROM.SYS /D:MSCD001 MSCDEX /D:MSCD001 (y suponiendo que el programa CTLOAD.. 3) Tercera posibilidad: utilizar un config y autoexec propio y crear un acceso directo a un "command. Incorporando estas lineas en el DOSSTART. Bueno.. Creative Labs. o bien en la carpeta C:\WINDOWS\COMMAND\EBD). lo hemos dejado por ejemplo en C:\windows\command para que lo encuentre en el path). tenia en su servidor FTP. al reiniciar en modo MsDOS. La solucion mas "limpia" en mi opinion es la 2). que luego no sirve para nada bajo windows.. consumo de memoria MsDOS (al cargar el driver anterior). Bien. Perderiamos muchas prestaciones en nuestro sistema. con tal que sean el mismo en el driver del config y en el programa MSCDEX. Por ejemplo. debido a los problemas que he comentado al principio de este capitulo. la pregunta es ¿como puedo acceder a la CDROM.sys.. ** Entonces. esto está completamente desaconsejado. pero no me gusta por dos motivos: uno. puede ser cualquiera. del procesador 61 . Posteriormente crearnos un archivo en nuestro directorio de windows. estabamos diciendo que windows nos aporta un driver "casi" universal: el OAKCDROM..com" desde el escritorio con ese config y autoexec propio que incorporte esas lineas cada una en su correspondiente archivo. retomando el tema.. y ademas.SYS (que podemos encontrarlo en el disco de inicio de windows 98. Con esto evitamos que el acceso se haga a 16 bites.. SE INICIA YA LA CARGA DE WINDOWS -------------------------------Llegado a este punto. pueden causar inestabilidades al windows.BAT que unicamente tuviese la linea de MSCDEX /D:MSCD001.. llamado DOSSTART.. tendriamos acceso a la CDROM al reinicar en modo MsDOS. 2) Utilizar algun programa de los llamados "cargadores" de drivers.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .SYS en el config de nuestro propio windows. Y segundo motivo. Por tanto incorporando este driver en el config y a su vez invocando al programa MSCDEX.BAT citado anteriormente. "debe" cargarse en el config. Veamos tres posibilidades para solucionar este problema: 1) Cargar el OAKCDROM. ** Pero.

el NT y el Linux. a pesar de arrancar "sobre" MsDOS es un sistema operativo con todas las de la ley. parece que se va a perder en la informatica. 2 para definir el segmento y 2 el desplazamiento).. MODO REAL Y MODO PROTEGIDO -------------------------Vamos a repasar un poco más en detalle estos dos terminos. parece que el futuro Windows 2000. ** Veamos ahora los dos modos de funcionamiento del procesador "REAL" y "PROTEGIDO". debido a que windows. y nos empiezan a "sonar" los terminos de memoria real. Igualmente. y es más. Unicamente lo hace por motivos de compatibilidad en ciertas situaciones y para ciertos dispositivos que ya veremos mas adelante. Y no utilizan sus recursaso para nada. pero debemos verlo de esta manera: como un "paso" más. Estos no se apoyan en MsDOS. posteriormente el MsDOS y por fin el Windows. de la Bios. José manuel Tella Llop del MsDOS. No se apoya en MsDOS.. ni se fian de como han inicializado los posibles dispositivos. Es verdad que con posterioridad a la "patada" inicial.. montan su capa de abstraccion del hardware (HAL). y cada interrupcion.. 4 bytes. excesivamente por ahora -en la beta 3-)... En Windows 95 / 98. pero para arrancar se apoyan en la Bios de la maquina. INTRODUCCION A SISTEMAS OPERATIVOS ---------------------------------Windows 98. Muchas de estas 62 .. Vamos a hacerlo así.. y al final de esta parte. vermeos tambien el "MODO VIRUTAL 8086" que es el tercer modo de funcionamiento del procesador y que es el que nos dará soporte a las ventanas MsDOS desde Windows. modo protegido. Esta table contiene las direcciones de las rutinas a las que saltará automaticamente el hardware: la CPU. Por poner un simil con otros sistemas operativos. NT y Linux por ejemplo. lo primero que hace es poner a trabajar a la CPU en modo protegido. y se olvidan totalmente.. cuando se le interrupa mediante una INT xx (interrupcion xx)... Siempre arranca la Bios.. Hasta ahora. 2) Hay zonas que obligatoriamente estan en uso por el hardware (la zona de video: segmento A000 a C000) 3) Existe una zona de vectores de intrrupcion (interrupciones software) en las direcciones de memoria desde la posicion 0 a la 1024 fisicas reales. Esto por desgracia. que "sí" se apoyan en las bios (evidentemente con nuestro consentimiento). tambien se va a apoyar en la bios (y en este caso. Existen ya distribuciones de nucleo de Linux. Recordemos un poco sus caracteristicas: 1) La memoria está restringida a lo que podamos direccionar con 20 lineas de direcciones (por tanto 2 elevado a 20 posiciones de memoria direccionables = 1 Mega). etc. hemos visto el modo REAL. Recordemos que el procesador arranca siempre en este modo fundamentalmente por cuestiones de compatibilidad. El paso más es el MsDOS. (256 interrupciones..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Ellos los vuelven a verificar e inicializar.. antes de empezar con la carga real de windows. hay un paso mas: primero arranca la Bios. dispositivo PnP.

4. que sumado al desplazamiento. con 2 de ellos podemos tener el valor 0. Y ademas.... Lo importante. Entonces vamos a limitarlo. y algunas de ellas. Facil. CONTROL DE PROCESOS. ya estamos en modo protegido. nos dá la direccion real. nos van a indicar el "modo" de funcionamiento del procesador en el segmento de codigo que esté a su vez apuntado por el indice del descriptor a la tabla de direcciones. Proteccion.. y así tendriamos otros 8192 posibles elementos. se disparan como consecuencia de una interrupcion hardware (IRQ). A la vielta de ese salto.. ¿y nos hacen falta 65535 elementos de direcciones?. 2) Proteccion mediante la memoria virtual y su mecanismo. Estos bites en el descriptor de segmento. Es decir "ella solita" salta a la correspondiente direccion de la tabla una vez que se produce la interrupcion. PROTECCION. Recordar que una direccion de memoria era un segmento y un desplazamiento. Es decir si nuestro segmento. Este contenido se toma tal y como tomabamos el antiguo segmento.. y se realizá un salto "largo" (JMP FAR). La CPU en este modo nos dá tres cosas: 1) Control de procesos. 2. 3) Virtualizacion del hardware. José manuel Tella Llop interrupciones software. contiene un 1.. ya que ademas en cualquier momento podemos apuntar los registros que definen la tabla de direcciones a una nueva. Probablemente no. lo modificamos un poco: por tener 2 bites.. realmente son "preparadas" por la bios de la maquina. Entonces lo que antes llamabamos segmento y que ahora contiene un indice. Lo IMPORTANTE es destacar. 3. que el manejo de interrupciones lo hace la CPU ya que lo tiene implementado por hardware. se cambia ahora un bite de un registro de control de la CPU. Ahora suponer que lo que antes llamabamos segmento (16 bites). ** ¿pero realmente que és el modo protegido? Bueno.. 63 .. -------------------------------Este es un nuevo concepto. ** ¿que hay que hacer para poner a trabajar la CPU en modo protegido?: pues muy poco. 2 y 3. 1. Voy a intentar resumirlo. esto es un poco mas costoso de explicar en unas pocas lineas.) y que la direccion real de memoria es lo que se indicque en una tabla (llamada tabla global o local de direcciones). Nos dá de sobra. en particular.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . indica que realmente nos estamos refiriendo al contenido de la primera posicion de la tabla de direcciones.. le cambiamos de nombre: pasa a llamarse: "Descriptor". Ademas la CPU en el modo real "sabe" que esta tabla empieza fisicamente en el desplazamiento cero de la memoria fisica. Con esto tendriamos unicamente 8192 posibles elemento de la tabla de direcciones. 1.. se crea una tabla con los descriptores de segmento en modo protegido y se le pasa su direccion tambien a otros registros especiales del procesador. ahora es un indice (es decir vale. es el para qué vamos a utilizar los otros bites. Supongamso que utilizamos unicamente 13 de los 16 bites. puede tener un numero desde 0 a 65535.... Se coloca en unos registros especificos la nueva direccion de la tabla de interrupciones (llamadas aquí "excepciones").

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop

El modo "0" es el modo más potente. Puede realizar todo. A este modo se le llama modo KERNEL del procesador. Es decir el codigo del programa que se este ejecutando en modo 0, tiene acceso a todo. Esto puede servirnos para el "nucleo" del sistema operativo. El modo "1" en principio puede hacer todo, excepto saltar a modo cero. Igualmente el "2" no tiene acceso a los anteriores, y el "3" no tiene acceso nada mas que a segmentos de us propio modo. Este es el modo menos potente. No puede hacer casi nada. Este es modo en que deben ejecutase los programas de aplicacion. Es el llamado modo USER. Evidentemente, tiene que existir alguna manera de poder ejecutar "trozos" de codigo del sistema operativo. Pero en principio el modo "3" no puede saltar a modo "0", y de hecho no salta. No puede. Lo hace mediante la tecnica de "excepciones" o puertas de tarea. Estas están totalmente protegidas, por lo que un programa de usuario, nunca podría "tirar" al sistema operativo. Graficamente lo anterior, puede pintarse con un circulo. Este es el modo 0. Luegop un circulo concentrico mayor. Es el modo 1, y así pintar otros dos circulos contentricos mayores hasta el modo 3. Y ahora graficamente, podemos decir que podemos saltar del interior al exterior en cualquier punto, pero nunca al reves. Para pasar al reves. solo puede hacerse en ciertos "puntos" de cada circulo. Estos puntos, son la "puertas de tarea". Curiosamente..... de esta manera ya se puede implementar proteccion a nivel de tareas. El tema es mucho mas complejo con respecto a los descriptores, pero a nivel de introduccion nos puede servir. MEMORIA VIRTUAL. SU MECANISMO. -----------------------------Antes hemos comentado que una direccion, es un descriptor de segmento y un desplazamiento. Este descriptor de segmento, es un indice que apunta a una tabla y contiene el "segmento" real que sumado al desplazamiento inicial, nos da, la direccion correcta. La direccion es ya la direccion real fisica de memoria que queremos localizar. (memoria lineal). Todo este "cisco" que he contado, no hay que preocuparse. No necesitamos "programarlo" nosotros. El hardware lo hace por nosotros. Todo esto lo tiene implementado directamente la CPU. En general esto que estoy describiendo, no es una cosa de la arquitectura 386 (es decir los actuaes Pentium). Es algo de "todas" las CPUs. Intel no descubrió nada nuevo con esto (tiene algunas matizaciones...). Todas las CPUs trabajan basicamente con los conceptos descritos en estos capitulos. Pero... que pasa si ademas de esta tabla, o este mecanismo mejor dicho, de "segmentacion", el cual nos dá una direccion lineal, esta en vez de ser la direccion fisica, lo que hacemos es que a su vez apunte a otra tabla especial. Vamos a llamarla tabla de "paginacion". Esta nueva tabla, tendrá en cada elemento, bien su direccion ya en memoria real, o bien su direccion en el archivo de paginacion (ya veremos que es esto). Y sí ademas, este mecanismo lo implementamos por hardware, y que sea la CPU la encargada de realizar todo este trasiego de direcciones, pues mucho mejor ¿no?. Pues ahora, empezemos al reves: cogemos toda la memoria y la dividimos en paginas de 4 Kbs. La direccion o numero de pagina, lo ponemos en una tabla

64

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop que nos vamos a crear con las direcciones de dichas paginas. Ademas esa tabla, va a contener un indicador de si está en memoria real o bien en disco en el archivo de paginacion. Cada elemento de la tabla, son las direcciones sucesivas de memoria que "cree" ver nuestro programa. Pero la CPU, accediendo a dicha tabla, salta a la direccion real que está allí indicada que será cualquier otra, o bien, si está en disco, carga esa pagina del disco, en cualquier localizacion de memoria libre, y le cede control. Es decir, estamos "virtualizando" las direcciones. Nuestro programa no entiende de direcciones reales. Unicamnete direcciones virtuales que son las que le muestra la tabla de paginacion. Y es la CPU la que se encarga del trasiego de paginas de memoria real al archivo de paginacion (cunado no le "caben") y al contrario. Evidentemente, el propio hardware, sigue unos criterios para descargar las paginas "menos" utilizadas al archivo de paginacion. Una vez que ha hecho esto, con marcar en la tabla de paginas, que esa direccion no está en memoria real y está guardada en tal posicion de disco.... pues ya está. Los programas ni se enteran. Realmente estan en modo "virtual". VIRTUALIZACION DEL HARDWARE --------------------------Bien, al igual que se puede poner poner un mecanismo por el cual las tareas están protegidas, tambien puede ponerse un bit de marca que nos indique si un descriptor de segmento (es decir el codigo, real o virutal) al que apunta ese descriptor, está autorizado o no para ejecutar una entrada / salida directa al hardware. Es decir una instruccion IN / OUT en ensamblador de las que veiamos al principio de estos capitulos. Si el bit está activo, se lo permite. Si no, lo que hace el procesador cuando encuentra una instruccion de estas, es provocar una "excepcion". Esta excepcion, tendrá su puerta de tarea y un manejador de esta excepcion. Un "manejador" de excepciones, no es nada mas que un "trozo" de codigo de programa (normalmente perteneciente al sistema operativo, o implementado por algun driver), el cual es el encargado real de ejecutar ducah instruccion o de prohibir su ejecucion. Por eso, por ejemplo, en windows NT, que tiene virtualizacion completa del hardware, no podemos realizar ninguna instruccion no permitida, y la mayoria de juegos basadso en DOS, que intentan acceder al hardware directamente, la propia CPU no les deja. Se dispara una "excepcion" y el manejador de dicha "excepcion" se lo prohibe. Recordad que una secuencia mal programada de IN / OUT directos a un puerto, o bien intentando acceder a un puerto inexistente, es lo que provoca las caidas de maquina. Un sistema operativo "serio" no puede dear que se realicen estas cosas (NT, Linux). Un sistema que quiera guardar compatibilidad ocn el "viejo" MsDOS, por desgracia, no virtualiza totalmente el hardware, y deja hacer la mayoria de las cosas a casi todos los programas. Esto es lo que provoca "cuengues" en windows 98 por programas mal codificados (o mal "educados"). ** La pregunta que surge es: ¿si unicamente es un bit, el que "indica" estas protecciones, facil, por que no lo cambiamos? Y la respuesta mas facil todavia: porque no se puede. No deja la CPU ejecutar una instrucccion de este tipo, cuando nuestro programa está en modo USER. Unicamente el sistema operativo que está en modo KERNEL es el que

65

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop puede ejecutar estas instrucciones privilegiadas. Y ademas si lo intentamos, se provocará otra excepcion. Y en esa excepcion, el sistema operativo hará lo que considere oportuno: normalmente "matar" a esa tarea. MODO VIRTUAL 8086 ----------------Es el tercer modo de funcionmiento del procesador. Simplemente se le dá un espacio de direcciones virtuales de un mega y al poner a trabajar el procesador en este modo es como si estuviese en modo real. Pero es "como" si estuviese. No lo está y todas las llamadas podrían ser interceptadas por el sistema operativo. Pongamos un ejemplo muy claro. Habiamos dicho que la direccion de memoria grafica para modo texto es el segmento B800. Pues bien, si fisicamente "ponemos" en la posicion de memoria B800:0000 (una direccion asoluta de memoria), dos bytes, uno de ellos con los atributos de color y otro con la letra "A", veremos instantanemanete la letra "A" con el color seleccionado en la esquina superior izquierda de la pantalla. Es instantaneo, como si la pantalla fuese una "ventana" a esa direccion de memoria. Esto es en modo real. Pero la pregunta es ¿como lo hace windows cunado abrimos una ventana msdos?. Es importante esto, ya que el escribir en esa posicion de memoria por un probrama, implicaría que esa "A" saldría instantanemante en pantalla. Y no sucede esto, lo vemos, eso sí en la parte superior izquierda de una "ventana" MsDOS que puede estar ademas fisicamente en cualquier posicion de nuestro monitor. ** Bien, es facil si hemos entendido un poco el mecanismo de memoria virtual. La solucion es "marcar" esas paginas de memoria como "paginadas" en la tabla de paginas. Al ir a utilizar esa direccion, como está teoricamente paginada, ocurres una excepcion del procesador, entra a funcionar el mecanismo de excepciones, y un manejadro para esta excepcion toma control. Este manejador "se da cuenta" de lo que queria hacer el programa y en vez de hacer lo "normal" que es buscar en el fichero de paginacion y traer a memoria fisica la pagina que falta, lo que hace, es "dibujar" esa "A" que queriamos en la ventana MsDOS en la esquina superior izquierda. Parece un poco retorcido..... pero es la unica solucion, y funciona perfectamente. De cara al programa que se está ejecutando, para el es como si estuviese funcionando en modo real. Es exactamente lo mismo, pero en vez de hacer lo que el quiere, se hace lo que quieres el sistema operativo. Ademas, ese "mega" de memoria, está en cualquier sitio de la memoria fisico, incluso troceado, da igual. Unicamente windows, construye una tabla de memoria con las paginas que le interese, lo pone en unos registros del procesador y cambia a modo virtual 8086. MULTITAREA REAL --------------El concepto de multitarea lo unico que nos incorpora es la posibilidad de repartir el tiempo en unas unidades muy pequeñas, llamadas "quantum", y ceder el control, consecutivamente y por orden de esa cantidad de tiempo asignado a cada tarea de la maquina. Esto nos muestra "aparentemente" que hay varios programas en ejecucion. Realmente, en cada instante del tiempo, (en cada "quantum", dure lo que dure), solo hay UN solo programa en ejecucion. Pero en ese quantum, con las velocidades actuales de las CPUs, se pueden hacer muchas cosas.

66

a un programa que chupa mucha CPU y no realiza apenas entrada / salida..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . peligrosisimo. es simplemente el guardar el estado de una tarea cuando ha agotado su tiempo (sus quantums asignados). evidentemente la CPU puede hacer muchisimas mas cosas. Este es el funcionamiento de las tareas de 16 bites. Es cedir. sino como por definicion.1). al menos al principio. (funcionan por intercambio de mensajes). el propio nucleo del sistema operativo debe ser el proceso de maxima prioridad. Sí esa tarea hace una peticion de entrada / salida a disco por ejemplo. debe permitir ambos tipos de "multitarea". de la implementacion de este mecanismo en la CPU por parte de Intel. 2) Proridad de las tareas. puede "perder" el control. el sistema operativo le debería subir la prioridad. Debe jugar con las prioridades de tarea y variarlas ligeramente. Y esto es lo que realiza win95 / 98 con las tareas de 32 bites. José manuel Tella Llop Evidentemente. Normalmente esto se puede realizar por el hardware de la CPU (existe una instruccion especifica para ello. Por tanto 67 .. Pero Microsoft en vez de utilizar el mecanismo hardware. es simplemente un numero asignado a cada tarea. pero aparentemente. y la "cooperativa" para tareas de 16 bites (y recemos. esta es la teoria de Multitarea REAL. se "inventaron" (heredado de windows 3. a un programa que hace mucha entrad/salida. entonces windows se nos quedará "colgado". debido a que está poco tiempo en memoria. lo hace por software. "a mano". En cambio al reves. Esto es muy costos en ciclos de reloj. Pero las tareas de 16 bites. el sistema operativo toma control al recibir ese mensaje y cede en algunos de ellos el control a otra tarea. * Evidentemente. La REAL para tareas de 32 bites. * Windows 95 / 98. Por tanto el sistema operativo toma el control y se lo cede a otra tarea. las tareas windows... en "todas" las CPUs del mercado. El sistema operativo. y otra maquina virtual para "todas" las tareas de 16 bites. Me explico: en este caso no existe la "cesion" de una tarea a otra por el tiempo consumido en maquina. aquí intervienen otros dos conceptos: 1) Intercambio de tareas. cada vez que se emiten por parte de un programa ciertos tipos de mensaje. la MULTITAREA CORPORATIVA ("preemptive"). Y evidentemente.. El intercambio de tareas. mientras se ejecuta. para que realmente "cooperen" esas tareas). Es un concepto Microsoft. recuperar el estado de otra tarea y cederle el control. antes de agotar su numero de quantums. Microsoft no se fiaba. Prioridad de las tareas. por "herencia". es crearse una maquina virtual para cada tarea de 32 bites. Realmente este no es un concepto informatico. * Hay que hacer notar.. ya que si una tarea no emite esos mensajes. No responderá ni el teclado.. y esa tarea está mal programada y se mete en un bucle infinito. debido a que esa peticion es muy costosa en tiempo (estamos hablando de algunos milisegundos). que una tarea. el sistema operativo debe bajarle la prioridad al objeto de que no se apodere todo el tiempo de la CPU.. incluidos los mainframes). La manera de hacerlo. Bien.. que indica el numero de "quantums" que puede ejecutar antes de que el sistema operativo tome control y le ceda el control a otra tarea. "generalmente" emiten muchos mensajes al sistema.. debe ser "listo".

. al ser residente.BAT en el direcotrio de windows. se rearranca word y sigue funcionando.BAT. Por ejemplo. tenía un ahorro de 64 Kbs en las ventanas MsDOS.. y ademas. Este programa sabemos que no vamos a necesitarlo en las ventana MsDOS.. segun el punto 1). pero yo he tenido que utilizarlo. dispondremos de los servicios que nos incorpore dicho programa desde cualquier programa windows (nunca desde las ventanas MsDOS). Por tanto nos inutilizará.COM PARA CARGAR WINDOWS -------------------------------------------------Ahora ya podemos empezar a ver como se realiza la carga. es bueno saber que existe. lo que hace es establecer alguna interrupcion en modo real que es necesaria para el funcionamiento de lo que sea. La caida de una tarea de 16 bites...DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . 1) Lo primero que hace windows. Todo windows es "otra" maquina virtual (pero en este caso. y el resultado de esta ejecucion lo heredará "toda" la maquina virtual windows. El Net 1 es un residente MsDOS. que ademas ocupa mucha memoria. Y esto es importante. parte del sistema operativo. Entenderemos por entorno. unicamente. Por tanto. la caida de un programa de 32 bites. la caida de Word (por lo que sea) no pasa nada. ejecuta los comandos que allí esten. probablemente. Por si acaso. lo que hacemos es *no* ejecutarlo en MsDOS y si en el WINSTART. ya que solo se utiliza desde los programas de aplicacion windows.. y que realmente. que la caida de una tarea de 16 bites. 68 . obligandonos a reiniciar la maquina. dejará. José manuel Tella Llop es importante recalcar que TODAS las de 16. es una "fotocopia" de la memoria real en ese momento. EMPIEZA A FUNCIONAR EL WIN. Veamos un ejemplo: imaginemos que necesitamos un programa en modo real que es "residente". pero que sí lo necesita windows. Curioso ¿no?. y no afecta al resto del entorno windows.. Esta "fotocopia" servirá para crear los espacion de direcciones virtuales por cada ventana MsDOS que queramos utilizar bajo windows (utilizando el modo virtual 8086 del procesador que hemos visto previamente). Rearrancando la tarea. lo mismo que en MsDOS. trabajando en modo protegido).BAT si este existiese. El caso real. inutilizado TODA la maquina virtual de 16 bits. esta seguirá en funcionamiento. es el entorno "despues" de ejecutar el WINSTART. Seguro que alguien con imaginacion. Si existiese. provocará la caida de esa maquina virtual.. podría buscar alguna utilizadad real a este tipo de funcionamiento en nuestro mundo "casero" del PC. es decir las variables de entorno el path y otra cosa mucho mas importante: las interrupciones en modo real. En cambio. ha sido utilizando NET 1 del gestor de bases de datos Oracle.. El "entorno" de esta maquina virtual.BAT. la memoria maxima sin ese programa. en el mejor de los casos. lo unico que sucedería es que esa tarea ya no podremos arrancarla hasta que reiniciemos la maquina. probablemente. Colocado en el WINSTART.. Entonces para tener la maxima memoria en ventana MsDOS. 2) Busca a ver si existe un archivo llamado WINSTART. Esto ultimo implica.. para MsDOS tendremos. Parece que no es practico.. comparten la "misma" maquina virtual.. porque win 95 / 98 tiene mucho codigo de 16 bites en su nucleo.

Correspondencia de colores de imagenes (ICM) INTERFAZ de salto al subsistema de 16 bites. Tambien es el responsable del manejo de los iconos y otro componentes graficos. 4) Realmente en este punto de la carga.1.. Por ejemplo "crear una ventana". llaman a sus respectivos de 16 bites "siempre".EXE crea y mantiene las ventanas en la pantalla.. tamaño. Procesos "heredados" del windows 3. Para ello.. raton o cualquier dispositivo de entrada. El API del GDI32 tiene los siguientes subcomponentes: * * * * * * GDI32 como tal Adaptador tipografico TrueType Archivos TrueType (usa archivos proyectados en memoria). pone a funcionar el procesador en modo protegido. Estos son: * KRNL386.. se crea una tabl global de direcciones (con los descriptores de segmento vistos anteriormente) y que tiene posibilidad de acceder a un espacio de direccionres virtual de 2 Gb.. tres son los ficheros mas importantes a cargar. GDI32. carga el USER32. * GDI. llama a la correspondiente funcion). Trata todas las peticiones de mover. Estos tres componentes. Ademas es el responsable de la entrada a las aplicaciones desde teclado.. y cada uno con sus caracteristicas especiales.EXE es el "Graphics Device Interface". Pero por desgracia. los cuales son los encargados "reales" de realizar las tareas. * USER. carga de aplicaciones y la planificacion y ejecucion de tareas..EXE responsable de las funciones y manejos del nucleo de windows y le cede control.COM. dependiendo del tipo -16-32-..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . son todavia componentes de 16 bites. o cerrar una ventana. GDI y KERNEL que ejecuta windows son de 16 bites.. Es el responsable de ejecutar operaciones graficas para crear imagenes en la pantalla (y otros dispositivos). Ademas de estos 3. crear.. carga el programa KRNL386. LOS RECURSOS DE WINDOWS ----------------------Tal y como hemos comentado previamente. Evidentemente hay dos API's una de 16 y otra de 32 (cada tarea. Perfiles de color (usa archivos proyectados en memoria). siempre salta al subsistema de 16. Crea la tabla de paginas. José manuel Tella Llop 3) WIN. los componentes de 32 bites a este nivel. El API es el conjunto de funciones que puede utilizar cualquier tarea windows para realizar una accion. y KRNL32 que son los 3 respectivos componentes para tareas de 32 bites. los componuentes. Por tanto una tarea de 32 que utilice el GDI32. windows 95 / 98. que a su vez contiene (API de 16): * GDI16 * Minicontrolador de visualizacion * Minicontrolador de Impresora 69 .EXE el cual es el responsable de controlar y asignar todos los recursos de manejo de memoria. USER. Veamos un ejemplo.

el liberarlos. pero permiten que las aplicaciones existentes de 16 bits puedan realizar las mejoras de implementacion del nuevo motor DIB. Por tanto un programa mal codificado (mal diseñado). o que termina anormalmente.. Si el motro DIB.. debido a que TODO el codigo de este estilo es de 32 bites "puro". Por tanto el tamaño de la "pila" ("heap". Ademas. Lo grave es que si nos quedamos sin alguno de los recursos.. no hay solucion. GDI y KERNEL. una vez "matizado" este comportamiento. vemos que por desgracia. El cero era quien tenia control absoluto de la maquina y suele corresponder al "nucleo". NOTA (para los puristas): El motor DIB realmente es codigo de 32 que se ejecuta con una vista de 16 bits (segmentada) de la memoria del sistema. tenemos muchas posibilidades de que windows se "caiga" -nos intenta enviar un mensaje. consumen una pequeña cantidad de esta "pila". es lo que se le llama RECURSOS.. Estos recursos libres los podemos ver ejecutando el programa RSRCMTR.. "falla" en modo kernel. Windows NT y el futuro windows 2000. windows 95 / 98.. por lo que por ejemplo el codigo hace uso de las instruccciones rapidas del 386 para las operaciones de transferencia de memoria.. Si algun programa o modulo.. Por desgracia. o bien el modilo GDI de 32 tendría que reproducir muchas de las funcionalidades del de 16 o bien el motoe GDI incurriria en mucha sobrecarga de ajuste volviendo a llamar al lado de 16 bites. se apoya (por mantener compatibilidad total) sobre los subsistemas de 16 bites.. Contra el consumo de estos recursos. Y podiamos imaginarlos como anillos concentricos (el mas interior el cero y el mas exterior el 3). nos dejará recursos "gastados" en la pila. iconos. ** Bien.EXE del directorio de windows).. que nos vayan creando "objetos" (asignacion de memoria. no tienen esta limitacion de recursos. José manuel Tella Llop * Controlador universal de impresora * Motor DIB grafico * Visualizacion o Impresora (drivers ya especificos del fabricante). hay tres "pilas" de recursos (correspondiente a los tres programas principales del nucleo: USER. se colocara en el lado de los 32 bits.. monton). DIAGRAMA DE PROCESOS DE WINDOWS ------------------------------Anteriormente habiamos vistos los diferentes modos de funcionamiento del procesador para la proteccion de las tareas.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . ** Y ahora para los programadores (o quien haya seguido con atencion estos capitulos): ¿cual es el segmento mayor que se puede poner en una tarea de 16 bits?: facil 2 elevado a 16 o sea 64 Kbs de memoria. pero puede ya caerse en cualquier momento-) ** Evidentemente esto es un comportamiento heredado. maximo que puede utilizar una tarea de 16 bites es 64 Kbs. lo "grave" del tema. Desde modo 0 (nucelo o kernel) a modo 3 (usuario). Hay una cantidad considerable de trucos implicados en la manipulacion eficiente de direcciones. que no se recuperarán hasta que reinicimos windows. Pues bien a ese "pequeño" espacio de memoria y que ademas es INDEPENDIENTE del numero de megas de nuestro PC (por diseño). etc. todas las llamadas a funciones de esta API.. ventanas. Por tanto.). practicamente seguro que nos podemos despedir de windows: a reiniciar la 70 . es que es responsabilidad del programa que "consume" recursos.

GDI * Subsistema de 16 bits. fué muy criticado debido a que metió dentro del nucleo (modo cero) el GDI (las versiones anteriores no lo tenian así). Es decir en un espacio virtual de direcciones de 32 bits se pueden direccionar 4 Gb de memoria virtual. es ¿que ponemos en modo kernel y que ponemos en el resto de modos hasta llegar al modo 3 -usuario-? Hay que tener presente.. Por tanto si se cae cualquier proceso de los otros modos es capaz de "rearancarlo". comunicaciones. Por ejemplo puedo comentar que en su dia.. ** El tema para los diseñadores de cualquier sistema operativo. cuando y porqué windows puede sufrir una "catastrofe". raton. Vamos a pasar ahora a ver ya la carga 71 . cuando se diseño windows NT 4. se ejecutaria tano la maquina virtual del sistema como todas las maquinas virtuales MSDOS (una por cada ventana MSDOS que tengamos abierta).... video. Esto fue por razones de eficiencia del sistema.. y desde los 3 a los 4 gigasm es "diferente" para cada tarea de 32 bits. ** Con todo este "rollo" hemos terminado de ver un poco las "tripas" de windows.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . ¿como se nivela la balanza? ¿perdemos seguridad frente a estabilidad? Este es el gran dilema. Es decir. Por otra parte. En este maquina virtual del sistema existe un espacio virtual de direcciones compartidos por todas las tareas que son: * Servicios del sistema: Nucleo. a veces hay que tomar deciones de diseño "peligrosas"....) * Subsistema de gestion de archivos con: * Administrador del sistema de archivos instalable(IFS) * FAT de 32 bits * Sistema de archivos CDROM * Redirectores de red * Subsistema de E/S por bloques 3) En el anillo 3. El modo cero tiene ademas control absoluto sobre los otros maods. Los 2 primeros gigas son comunes a todas las tareas y corresponden a zonas del sistema operativo. Un guga más (hasta los 3 gigas) es para el espacio de direcciones compartido de las tareas de 16 bits. son operaciones muy costosas en tiempo Y deben realizarse lo menos posible. ** ¿Como es entonces la estructura de win 95 / 98? 1) Se decidió utilizar unicamente los anillos 0 (kernel) y 3 (user) 2) En el anillo 0 se incorporan dos subsistemas: * Subsistema Administrador de maquina virtual con: * Servicios de Gestion de memoria * Planificador * Servicios VxD y cargador dinamico * Administrados de maquinas virtuales MSDOS * Controladores (teclado... José manuel Tella Llop maquina. Y luego se crearia un espacio virtual de direcciones "diferente" para cada tarea de 32 bits. es mejor poner las cosas en modo 0. que la "transicion" o saltos de modo. por motivos de eficiencia. Pero peligroso: un programa que utilizase mal el GDI.. Es decir: simplemente no pasa nada. ahora ya podia "tirar" al sistema. Por tanto una "caida" de una tarea de 32 bits no es nunca critica para el sistema. y quizá ahora entendamos un poco más de como. Usuario.

2) Si habia problemas al arrancar.. Otra posibilidad es arrancar con el disco de Inicio de win98 en este momento. Para crearlo. ya podremos arrancar.. buscando ese archivo y renombrandolo. Podemos abrir con Notepad por ejemplo dicho archivo y vermos todo lo que iwndows nos ha cargado. Le damos a todo que sí. 4) Una vez estemos en el simbolo del sistema..log. para no perder el contenido del bootlog. y cuando nos saque un menú. A vece simplemente.txt boot. el proceso a seguir es similar.. De esta manera... pulsar MAY+F8 y darle al INTRO. tanto del config. nos dará el nombre del controlador que nos está causando el "cuelgue" de windows. los seguirá habiendo. le damos a la opcion de "solo sinbolo del sistema a prueba de fallos". Quizá con errores. WINDOWS CONTINUA CARGANDOSE --------------------------** La carga detallada de todos los drivers y dispositivos que windows maneja. De todas maneras las lineas de comandos anteriores.txt (hemos variado ligeramente la secuencia aquí. ya que sino se volverá a "machacar" en esta arrancada. por lo que windows se "colgará" de nuevo. El proceso que he descrito anteriormente es igualmente valido si windows "se niega" a arrancar y se cuelga en el arranque.txt. La ultima linea de ese fichero. Es importante esto. EN CASO DE PROBLEMAS AL ARRANCAR WINDOWS ---------------------------------------** Este fichero. son iguales a las citadas en la parte anterior de este capitulo).. pero con una matizacion.bat como algunos drivers de windows.txt > boot. podemos verla en detalle si al arrancar windows hacemos que nos "cree" un fichero de historia de la carag (un fichero LOG). debemos arrancar con la tecla CTRL pulsada. 3) Volvemos a arrancar con CTRL pulsada y uando sala el menú. Simplemente porque si arrancamos en solo simbolo del sistema a prueba de fallos. Nos irá pidiendo confirmacion de linea por linea para su ejecucion.. tecleamos: c: cd \ attrib boot.. Cuando ya estemos en windows. 72 . el mapa de teclado no estará cargado y es dificil encontrar el simbolo ">". nos puede "salvar" la vida mas de una vez.txt -s -h -r copy bootlog. José manuel Tella Llop completa de windows. 1) Arrancamos con la tecla CTRL pulsada y luego damos MAY+F8.txt * Con esto hemos creado un fichero llamado boot. y le confirmamos a windows cada linea. pero podremos arrancar. Le damos a INTRO. abrimos una ventana MsDOS y tecleamos: c: cd \ type bootlog. ya tendremos el fichero de arranque. En este caso..sys como del autoexec. Así seguro que no lo perderemos.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .txt en el directorio raiz de nuestro disco duro.

. Seleccionamos la del dia que queramos recuperar (recordando que ha sido realizada la copia al inicio de dicho dia. es algo mas lenta que el resto de veces que arranquemos en ese dia). 73 . en donde podemos personalizar el numero de copias.ini en el directorio de windows.. arrancamos con CTRL pulsada. seleccionamos "Solo Simbolo del Sistema". Bien veamos las alternativas para recuperar nuestra situacion anterior y poder iniciar windows: ** En el caso 1) puede normalmente hay dos situaciones tambien. que existe un fichero llamado scanreg. Allí tecleamos: scanreg /restore Nos mostrará una lista de las ultimas 5 copias del registro. Esta copia la realiza la primera vez que arrancamos el PC en el dia (por eso. Hay dos posibilidades para que windows las cargue: o bien las "referencia" en el registro. Esto es facil. o bien en el caso de que el nuevo producto instalado. Windows 98. y recuperamos el registro.. b) Se han substituido componenetes de windows. Igualmente windows nos dá una herramienta para reciperar el registro: el SCANREG. Lo primero sería recuperar dicho registro. que "casi" siempre "toca" el registro. conserva por defecto una copia del registro de los ultimos 5 dias que hemos arrancado el PC. y cuando nos saque un menú. las deje en c:\windows\system\iosubsys windows cargará de ese directorio automaticamente todas la VXD que allí se encuentre. que si los problemas surgen despues de instalar cualquier driver o nuevo software. ** En el caso 2) existen dos situciones tambien: a) El instalador ha machacado el registro de windows.. y otras opciones de esta herramienta.. nos dá una excelente herramienta para intentar recuperar la situacion anterior. a) Que el instalador haya machacado el registro de windows. podemos recuperar la de ese mismo dia). 1) Este software ha sido LIMPIO y no ha machacado ninguna DLL o driver esencial para windows. debemos fijarnos. por tanto si nos acaba de suceder el problema. o borrado claves fundamentales. windows. ** En cualquiera de los casos.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . la primera arrancada del PC en el dia. SCANREG ------Para utilizarlo. Las VXD son peligrosisimas en caso de estar mal realizadas.. 2) Ha habido "machaque" de DLLs en windows. incorporado claves. La herramienta es el SCANREG. b) Que ademas haya instalado alguna VXD "peligrosa" (muy corriente esto ultimo)... José manuel Tella Llop ** Debemos recordar.. u otro software erroneo. Recordad tambien.. Veamos las posibilidades que pueden sucedernos despues de una instalacion de drivers.

porque por defecto. Es un programa SFC.. En este punto. Es quizá la herramienta mas potente de control de w98. justo son las de win 98. Despues de unas cuantas instalaciones.. *** Pero puede ser que windows siga sin arrancar (o con pantallas azules). tenemos otra herramienta.EXE que reside en el directorio windows/system. Esta herramienta nos lo permitirá. sino tivuesemos las VXD apuntadas. Debemos intentar localizarla y renombrarla con alguna "extension" diferente a VXD (si no termina en VXD. Posteriormente. y verificar que esten marcados los casilleros de "Ver ficheros borrados" y "Ver ficheros cambiados". Esto suele ser debido a que se ha copiado alguna VXD que impide el arranque en el directorio c:\windows\system\iosubsys.. si se ha montado una nueva y apuntarla. windows no la cargará). Como "pista". debemos recuperar ese fichero. Al ejecutar.. nos mostrará la version anterior que tenia y la actual.. si aparecen nuevas VXD y seguimos con problemas. son candidatos que que los renombremos (su extension) para intentar arrancar. Para ello. Si son diferentes. Una vez ejecutado. o RECUPERAR desde los ficheros de instalacion de W98.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Conviene tener una lista de las VXD que windows monta en él. nos puede servir que windows al instalarse (win 98 "normalito". Mi consejo para un correcto funcionamiento del SFC es lo que vamos a ver a continuacion... Y vigilar despues de cada instalacion. debemos entrar en configuracion y marcar las DOS ultimas casillas. Si es nada mas instalar. que existe en la actualidad con la que windows tiene registrada. ya bajo windows. Debemos ejecutar este programa desde Inicio->Ejecutar. 74 . Si difieren nos permite.. La primera vez que lo ejecutamos (Y DEBERIA SER NADA MAS INSTALAR W98). Es el SFC. etc. Cuidado. las "guarradas" que hace con las DLLs de windows. bien actualizar sus datos. de verificar ficheros borrados. nos preguntaremos como es que el windows sigue funcionando. José manuel Tella Llop ** Bien.. cada vez que lo ejecutemos compara su base de datos con las versiones que tienes monstadas en ese momento. Ahora debemos intentar "recuperar" los posibles ficheros que la instalacion erronea nos haya dejado. no tiene marcadas dichas opciones.. deja como decha de sus archivos el 15/05/98. etc.. "en principio" los que no tuviesen esa fechas.. windows. es necesario enombrarlas o borrarlas. ** En esta situacion. Por tanto. Debemos guiarnos aquí por el numero de version (no por la fecha) del archivo. Si el numero de version del fichero actual es inferior a la que tenia windows registrada anteriormente. Mi consejo es controla este direcotorio. de esta manera ya tenemos recuperado el registro. crea una base de datos con loas versiones de todos los programas y Dlls de tu PC. SFC --SFC : System File Checker. Debemos arrancar el SFC y darle en el boton "opciones".. windows ya arrancará.. comprobará la version de DLL o driver. Nos sorprenderá el ver que cuando instalamos software de terceros..

El registro principal (visible con "regedit"). hemos hablado varias veces del registro de windows. La configuracion general está disponible para todos los usuarios.. así como toda la parte de PnP. Igualmente contiene la descripcion del interfaz de usuario. presenta de forma jerarquizada toda la informacion que windows y el resto de las aplicaciones escriben en él. Esta clave es "comun" para todos los usuarios de la maquina. HKEY_DYN_DATA: Apunta a una rama de HKEY_LOCAL_MACHINE que contiene la informacion dinamica del estado de los dispositivos. Conviene ahora hablar un poco mas en detalle.. HKEY_USERS: Contiene la informacion de TODOS los usuarios que se han conectado a la maquina. las ramas mas importantes de cada una de ellas: ----------------------------------------------------------------------HKEY_LOCAL_MACHINE =================== 75 . Esta clave. con ficheros (valores) y carpetas (subclaves). *******Vamos a empezar a describier. Esta clave muestra los mismos datos que estaban en windows 3. Cada clave puede contener datos. El registro es el 50% de windows (segun la propia definicio de Microsoft). así como de los posibles problemas... Claves generales: -----------------HKEY_LOCAL_MACHINE: Informacion de los componentes hardware instalados... Configuracion del software de la maquina. HKEY_CLASSES_ROOT: Apunta a la rama de HKEY_LOCAL_MACHINE que contiene ciertas configuraciones de software. José manuel Tella Llop ** Llegado a este punto.. consta de 6 claves principales. REGISTRO DE WINDOWS 95 / 98 ---------------------------El registro. que a su vez pueden contener mas ficheros y mas carpetas..DEFAULT) como la especifica de cada usuario. HKEY_CURRENT_USER: Esta clave apunta a la rama HKEY_USERS para el usuario que está en ese momento conectado. contiene subclaves con el nombre de cada usuario y su perfil que se ha conectado a la maquina. HKEY_CURRENT_CONFIG: Apunta a una rama de HKEY_LOCAL_MACHINE\CONFIG que contiene informacion sobre la configuracion "actual" del hardware. Por tanto debemos ser "cariñosos" con el. Su vision se asemeja a la vision de un disco desde el explorador..1 -informacion del OLE y asognacion de operaciones de arrastrar y soltar. Ademas incluye informacion sobre el estado actual de los dispositivos. y ciertas abreviaturas que de echo son vinculos OLE..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Sustituye a los antiguos ficheros INI en los que cada aplicacion escribia por separado. Incluye tanto la informacion generica (. Esta informacion es cambiante seguna se añaden o quitan dispositivos al sistema. llamados "valores" y a su vez puede contener subclaves adicionales.

por ejemplo. y las funcionalidades que hoy dia estan presentes. contiene varias subclaves.. Contiene las definiciones para asociacion de archivos e informacion OLE. Pensar que los equipos actuales con ACPI. Cada configuracion posible tiene asignado un identificador unico Este identificador de la configuracion tiene una subclave bajo la clave "config"..etc. José manuel Tella Llop CONFIG : contine la informacion de las distintas configuraciones hardware de la maquina. Lo normal para los usuarios domesticos como nosotros es una unica configuracion. ROOT : Dispositivos legados (no PnP) Evidentemente si miramos en nuestra clave de registro. aparece en la lista de "perfiles" de hardware en la opcion Sistema del Panel de Control.. más las caracteristicas genericas de nuestra maquina. incluyendo la subclave "Classes". En la mayoria de las situaciones.. tambien las encontraremos en la descripcion del hardare como subclave. HKEY_CLASSES_ROOT no es nada más que una "alias" de esta subclase.. que especifican la definicion de clase asociada con el archiv que tiene la extension seleccionada.. 76 . Tipicamente. * Claves de definicion de clase.. Puede tener las configuracion que tiene el PC. Pero no debe perderse de vista que es posible una configuracion "multiperfil" y que windows es capaz en la arrancada de solicitarnos que perfil de hardware queremos. serivios y vinculos de red.. el identificador de configuracion está asignado a una configuracion unica. nos encontraremos con otras subclaves que continene al menos las anteriores. Se asigna un codigo unico de identificaion para cada dispositivo. cuando quitamos una tarjeta. SOFTWARE : Contiene la informacion de configuracion sobre el software instalado. Estas entradas se aplican a "cualquier" usuario conectado a esta maquina. Aquí estan contenidas dos tipos de subclaves.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Subclaves principales: CLASSES: Describen todo tipo de documentos y dan informacion sobre OLE y asociaciones de extensiones a archivos que pueden utilizar aplicaciones. dentro de esta clave se enumeran: ESDI : Dispositivos de disco Fijo FLOP : Dispositivo de disco flexible. Esta rama. Cada configuracion. cuando no lo está. la subclase "Shell" puede contener subclaves "Open" y "Print" que definen las ordenes DDE.. El fabricante y ademas la informacion de la los controladores de los componente de la RED. Normalmente casi nadie tiene varios "perfiles" de hardware definidos y arranca con uno u otro. * Subclases extensiones de archivos. ENUM : Los "enumeradores" de bus de windows son los que aquí construyen el arbol del hardware.. Las sibclaves contiene informacion sobre el tipo de dispositivo.. en donde se especifican las propiedades OLE y de la interfaz de ordenes de una clase de documento. Si una aplicacion permite DDE (intercambio dinamico de datos). ademas de las subclave "description" para todo el software... cuando está conectado a una red. la letra asignada a la unidad.. ISAPNP : Dispositivo PnP ISA MONITOR : Monitores NETWORK : Protocolos.

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop DESCRIPTION: Esta subclave contiene los nombres y numeros de version del software instalado. La informacion especifica de usuario sobre la configuracion se alamcena en el camino logico relativo bajo HKEY_CURRENT_USER. La informacion en cada subclave la añade cada nueva aplicacion al instalarse. Durante la instalacion, las aplicaciones graban con el siguiente formato: HKEY_LOCAL_MACHIME\SOFTWARE\Nombre_de_compañia\Producto\Version Evidentemente, el propio Microsoft, graba aquí una clave llamada: HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT y dentro de ella una subclave llamada WINDOWS\CurrentVersion la cual es importantisima ya que es el "nucleo" de windows. La subclave SETUP que cuelga de la anterior, es usada internamente por windows durante su arranque. SYSTEM : Contiene los parametros completos para los controladores de dispositivos y servicios que son cargados en windows. Todos los datos que controlan el arranque de winwdows están aquí. Este conjunto tiene a su vez dos partes: CONTROL SERVICES Vamos a ver un poco mas con detalle estas ultimas ramas. CONTROL: Contiene parametros de arranque del sistema, incluyendo las configuraciones de arranque y apagado, rendimientos, esquemas de teclado, idiomas, etc.... Subclaves tipicas dentro de el son: ComputerName; Nombre del PC FileSystem: Tipo y configuracion sistema de archivos IDConfigDB: Identificacion de la configuracion actual Keyboard layouts: Lista de DLLs para el idioma del teclado Media Resources: Informacion de los componente multimedia Network Provider: Descripcion de los proveedores de RED NLs : Informacion sobre los lenguajes nacionales permitidos PerfStats: Estadisticas que se ven en "monitor del sistema" Print: Impresoras actuales y sus entornos de impresion Session Manager: Variables globales y lista de programas problematicos. TimeZonInformation: Configuracion de la Zono Horaria Update: Tipo de instalacion VMM32: Los nombres de las VXD que se han combinado para genera el controlador de dispositivos virtuales VMM32.VXD (esto depende de cada maquina, y se "combina" o genera al instalar windows). SERVICES: Presenta la lista de controladores del Nucleo, controladores de sistemas de archivos y controladorea de los servicios que pueden ser cargados al iniciar windows. Subclaves tipicas dentro de el, son: Agent_name: Subclaves para cada agente del sistema instalado (Monitor de Red, SNMP, etc....) Arbitrators: Arbitros para administrar recursos entre dispositivos competidores (arbitros de direcciones, DMA, E/S e IRQ) Class: Definidos aqui "todas" las clases de dispositivos que

77

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop permite el sistema operativo (discos, monitores, ratones....) MSNP32,MWNP32: Subclaves para la RED en modo protegido de 32 bit, incluye informacion sobre el acceso y los proveedores de seguridad. VxD: Controladores virtuales (VxD) que se cargan en el inico de windows. Independientemente de estos se carga SIEMPRE todas las VxD que se encuentran presentes en el directorio IOSUBSYS. ============================================================ Con esto se finaliza la clave HKEY_LOCAL_MACHINE. **** Es importatisimo volver a resaltar que las claves: HKEY_CURRENT_CONFIG HKEY_CLASSES_ROOT HKEY_DYN_DATA que nos muestra el programa regedit, no son mas que "alias" de otras subclaves del mismo nombre de HKAY_LOCAL_MACHINE, por lo que modificando cualquiera de ellas, (el alias o la original), se modifican ambas. Esto muchas veces es causa de confusion, ya que vemos informacion que aparentemente está duplicada. ================================================================ La otra (unica) clave real ademas de HKEY_LOCAL_MACHINE, es HKEY_USERS ya que realmente la clave HKEY_CURRENT_USER es un alias que apunta en ese momento al usuario actual que está contenido en HKEY_USERS. HKEY_USERS contiene la subclave .Default ademas de todos los perfiles de usuario previamente cargados por los usuarios que han accedido. La informacion de .Default, se usa para crear un perfil de usuario que ha accedido sin perfil de usuario personal. La subclave .Default contiene claves para AppEvents, Panel de Control, teclados, red, y software......etc. ================================================================ Esta es la estructura de la base de registro. Evidentemente está accesible tanto a windows como al resto de programas. El problema surge cuando algun programa no es "respetuoso" y empieza a machacar claves de otros. Hay que recordar que el registro es la base del funcionamiento de windows. Sin el registro windows es incapaz de funcionar y con el registro dañado, nos podremos encontrar cualquier cosa. Por ello, aconsejo no utilizar NINGUNA utilidad para mantener el registro. Unicamente debemos utilizar la potencia que nos dá "scanreg" para recuperar en caso de problemas. Y nada más... por ahora.... ya que el "resto", cada clave en particular, depende del program que lo ha instalado. Y si ha sido el propio windows CUUIDADO !!, ya que en este caso, puede depender de la version de la DLL responsable de esa clave. Por ello, hay que tener cuidado al dar soluciones. Lo que es solucion para una persona ante un determinado problema, puede no serlo para otra, ya que por ejemplo puede tener una version superior de los componentes. (por ejemplo: problemas con ODBC. Una modificacion para el ODBC estandar que viene con w98, puede funcionar correcto a un usuario, y puede destrozar, la misma clave, a otro que ha instalado por ejemplo VisualStudio, ya que este ultimo componente, reinstala completamente otra capa ODBC). BREVE RESUMEN DE LA CARGA DE DISPOSITIVOS Y USO DE WIN.INI Y SYSTEM.INI

78

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop ----------------------------------------------------------------------Bien, analizando el bootlog.txt podemos observar la secuncia de carga de los dispositivos de windows. Basicamente podemos resumirla: 1) Carga de los interface con un pocible sistema de red en modo real (las antiguas redes basadas en MsDOS). 2) Carga de la maquina virtual Java, de los enumeradores de dispositivos y del Mininucleo de NT que viene incorporado en windows 98 a lobjeto de poder tratar ya los drivers del tipo WDM (Windows Driver Model), así cono el control de los dispositivos USB. 3) Instalacion de los subcomponentes del sistema de archivos en modo protegido (FAT 32, sistema de CDROM, soporte al fichero de intercambio, soporte al subsistema Virtual 8086) 4) Carga e inicializacion del subsistema de RED. 5) Carga de "enumeradores" de dispositivos, estos son capaces de detectar y "enumerar" los dispositivos de nuestra maquina. 6) Carga de los dispositivos *.386 que tengamos definidos en la seccion [386enh] de nuestro system.ini (ninguno es necesario, si tenemos allí dispositivos definidos, es porque algun software, y sobre todo "viejo" software de windows 3.1, nos lo ha instalado) 7) Carga de soporte al ratón. 8) Carga del resto de dispositivos virtales de windows. Hasta este punto, unicamente se ha realizado la carga y no la inicializacion completa de estos dispositivos. 9) Inicializacion de las secciones criticas de los dispositivos anteriores. 10) Los enumeradores, empiezan detectar los dispositivos. Primero los dispositivos "legales" (no PnP)m y posteriormente los legales (PnP), y se van inicalizando los drivers de dichos dispositivos. En este punto *no* se cargan todavia los controladores minipuerto (.mpd). 11) Se cargan e inicializan todas las VXD existentes en el directorio c:\windows\system\iosubsys. Es peligroso en este moemnto la inicializacion de la maquina. Alguna de estas VXD puede ser la causante de pantallas azules y "cuelgue" de windows en este momento. Debemos vigilar este directorio y tener anotadas las que windows nos ha instalado. Posteriormente cuando instalemos software de terceros, vigilar que VXD os puede poner allí, por si el sistema no arrancase, o a partir de ese momento, sacase pantallas azules. Las VXD son muy "golosas", ya que se ejecutan en el anillo cero (en modo kernel) de la maquina y por tanto tienen control absoluto sobre ella. Por tanto un programa de aplicacion podría comunicarse con "su" VXD y tener control de la maquina. Por estar en el anillo 0, son muy peligrosas. Una VXD mal codificada, nos causará pantallas azules aleatorias, o incluso que windows no llegue a arrancar. 12) Se inicializa el subsistema de entrad / salida y el subsistema de paginacion. Iguallmente se inicializa en este punto el ACPI si existiese. 13) Se enumeran el resto de dispositivos ACPI y se cargan sus controladores.

79

pero hace caso a los datos del registro que han sido cargados con el . Posteriormente se carga GDI 32. Reconocimiento entonces de los posibles modem PnP en dicho puerto. En este momento... y simplemente borrarlo a mano.ini no deberían existir y solamente por motivos de compatibilidad tendrían sentido. Estos minipuertos. windows no nos arrancará. Y se cargan los fonts basicos de windows. podemos buscar el mpd (normalmente en c:\windows\system\iosubsys). pero es totalmente dependiente a la informacion de los dispositivos en el registro.. Se carga primero el GDO de 16 bits.mpd (miniport) de algun fabricante de hardware. 18) Se prepara la inicializacion del GDI.INF del dispositivo. Esta carga realmente activará ya todo el sistema controlador de un dispositivos de Mass Storage (es decir de un dispositivo de almacenamiento en disco o minipuertos de las tarjetas SCSI.. José manuel Tella Llop 14) Se cargan todos los dispositivos virtuales contenido en el kernel de windows. Posteriormente ya podremos darlo de baja en el Administrador de dispositivos. Realmente no es así. Todo el acceso a las funciones graficas (cuyo responsable es el GDI). 17) Se termina ya la carga de los controladores de fabricante. e inclusive el soporte multimonitor. En este punto se carga entre ellos el ESDI_56.ini). Igualmente.. 19) Se cargan los modulos USER y KERNEL (tanto de 16 bits como de 32). Si es así. ya se "enciende" el fondo del escritorio de windows. puede suceder un "cuelgue" en este punto al cargar algun ... Es decir. 16) Con estos drivers. se realiza "siempre" a traves del GDI de 16 bits. Siendo "puristas" tanto el win. de teclado y raton (dispositivos de entrada). 15) Se cargan los controladores de minipuerto. Y esto es debido a todo el subsistema de 16 bits que posee windows y que basicamente se centra en el modulo GDI. Esto es la teoria. estan realizados y son responsabilidad del fabricante del dispositivo).DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Por tanto se vuelven a inicializar ya todas las capas correspondiente y todo el "circuito" queda cerrado. invova la de 16.PDR. Evidentemente esto implica que los 80 . 20) Se inicializan ya los controladores de display y se cargan los fonts correspondientes al display. y este al resto de subsistemas graficos. debemos arrancar en modo a prueba de fallos y eliminar el dispositivo.ini (y parte del win. Si no nos dejase tamoco... Este controlador es generico para todo el acceso a IDE. Este es el controlador especial (de Microsoft) para las controladoras IDE-ATAPI. Monitor. ya se finaliza el reconocimiento de dispositivos y todos sus enlaces. 21) Se enumeran los dispositivos en los puertos serie.. 22) Se enumeran los dispositvos de Floppy y el sistema de deteccion de dipositivos de Cinta de Backup. ** En esta carga se ha tenido presente tanto la informacion del regstro así como la informacion contenida en el system. al fina e GDI 32. el controlador el mismo. será el causnate de que el sistema no nos arranque y se quede colgado en este punto.ini copo el system. Por tanto un -INF erroneo. Aunque nuestra tarea sea de 32 bits. Si los eliminamos. y los controladores de DIBENG.

. CARGA DE PROGRAMAS EN EL INICIO -----------------------------* Este es un tema por el cual se pregunta muy a menudo. lo utilizan antiguos programas windows 3. Estas instrucciones son totalmente heredadas de windows 3.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . lo dejaban allí).ini que reside en el directorio de windows. son provocados por un controlador introducido en esta seccion. ** Es importante un par de secciones del SYSTEM.. puede dejar "orden" a windows para que arranque un programa al iniciarse windows. Esta está totalmente heredada de windows 3." (punto y coma) por delante de la linea correspondiente.INI. Si vemos algun dispositivo . y por tanto... Debemos vigilar esta seccion en caso de problemas con el arranque de windows. Podemos abrir con el programa "regedit" el registro.. (las viejas aplicaciones 3. Estos puntos son (algunos muy evidentes): 1) En el grupo: Programas->Inicio 2) En las lineas load= o run= de fichero win.. * [mci] Esta seccion hay que vigilarla tambien "con cariño".386.1. los problemas con el QuickTime anterior a la version 3. Es otra seccion candidata a tener una copia y que la vigilemos despues de cada instalacion. los dispositivos virutales de windows. Para ver si este fuese el responsable de nuestro problemas.1. sino a algun software de terceros. puede tener su causa en esta seccion. El ".. y verificar la clave: HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion 81 . que ahora en windows 95 / 98 se especifica ya en el registro. debemos recordar que existe un par de lineas en el win.in con la instruccion load= . Realmente los . Si lo tuviesen. Por tanto cualquier problema con captura de imagen e incluso con tratamiento de imagen.. En general. Allí en windows 3.. y por tanto windows no lo cargará. * [386enh] Es donde se pueden cargar mediante la linea device=.1 era donde se especificaba la carga de algun programa o servicio. poniendo un ".386 son tambien dispositivos virtuales. en los que un programa de instalacion. Estas lineas son otros candidatos a mirar en caso de problemas.. o run=. y tambien muy a menudo las respuestas aunque sean verdad son incompletas." transforma la linea en una linea de comentario. casi seguro que nos causrá algun problema. Por tanto no debe tener contenido dichas instrucciones. debemos saber que *no* corresponde a windows. podemos deshabilitarlo temporalmente. es que realmente sí que hemos intaldo algun "viejisimo" programa de windows 3. Estos eran los antecesores de los nuevos archivos VXD. 3) En el registro.1 y corresponde a los dispositivos de captura de video y audio (y su manejo). Existen varios sitios.386 en esta seccion.1 para incorporar los . * Por ultimo. José manuel Tella Llop drivers de nuestra tarjeta grafica son de 16 bits (SIEMPRE). En particular.1. casi.

donde deberemos tocar. y en la segunda es para ejecutarlo y registrarlo como "servicio".HIGH poder utilizar el maximo de memoria en DOS. Por tanto deberán verificarse tambien dichas claves si existiesen. Mejor graficamente: 0000 . 6) Debe tomarse nota. que en sistemas multiperfiles. Pero. "no existe". 4) Tambien en el registro.marco de mapeo al video Memoria para pantallas de texto (monocromo) -32 KsMemoria para pantallas de texto (color) -32 Ks- 82 . 5) Realmente la clave anterior.... ya sabemos como conseguir memoria "estendida" (HIMEM.. y por tando y con las directrices DOS=UMB. OTROS TRUCOS . La diferencia teorica entre ellas es que en la primera (en Run)... y esta suele ser la clave "desconocida". pueden existir igualmente las claves Run y RunServices.OBTENER LA MAXIMA MEORIA MSDOS BAJO WINDOWS ---------------------------------------------------------Recordando los capitulos anteriores. Esta es: HKEY_USERS ... Pero.. Pero siendo puristas y por mantener una definicion correcta de tarea y servicio.SYS).. si. curiosamente cuando entramos en windows y damos el comando mem /d/p vemos que no tenemos memoria "alta" (UMBs) disponibles. podrían exisitr claves por usuario.. es para ejecutar un programa como "tarea".. José manuel Tella Llop y dentro de esta ultima.. Hasta la direccion 'A000' de memoria son los primeros 640 Ks... colgando de la clave HKEY_USERS. existien las subclaves Run y RunServices. podemos localizar las claves: Run y RunServices. se debe hacer así. Este concepto es importante en windows NT. en win 95/98 tiene poco sentido ya que el propio programa es el que permanece o no como servicio.DEFAULT Software Microsoft Windows CurrentVersion Por tanto es en esta calve.EXE). 9FFF A000 B000 B800 640 Ks Memoria grafica de video -64 Ks.. puede hacerse en: HKEY_CURRENT_USER Sotfware Microsoft Windows CurrentVersion y allí. Recordemos un poco el mapa de memoria "fisica" del msdos.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. Sino que es una "vista" en ese momento de una clave rea lque sí que existe en el registro.. "expandida" y marco de pagina (EMM386. En cualquiera de ellas puede mandarse la ejecucion de un programa..

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . El resto de cosas... porque el propio MSDOS. Y en el autoexec. Matizo que es una configuracion "standard"...sys... la direccion libre en vez de empezar en C800. podemos incluirle la linea I=B000-B7FF para poder utilizar la memoria de los antiguos adaptadores graficos monocromos (otros 32 Kbs).. Y ahora la pregunta ¿como utilizarlos? ** Utilizacion de la memoria superior: Bien. ahora ya hemos terminado de cargar el DOS y empieza windows a cargarse. de red.... si no tenemos otras tarjetas (SCSI. cargamos los programas con "lh" (loadhigh) por delante de ellos. que no haría falta nada más que : en el config. etc. Unicamente debemos añadir en la seccion [386enh] del System.. pero cuando entramos en windows y damos el mismo comando.. muy bien. las lineas devicehigh= display. como ya hablaremos mas adelante: NO HACEN FALTA. vemos que en la zona alta de memoria no nos queda nada. sabemos la memoria libre. ya carga allí lo que puede). José manuel Tella Llop C000 C800 E000 F000 FFFF ROM BIOS de la tarjeta de video -32 KsLIBRE ¿? -96 Ks.. Con esto es suficiente para windows.. ya colocamos las instruccions "devicehigh" (en vez de device) y en el autoexec. "mete" allí su zona de buffers. (recordad. Y ademas la memoria libre que tenemos bajo MSDOS. etc.ini (que está en el directorio de windows).... en cuanto se encuentre DOS=UMB. tendriamos: 96 Ks + 32 Ks = 128 Ks libre por la zona alta. empezaria mas tarde y tendriamos menos espacio libre. Además. la primera parte sencilla. Entonces en una configuracion normal. en cuanto puede. en el EMM386. Si lo utilizasemos.) que tengan ROM BIOS.. **** ATENCION: esto unicamente sino utilizamos "multimonitor".. igualmente. Si a continuacion de la linea del config que carga el EMM386.. realmente no "vemos" los 128 Ks libre nunca.. Si arrancamos en "solo simbolo del sistema" veremos con un mem /d/p la memoria superior que tenemos "antes" de entrar windows.. (por eso. Y la linea keybsp con "lh".EXE. se pueden quitar y ya veriamos como podemos recargarlas si hiciesen falta a posteriori para entrar en modo MSDOS) Retomando lo anterior. y el Country.. el propio MSDOS. aunque no hayamos cargado nada. la 83 .¿? ** Recuperacion de la memoria superior bajo windows La memoria anterior se puede recuperar. las dos lineas mode *no hay que ponerlas "lh" a estas.. por favor repasar los capitulos anteriores). Ya veremos como puede saberse esto. Es decir.. Pero.!!!!!! Marco de pagina memoria EMS (si tenemos activo ENN en EMM386) ROM BIOS de la placa madre 64 Ks más donde el dos carga parte de él (DOS=HIGH) Bien lo anterior es una configuracion estandard con EMM386 y memoria EMS y la instruccion DOS=HIGH. Si tuviesemos esas tarjetas. files. entonces estos programas se cargarán en memoria UMB..UMB (sino se ha entendido hasta aquí. NO SE PUEDE recuperar dicha memoria.

Pero en maquinas con varias ROM BIOS (scsi. etc. Pensemos que en la configuracion de memoria descrita anteriormente. nos dán el espacio libre en disco. ** Bien hasta ahora hemos estado hablando de drivers de disposivivos. o error al cargar el DOSMRG. José manuel Tella Llop linea: LocalLoadHigh=On Y reiniciar. Puede..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . ¿no es mas facil ponerlo en un sitio comun y que todos lo calculen igual?. El punto 2) es muy sencillo en la configuracion que he descrito antes.. se haga desde un solo sitio. es que las cosas que haya que realizar muy repetitivamente.. Antes de entrar a windows. O bien es una definicion tecnica o bien se quedan tan panchos diciendo que es una libreria dinamica. está en un solo sitio y solo debemos tocar en ese sitio. por ejemplo. 2) Lo haga bien o lo haga mal. enviando un mensaje de "imposible. no cargar el keyb en alta a proposito.. programas DLL's y diversos componentes de windows... necesita "al menos" 4 Kbs en cada region de memoria superior (UMB). podemos hacer dos cosas: 1) Eliminar la linea anterior y resignarnos a no tener memoria superior. que el sistema no nos arranque.. ¿que son. el de la calle se queda con cara de besugo sin saber que le han respondido y la mayoria de la las veces sin atreverse a repetir la pregunta. en cualquier sistema operativo. se utiliza sinó se hace (pensandolo bien) y se utiliza desde cualquier sitio. y que funciones y para que sirven las DLL's? LIBRERIAS DINAMICAS EN TIEMPO DE EJECUCION: DLL's -------------------------------------------------** Mucho se comenta y se ha comentado sobre la DLLs. 84 . Vamos a ver si yo soy capaz de explicarlo de una manera sencillita.. 2) Mas elegante: buscar al culpable y reordenar la carga. Debido al punto 2) si necesitamos cambiar o ampliar su funcionalidad. Facil de locaclizar para su arreglo si tenemos problemas. y a veces. tendremos tres ventajas: 1) Ahorro de esfuerzos. Podemos poner un ejemplo: muchos programas.... En este caso. Pero realmete. Si ya esta hecho. Pero n pocos sitios he visto una definicion que el usuario final sea capaz de entender. tenemos dos regiones (de B000-B7FF y C800-DFFF). O bien cargarlo (forzado) en otra region.. Con ello. por ejemplo..... red. * Lo logico.) puede ser un poquillo mas complicado. El posible culpable es que windows. Entonces ¿cada uno de ellos lo calcula de una manera?. para dejar esos 4 Ks. debemos "ver" en MSDOS puro al menos 4 Ks libres en cada una de ellas. Y el caballero de a pié. Programa detenido". al menos está en un solo sitio. 3) Facil de mantener. o cualquier programa.

. serán mas "gordos". y generar con ellas una libreria dinamica (DLL). Pues el resultado está claro: nuestro windows dejará de funcionar correctamente. si las funciones las tenemos en una DLL. el sistema operativo se resiente. Pues es verdad. anteriormente eran productos opcionales y de "libre" distribucion.99 Gb. debido a que es tan antigua que no "conocia" la FAT 32). Y ademas su proceso instalador es "malo" y no verifica que exista una nueva version. en que por sustituir una DLL de una aplicacion. porquw es mas logico que el otro concepto: "estatica". sumar dias a una fecha.. ver si la fecha es logica o nó. tambien puede generarse... decidió en su dia distribuir esa DLL por si acaso alguien la tenia dañada. siempre nos indica que el disco es de 1. Todos llevaran incorporados dentro esas funciones. Es facil e intuitivo.. el "motor" de access para que nos funcionen las aplicaciones realizadas en Access. Por desgracia. Deiferencia en dias entre dos fechas. Voy a intentar explicarlo. no lo es tanto. a la logica de la programacion). esta es la teoria. Y ademas somos conscientes que se va a utilizar mucho estas funciones. imaginemos que somos programadores y que necesitamos unas funciones basicas de manejo de fechas en nuestra aplicacion. llamandola. nunca se habia distribuido con el sistema. Por ejemplo.. En la practica. vemnos que en el mundo real muchos problemas nos provienen de que "alguien" nos machaca una version de una DLL y nos deja de funcionar cualquier otro producto (incluso el mismo windows). sabría el espacio libre.. Por tanto ni el propio Microsoft hace caso a sus especificaciones (mejor dicho. tanto en nuestra aplicacion. deberemos cogernos toda la aplicacion y volverla a generar (volverla a "linkar") y distribuir toda la aplicacion de nuevo. ** Este caso que parece anecdotico. Decimos "dinamica". pero se habia dado siempre 85 . ** Pero no todo van a ser ventajas. El propio sistema o cualquier otro programa. es preparar bien esas funciones. Imaginemos que una DLL (antigua) no sabe calcular bien alguna cosa (por ejemplo el tamaño en disco. Por tanto si son "estaticas" tenemos 2 desventajas: 1) Los programas ejecutables. Una libreria estatica. pero obliga a que los programas estén "linkados" (montados) con esa libreria en sus tripas... Por ejemplo. 2) Si modificamos algo de esas librerias. nos damos cuenta que en discos mayores a 2 Gb. ** Como nota anecdotica. En cambio.. ni el propio windows 95/98 lo hace. Fijaros que es un caso. una funcion de una libreria del sistema (de una DLL). sino que copia directamente la DLL.etc.. José manuel Tella Llop Esto seria logicamente. que esa DLL se arregla y se distribuye con una nueva version del sistema operativo. simplemente modificando dicha DLL no tendremos que hacer nada mas con nuestra aplicacion. como en otrs que vayamos a desarrollar. la teoria ya está. Bien.. nos dá siempre correctamente el espacio libre en disco y el espacio total. Y vamos a imaginar tambien que un programa "viejo" de alguna aplicacion de terceros. Pensemos que los productos que ahora mismo vienen con el sistema operativo. Tenemos un ejemplo: al abrir My PC. Pero pinchando en la papelera de reciclaje (en propiedades)..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Imaginemos tambien.. Lo logico en este caso.

(Parte 24) ---------------------------------------------------OTROS TERMINOS COMUNES EN WINDOWS. José manuel Tella Llop licencia a los desarrolladores de aplicacion para distribuirlo ellos. (parte 24) Fecha: martes. nos mostrará el mensaje de error que he citado anteriormente. DRIVERS Y VXD -----------------------------------------------** Muchas veces hemos oido la palabre "driver" o una "VxD". Es normal que al ir aumentando el numero de version de la DLLs. Incluso nos sorprenderemos que funcione y sea capaz de arrancar. despues de alguna instalacion en el cual de pronto recibimos el mensaje "Invalid DYNALINK" o "Simbolo DYNA no definido". las DLLs actuales traen decenas e incluso cientos de funciones. etc. A veces porque se corrigen problemas y a veces (las más)..... mas importancia de lo que parece: nos salvará la vida mas de una vez.. nos machacará ahora parte del sistema... Lo mismo podemos decir de otras capas de windows: ODBC. Hay un caso que nos sucede a veces. *** Retomando el tema anterior. por lo que en capitulos anteriores hemos insistido en la necesidad de utilizar el SFC. Actualmente parte del motor de access se distribuye como DLLs comunes en windows 98. hemos visto que as DLLs son necesarias y ademas nos pueden dar muchas ventajas (y algun inconveniente. pero dentro de ella. Esto nos indica un "machaque" de DLL por una antigua. no existe esa funcion. Si algun programador de Access tiene un sistema de distribucion propio (no utiliza el de windows).. porque se añaden funcionalidades -funciones nuevas-) Si un programa nos sustituye una DLL anterior.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. Y ademas nos sorprenderemos cuando despues de instalar unas cuantas cosas.. por razones de eficiencia. probablemente esta no tenga alguna de las funciones que necesite una aplicacion.. Bien. Y debemos dar a esta pequeña herramienta.. Por eso "aumenta" su numero de version.. Realmente el mensaje quiere decir que se está intentando utilizar una funcion de una DLL... las nuevas funciones similares o que utilicen mucho las de una DLL. Y sobre todo hemos oisdo hablar de ellos cuando tenemos problemas. etc. DRIVERS Y VXD -----------------------------------------------De: Jose Manuel Tella Llop <jmtella@csi. TWAIN. ejecutemos el SFC. 01 de junio de 1999 19:32 DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA. ** Es por ello. En este caso. ASPI... sino en una mala distribucion). al ir a utilizarlas. y "viejo".... OTROS TERMINOS COMUNES EN WINDOWS.. que utilizan tanto el sistema operativo como cualquier aplicacion windows. se "introduzcan" en esa misma DLL. OLE. y veamos que cualquier parecido de nuestro windows con el que instalamos inicialmente es mera coincidencia.. o bien cuando nos sale 86 .. y la DLL sí que existe.com> Asunto: Desde que pulsamos el boton de encendido de nuestro PC hasta. pero no en si mismas.

José manuel Tella Llop una pantalla azul (provocada por un "casque") en windows o bien cuando queremos mejorar las "prestaciones" de nuestro PC. Dispositivo. Mini Controlador Dispositivo. Administrador de configuracion..... todos los sistemas operativos son iguales). ya que nos implicará un "culgue" del sistema... 5) Controladores de dispositivo 6) .. Dispositivo. Este a suvez.. 1) 2) 3) 4) Otros componentes del sistema operativo. y alguien nos comenta: "pues acaban de sacer los ultimos drivers de . es responsabilidad de Microsoft...DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. Base de Registro 3) Nucleo de Windows 4) Administrador de maquina Virtual... Administrador des sistema de archivos instalable. Por lo anterior. hardware .. (bien. en diseño. Normalmente no se realizan suficientes pruebas de estas VxD. Es decir. sino por los fabricantes y son incorporados a la distribucion de Windows si "realmente" superan las certificaciones impuestas por Microsoft. os puedo decir que es uno de los temas mas complicados de realizar. Mini Controlador. (A este nivel.. sino porque es muy dificil de probar (y muy engorroso). tendremos justo el diagrma a grandes "bloques" de windows). Controlador Universal Mini Controlador. lo podemos descomponer de arriba a abajo en otras "cajitas". Vamos a intentarlo ver desde el punto de vista de un sistema operativo. y lo pintamos de arriba a abajo. ** Un controlador de dispositivo virtual (VxD) es un programa en modo protegido de 32 bits y que administra un recursos del sistema. en el punto 3) están los minicontroladores cuyo desarrollo es responsabilidad de los fabricantes.. Bueno. como programador.. tanto su desarrollo como su mantenimiento. DIAGRAMA DE BLOQUES DE WINDOWS -----------------------------La definicion de windows es (de arriba a abajo): 1) Aplicaciones 2) Interfaz de Usuario e Interfaz de ordenes.. 87 . Mejor dicho desde el punto de vista de un "diseñador" de sistema operativo. Vamos a ceñirnos a los "Controladores de dispositivos" es decir al punto 5).. si ponemos "cajitas". incorporamos cada punto anterior en una de ellas. Pues de todo hay.... pero la mayoria no estan desarrollador por Microsoft.. es tremendamente peligroso una VxD mal realizada. Windows trae soporte para muchos de ellos. Del punto 2) hacia arriba. Se ejecuta en modo Kernel en el anillo 0 (ver capitulos anteriores) y por tanto tiene todos los niveles de privilegio para efectuar cualquier operacion.".. No por la complicacion de hacer la VxD en sí (realmente con conocer el hardware del dispositivo y poco más nos puede servir). Por otra parte.. ¿y todo esto que és? ¿para que sirve? ¿puede realmente traerme ventajas o más bien problemas?.

Sistema de Archovs de CDROM (VCDFS). Nivel SCSI con controlador de MiniPuerto. Son los equivalente a lo que en windows 3. Redirector de Red. 6) Contorlador de Puerto. En estos .. Para un dispositivo de Temporizacion se conoce como VTD.) 1) Administrador del Sistema de Archivos Instalable 2) FAT de 32 bits (VFAT). etc.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Posibles componente de software de terceros. las pintaseis.. MPR. Igualmente para otros componetes de windows (y de otros sistemas operativos). José manuel Tella Llop La "X" de una VXD. Tengamos o no tengamos tarjeta fisica de red. utiliza para ellos memoria "bloqueada".INF vienen normalmente las cadenas de caracteres con las que el dispositivo se ha reconocido (recordad el tema de PnP). Igualmente. Vamos a ver ahora su "descomposicion" SISTEMA DE ARCHIVOS INSTALABLE (IFS) -----------------------------------Volviendo a nuestro sistema de "cajitas" (lo siento. habiamos visto el Sistema de Archivos Instalable (IFS).. que nos suminitra el fabricante..INF. Toco unicamente un minidriver y todo debe funcionar. La capa ASPI del punto 6) es suministrada por el propio Windows 95 / 98. unicamente tengo que tocar la "capa" correspondiente.. Son los *. lo que los fabricantes de terceros nos suministran es el punto 6).. Pensemos que de cara a los diagramas de bloques ("cajitas") que hemos visto. Estaria bien.. que en vuestra documentacion. o bien los controladores de Minipuerto (*. muchas veces se sustituye por otra letra..1 eran los archivos .MPD) Estos residen en c:\windows\system\iosubsys y son cargados "explicitamente" (al contrario de las VxD que existan en dicho directorio que windows las cargará "implicitamente"). Un capitulo interesante y que merece la pena detallar. 4) Supervisor de Entrada / Salida (IOS) 5) Otros niveles (no significativos). ** El conjunto de VxD o PDR.. monta los drivers que allí vienen especificados.386 Veamos ahora un complento a lo anterior. como VPD. Recordemos que en diagrama de capas de windows. el resto de subcomponenetes está siempre claramente diferenciado a nivel de "capas". es configurado en el regstro por un pequeño fichero de texto ("script"). y windows lo unico que hace.. los VxD en Win95 / 98.... Es decir marcada como no pagiunable. Si quiero añadir una nueva funcionalidad al sistema: lo mismo. es la arquitectura de red..INF. Es lo más logico. Si algo funciona mal. Es decir lo controladores de Puerto (*.. para una impresora (Printer). es buscar la cadena del dispositivo en esos . el sistema operativo. Como nota curiosa. para que permanezcan siempre en memoria e intentar optimizar así los accesos a estas VxD. Esta arquitectura se inicializa siempre al arrancar windows. etc. pero no puedo pintarlas en estos archivos de texto. se pueden cargar dinamicamente (la mayoria de ellos) y no es necesario hacerlo en la carga inicial de windows. si la arquitectura de red está pensada 88 . Una vez encontrada.. Así un dispositivo virtual para un dispositivo de visulalizacion (Display) se conoce como VDD.PDR). 3) Subsistema de E/S (Entrada / Salida) de bloqueo. Bien.

* SESION: Es la encargada de iniciar. Unicamente vemos 3 componentes (Cliente. Quien reciba el paquete.. Vamos a ver cada capa: * APLICACION: es el nivel al que pueden acceder las aplicaciones. Debe determinar ademas la "ruta" desde fuente a destino y es el encargado de conmutar. que consta de 7 capas.. nos permite el poder sustituir facilmente una de las capas por otra y que la red nos siga funcionando correctamente. * RED: Es la capa encargada de traducir direcciones logicas y nombre. es decir su conectividad con la capa superior y con la capa inferior. así como la compresion de ellos para intentar transferir por la red el minimo numero de bytes. que será el driver de la tarjeta fisica de red.. En el panel de control->red. perfectamente definida su entrada y salida.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . pero que de cara a los bloques superiores responda igual. así como sus especificaciones. (todo el mundo actualmente tiene modem... Representa los servicios que pueden utilizar las aplicaciones de windows. 7) 6) 5) 4) 3) 2) 1) Aplicacion Presentacion Sesion Transporte Red Enlace Fisico * La ventaja de tener un diagrama de capas. y cada componente de una capa. El modelo de capas mas extendido es el modelo OSI. Es la encargada tambien de los niveles de seguridad y permite la encriptacion y cifrado de datos. Puede aplicarse a cualquier sistema. si se ha recibido correcto un mensaje dar el OK. * Las redes actuales están basadas en un diagrama de capas (similar a las "cajitas" que veiamos en el capitulo anterior. Unicamente podrán acceder a este nivel. en la misma capa de transporte. usar y finalizar una sesion de dialogo entre dos programas de aplicacion en dos PC's conectados en red. Se encarga de regular el dialogo.. cuando. por otra cajita que sea la conexion telefonica a redes.. unicamente sustituyendo la ultima cajita del bloque. es de ambito general. quien transmite. El PC -y windows.. José manuel Tella Llop igual. Unicamente matizaremos explicitamente alguna caracterisitica que posea el win95 / 98 y que no posean otros sistemas... la introduccion a las redes que vamos a comentar aquí.está orientado a la conectividad) ARQUITETURA DE RED EN WINDOWS 95 / 98 ------------------------------------Aunque hablamos sobre win 95 / 98. * TRANSPORTE: Se encarga de manejar los errores de reconocimiento y la posible recuperacion. Transportes y Servicios). que *no* tienen nada que ver (o muy poco) con las capas de una red. esta será nuestra red en windows. 89 . Empaqueta grandes mensajes cuando es necesario y se encarga de trocearlos para transmitirlos.. encaminar y controlar la congestion de datos.. * PRESENTACION: traduce los datos desde el nivel de aplicacion a un formato intermedio. etc. a direcciones fisicas. será el encargado de reconstruir el mensaje..

si tenemos u router. Cuidado!!.. que realmente es un controlador del sistema de archivos en modo protegido (32 bits). DEC Pathworks... Esto implica que el cliente para redes Microsoft (y la posibilidad de compartir archivos e impresoras) solo fincionará si está presente el NetBIOS. no que sea lo mismo. (he dicho "asimilable". Esto ultimo ¿que indica?. el TCP/IP se queda entre las cpas 3 y 4. y el TCP lo mismo.. Pero este transporte no es "routeable" (no se puede "redirigir").. Otros transporte que nos suministra es por ejemplo el DLC (para dialogo con arquintecturas SNA -grandes mainframes de IBM-). Igualmente pueden montarse en windows. si puede. PC-NFS de SUN. 90 .. El protocolo de comparticion de archivos. los mas conocidos on NETBEUI (protocolo propietario de Microsoft). nos suministra varios tranportes de red. Pero. transportes de red de "terceros". Es la responsable de transferir una trama de un PC a otro. ambos PCs no se "veran".. José manuel Tella Llop * ENLACE: empaqueta los bits de la capa fisica en tramas. sí que se veran ambos PCs a traves de este transporte. al pinchar el transporte en Panel de Control->Red). Este protocolo no es asimilable a las capas anteriore. porque esto es lo importante. La unica matizacion sobre lo anterior es el TCP/IP. Despues de enviar una trama. Por o tanto si lo tenemos así. seria asimilable a la cpa de RED.. no los veremos.. Incluso soporta protocolos en modo real (MsDOS) y sus capas de red son cpaces de dialogar con una (solo UNA) red en modo real. pues que si los PCs pueden unirse mediante NetBIOS se podran utilizar sus discos y vermos dichos PCs en el Entorno de Red. define el como se une el cable al Adaptador de Red y la tecnica de transmision empleada para enviarlos por el cable. IPX (desarrollado por Novell) y TCP/IP (desarrollado por el departamento de defensa de EEUU)... El IPX. todo tiene ventajas e inconvenientes. * FISICO: Transmite bits de un PC a otro y regula la transmision de cadenas de bits sobre el medio fisico. * El TCP/IP instalado sobre win95 / 98. va sobre NetBIOS. Por tanto si entre nuestros PCs existe un "router" (o un "proxy" que haga de router). Sino es así. Este cliente permite la conexion sobre cualquier protocolo NDIS que admita interfaz NetBIOS. espera siempre el OK del receptor. como por ejemplo Banyan VINES. CLIENTE PARA REDES MICROSOFT ---------------------------Windows nos suministr un cliente propio. Recordemos que el Netbeui está diseñado sobre NetBIOS. el trafico NetBEUI no podrá pasar. permite conectarse a redes LM (Lan Manager).. por ejemplo. Esta capa.. Veamos: * Si utilizamos NetBEUI sabemos que "seguro" que tenemos NetBIOS. * Si utilizamos IPX. podemos decirle que vaya sobre NetBIOS (en la ficha propiedades.. Por decirlo de alguna manera. etc. y ademas. puede ir o nó sobre NetBIOS. La arquitectura TCP es diferente al OSI).. Windows 95. Por ejemplo. Es decir no hay garantia que vaya sobre NetBIOS. Esta es la defincion y funcionalidad de las capas de red. TCP sería asimilabla al transporte y el IP. Sí este es el unico transporte de red.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .

.. y un transporte. En Internet el unico transporte que nos va a funcionar es el TCP/IP (y ademas no irá sobre NetBIOS. El defecto es muy sencillita. es decir conectados en una de las siguiente posibilidades: 1) Con una tarjeta de Red 2) Con un cable serie o paralelo 3) Via modem (con una llamada en directo al otro PC) Vamos a repasar un poco las redes y el soporte que viene incorporado en w95/w98. el TCP/IP. que no siempre hay garantias de que si tenemos TCP. Igualmente en el TCP/IP hay servicios. a nivel logico debemos tener 3 componentes: 1) Cliente 2) Transporte 3) Servicios Pueden existir varios de cada tipo. lo que voy a describir aquí. José manuel Tella Llop no irá sobre NetBIOS. ** Evidentemente mi consejo es instalar los 3. funcione el cliente para redes Microsoft.. Realmente el TCP/IP no tiene "cliente". No consumen recursos y de esta manera. en principio sirve para dos PCs conectados de cualquier manera. telnet. Si pulsamos en Panel de Control->Red. Pero como esto es lo extraño.. tarjeta de red. por si el día de mañana queremos unir dos PCs via cable.. Por tanto. o transportes o servicios. o si queremos decirlo de otra manera. vereis la que instala por defecto w98. por lo que no se podrá utilizar en Internet el CLiente para Redes Microsoft). Instala un cliente de windows. Esto carece de sentido en Internet.. vamos a olvidarnos de ello). el "cliente" es el Navegador... el Cliente para redes Microsoft. o bien ciertos productos de terceros. es decir varios Clientes. Vamos a intentar ahora aplicar esta teoria a la conectividad de dos PC's. o el Correo o las News.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . aunque tengamos definidos los tres transporte (lo cual es comodo. puede "encapsular" Netbios sobre TCP/IP -si nadie hace routing. (a veces.. En una red. No es obligatorio porque no van a funcionar. en el ficha de propiedades de la comunicacion telefonica. deberemos quitar la marca al NetBEUI y al IPX. COMO CONECTAR DOS PCs en RED ---------------------------Bien. para que podamos leer y 91 . etc. es decir en una conexion directa.. que los propios PC's al dialogar utilicen el transporte que puedan.). como clientes NFS los cuales nos permiten mapear unidades de red (más adelante veremos que es esto). pero agilizaremos la conexion con el servidor de nuestro ISP. ** Veamos nuestras necesidades: supongamos que lo que queremos es conectar dos PCs y asignarnos un disco sobre el otro PC. pero w98 no nos dá ningun servidor de los servicios TCP (FTP.. o incluso en llamada telefonica en directo)..y por tanto podríamos utilizar dicho liente directamente. Esto quiere decir.

En panel de control->red. podran enviarse mensajes entre ellos.. veremos sus "servicios" y podremos utilizarlos directamente como si estuviesen en nuestro PC.. ya la tenemos en disposicion de poder conectarnos. con password o sin password. Para ello con el boton derecho en un disco (o en una carpeta). y teclear cualquier usuario. tiene la misma configuracion (al menos el mismo tranporte de red. Salvamos la configuracion y nos mandará re-iniciar el PC. Para ello vamos a instalarnos una sencillita red "microsoft". les podemos asignar una letra como si fuesen un disco.. Para ello añadimos el NETBEUI. realizamos la misma operacion (si nos interesase que escriban en nuestra impresora). debera crearse un conexion. vamos a ceñirnos a unas cuantas que nos da gratuitamente w98. pinchamos el "permitir el acceso". le pinchamos el boton de añadir y añadimos el "Cliente para redes Microsot" (eliminamos el cliente de windows). como si lo estamos ofreciendo. Igualmente ahora debemos añadir ademas. el PC remoto. Una vez re-arrancada la maquina. o bien asignarnos su impresora e imprimir el ella. Debemos poner una password.. Esta será la password que debe teclear quien quiera conectarse a nuestro PC..). Igualmente con el boton derecho en la impresora. ya que el TCP/IP no sirve. con el boton derecho sobre ellos. RESOLVER PROBLEMAS DE CONECTIVIDAD EN REDES ------------------------------------------Basicamente debemos comprobar: 92 .DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . pinchamos en icono "Entorno de Red" en el escritorio. Es decir quien vaya a conectarse. NOTA: Si ademas ambos PCs arrancan el programa "winpopup". Tenemos completa la red..... pero bueno. Para ello en Mi PC->Acceso Telefonico a Redes->Conexion->Servidor de Acceso. en este caso el NETBEUI). Pinchando en él. Digo "compatible". y allí nos aparecera. José manuel Tella Llop escribir en el como si fuese otro disco de nuestra maquina (mas lento. "Transporte(s)" y "Servicio". Igualmente debemos añadir un transporte compatible con dicho cliente. necesitamos una red con las tres capas "Cliente". lo veremos con una "mano" por debajo. el "servicio" de compartir archivos e impresoras. Nos sacará un cuadro de dialogo donde nos dejará configurar si dejamos ese servicio en lectura o en escritura. Para realizar lo anterior.. que el "otro" PC. y tambien "ofrece" servicios. pero la password debe ser la que nosotros hayamos puesto. le damos a "compartir". debemos "ofrecer" que es lo que queremos que otro(s) PCs hagan con nuestros discos e impresoras. (el resto son de pago y son de terceros). Ademas. Una vez que lo hayamos compartido. Una vez conectados los PCs. Antes de intentar una conexion. Se supone.. Aunque existen muchas rtedes y transportes.. ** Llega la hora de la conexión. Vamos a suponer que uno de los PCs es el encargado de "descolgar el telefono". este PC debe estar en "escucha".

Posteriormente pasamos a verificar el TCP. debemos conectarnos son usuario / password al otro PC. con el boton derecho del raton sobre el disco. 2) Instalar en la RED. arrancamos el programa winipcfg y vemos la direccion IP en el "adaptador PPP" (podemos ver 2 adaptadores PPP. o bien en el adaptador en el que hemos realizado la conexion. no estaremos "autentificados" en la red. podemos pinchar el icono de la conexion en la barra inferior de tareas y pinchar detalles a ver como nos ha establecido la conexion. Si no nos conectasemos así. verificamos que el otro PC es alcanzable por "nombre". Sin autentificacion no se pueden compartir archivos e impresoras.. o bien hemos entrado en windows sin contraseña..xxx siendo xxx.xxx. IMPORTANTE: Igualmente debemos recordar que en comunicacion telefonica (via el "Servidor de Acceso Telefonico".. pero conviene activarlas).. se ha establecido correctamente conectividad IP (y ademas se puede resolver el NetBios sobre TCP/IP. 4) Si queremos ver directamente en el "Entorno de Red" los PCs. las pruebas a realizar serían las siguientes. revisar la configuracion en "ambos" PCs. Bien. Si llegan.. pero uno de ellos debe tener direccion).xxx. vamos a Inicio->Programas y allí tecleamos: 93 .. le tenemos que dar "compartir" y el nombre y derechos con el que queremos compartirlo. Verificamos que lleguen los mensajes. José manuel Tella Llop 1) Se debe entrar a windows con contraseña SIEMPRE. aunque no es imprescincible. debemos pertenecer la mismo "grupo de trabajo" 5) En cada PC. si todo lo anterior funciona.xxx la direccion del "otro" PC.xxx. al menos: a) Cliente para redes Microsoft y eliminar Microsoft Family Logon b) Transportes: TCP/IP y NEtBeui c) Servicio para compartir ficheros e impresoras.. En cada PC.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Debemos ver que ha establecido ambos protocolos (TCP y NetBeui). carpeta o impresora que deseamos "servir" a la red. que es lo normal sino existe "routers" o "proxys" por el medio de la comunicacion). VERIFICACIONES EN CASO DE APARENTE FALTA DE CONECTIVIDAD ----------------------------------------------------------** Si estamos en comunicacion telefonica.xxx. abrimos en nuestro PC una ventana MsDOS y tecleamos: ping xxx. Sino viesemos el otro PC en entorno de red.. Una vez que sabemos la direccion IP del PC contrario. 3) Dentro del servicio para ficheros e impresoras.. si esta no fuese telefonica. Sino fuese así. tecleando: ping nombre_del_otro_PC Si llegamos tambien. aunque no lo veamos en el entorno de red.. podemos entrar y marcar como "Activo" las caracterisiticas de "Examinador Principal" (están en Auto. *** Y ahora conectamos.

.xxx.xxx está reservada. por lo que dicho organismo. Por tanto unicamente puede haber 255 clases A en el mundo. Un PC bajo TCP/IP debe tener una direccion UNICA en la red. evidentemente no se conceden. Y ademas las hay reservadas. Luego está la clase B.. relativamente facil. Se llama direccion clase A a aquellas que tienen prefijado el primer numero de la direccion IP y luego el resto de numeros puede ser cualquiera.xxx. DIRECCION IP --------------------------------Antes de entrar en algunos de los terminos utilizados. se concenden a los grandes organismos que vayan a gestionar mas de 65535 ordenadores..112. ¿Como se consigue?. Es del tipo (por ejemplo): 123. INTRODUCCION AL TCP..xxx. Normalmente se los dan a los grandes mayoristas de internet.xxx. José manuel Tella Llop \\nombre_del_otro_PC o \\xxx. Por tanto una manera de represntar una direccion IP es: xxx. Es decir una clase C abarca 255 maquinas. vamos a ver un poquito de la identificacion de una maquina.. Este numero tiene que ser unico en el mundo en ese instante. Y por fin una modesta clase C. lo que concede son "rangos" de direcciones y responsabiliza luego a quien se lo dé para el reparto de dichas direcciones. tiene 3 numero prefijados y el ultimo puede ser cualquiera.. su direccion IP tiene que ser unica en el mundo.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .34. Como existen tan "poquitas" clases A. Esta solucion no sería operativa. Recordemos que un byte puede tener un valor decimal entre 0 y 255.25. Y lo 94 . Es decir la clase A del tipo: 10.xxx. Entonces. que una organizacion se dedique a dar TODOS los posibles numero a todos los posibles ordenadores..xxx (cada grupo de xxx representa un numero entre cero y 255). Existe una organizacion que dá las direcciones IP en el mundo.. Ademas con el boton derecho sobre el servicio podremos "mapearnos" una unidad de red sobre él. Y es la que normalmente se utiliza en las intranets. Una direccion IP está compuesta por 4 bytes. Por ejemplo: 147. Bien.. ** Lo normal es que nuestro ISP tenga un rango de direcciones para dar. Una clase de estas puede manejar 65535 ordenadores.10 Pero no es operativo..xxx Se nos tiene que abrir una ventana con los "servicios" que el otro comparte. Si es por ejemplo para un solo ordenador.xxx.xxx (es decir dos numeros prefijados y el resto libres.xxx. una direccion clase A. le darían un solo numero. Si está conectado a Internet.

. Es decir un mensaje que entre en nuestra maquina por el modem por ejemplo... ver si estan completos. Por tanto. los programas de aplicacion que utiliza TCP. etc. el software de aplicacion que lo reciba. o bien tener instalado Windows 98 Second Edition. Pues bien.. los routers en internet. puede incluso pasar. es decir TCP y UDP. debe pasar por muchas maquinas. Mas adelante. veremos como podemos "explotar" la informacion de la direccion IP y veremos igualmente algunas utilizades que nos permiten. Es decir. Cuando reciben un datagrama IP. y como no le viene "bien" el tamaño recibido. Es un "routing" parcial. Una de dos. si les falta algo. NO puede salir por nuestra tarjeta de red.. o se olvidan de él.. IP = Internet Protocol... ordenarlos.. (el resto. UDP. por ejemplo. UDP = Universal Data Packet. pero totalmente operativo para las conexiones via Navegador. o se la "pasas" a otro o la tiras al suelo. el cual es capaz de hacer routing en una conexion a Internet. tienen garantia de recibir los datos completos y ordenados. Todos tienen la filosofia de la "patata caliente". es una patata cliente. en el moment en que un PC solicita una direccion. etc. decide partirlo en DOS y enviar dos datagramas a la salida. debe "el mismo" solucionar los problemas.. Ademas... FTP. ordenar los que va 95 . Por tanto. tendremos una direccion IP diferente en cada adaptador. lo solicita de nuevo.. Puede ser de dos tipos: TCP y UDP. etc. José manuel Tella Llop que hace.. y el siguiente datagrama lo saca a la red por otra de sus tarjetas. Los datagramas IP iguen la filosofia de la "patata caliente".DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. Si cada datagrama. que dos "datagramas IP" que salgan de nuestro PC. Para que nuestro "datagrama IP" llegue al destino. por ejmplo. que por CADA tarjeta de red o por cada modem activo. Pues exactamente lo mismo hace cualquier maquina en internet. son protocolos por encima del IP).. Este es el transporte basico. puede que reciba un datgrama IP. lo sueltan inmediatamente a la red.) UNOS CUANTOS TERMINOS UTILIZADOS EN TCP/IP -----------------------------------------Muchas veces hemos oido hablar de TCP. Ademas. Mail. Es el encargado de recibir los datagramas IP. si a tí te dan una patata caliente ¿que haces con ella?. Si falta alguno en el paquete. Esta "capa" de software "garantiza" a quien la utilice que el paquete está completo. para esto está el software que está por encima. Por cualquier motivo se le acumulan las peticiones sobre esa tarjeta. Un mensje que sale de nuestor PC es un "datagrama IP". Para poder hacer esto.. Pedir un paquete si le falta. o FTP. ** Es importante recordar en esta parte. Pero realmente ¿que significan estos terminos? Vamos a intentar definirlos un "poco" los terminos anteriores. El servidor de nuestro ISP.. está orientado a datagrama. pero esoty nombrando lo mas corriente). TCP = Transport Control Protocol. Entoces ¿como es que fucnionan las cosas?. hace falta software de terceros. saber nuestra direccion IP. lleguen "desordenados" al destino. no soporta "routing". El software encargado de esto suele ser un servidor DHCP (existen otros metodos. (esto es importante: el TCP/IP de win 95 / 98. Este transporte. le dá una de las libres que tiene en ese momento.. IP. un router en internet puede recibir y enviar al datgarama por una tarjeta suya de red.

. deberemos "ademas" instalar un transporte de red que pueda utilizar dicho cliente.. Recordar que la mayoria de estos comandos. sea o nó de Microsoft. Es decir con comandos de "consola". cuando esté funcionando NetBIOS... Para que esto sea posible. comentamos que el TCP/IP se queda a un equivalente del nivel 3-4 de la cap OSI (equivalente.. mientras no diga lo contrario son comandos para dar en una ventana MsDOS. Ambas utilizades son utilidades de terceros. CLIENTES SOBRE TCP/IP --------------------En el capitulo anterior hemos introducido un poco sobre los transportes de red. Por ejemplo el Cliente NFS.. entonces. que se salen un poco del alcance de estos capitulos. Pues si está "solito". La pregunta. sí que funcionará el Cliente para Redes Microsoft. pero existen varias utilizades incorporadas en win 95 / 98 que es conveniente conocer. Existen capas de red (similar a los Clientes).. cuando se le instala el paquete de Microsoft SFU (Sytem For Unix). Pero unicamente para windows NT Server y no para win 95 / 98. es ¿para que nos sirve el tcp/ip?. En otro caso.. UTILIDADES TCP/IP INCORPORADAS EN WIN 95/98 ------------------------------------------Bueno. entonces. que es un socket. vamos empezar la casa por el tejado. Estos comandos podemos ejecutarlos con /? para que nos muestren una pequeña ayuda. y decenas de ellos más. Es decir sobre la capa de red que nos permite "ver" o "compartir" recursos con otras maquinas. El cliente NFS (Network File System).. no igual). si puede.. Los mas conocidos son FTP (utilizado para el tranporte de ficheros) HTTP (para paginas web). instala NetBIOS sobre TCP/IP. Vamos a intentar darlas un repaso. es un cliente que es capaz de utilizar discos (mapearse discos) sobre TCP/IP puro. Hacen falta programas de aplicacion por encima. ** Existen otros protocolos por encima del TCP/IP. evidentemente tiene que haber tambien un "servidor" NFS. La mayoria son utilidades "estandard" que están en cualquier otro sistema operativo. de terceros que nos dan esta posibilidad. Por decirlo de alguna manera.. Aunque en principio parecería mas logico comentar un poco como se estable una comunicacion IP.. etc. que son los puertos.. para nada.. Bien este es el programa por excelencia que utilizamos a diario.. Como windows 95 / 98. Unicamente WIndows NT. Es responsabilidad entonces del programa de aplicacion que lo esté recibiendo. vamos a ver primero una serie de "comandos" o utilidades que incorpora win 98. Y hemos comentado.. 96 . etc. suministra un cliente y un servidor NFS.. José manuel Tella Llop recibiendo... Ademas hemos comentado sobre los "clientes" de red.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . este es el "cliente" por excelencia qe estamos acostumbrados a utilizar. Estamos acostumbrados a utilizar un navegador.. Recordando un poco. que esto no es posible si tuilizamos unicamente TCP/IP puro.

es capaz de realizar una transferencia FPT. debemos comentar que existen 65535 puertos disponivbles.... directamente con otra persona. pero cuidado: se puede "configurar". Lo mejor es ejecutar un IPCONFIG /ALL y como la salida de datos es muy grande deberemos o bien redirigirla a un fichero o simplemente teclear: IPCONFIG /ALL | MORE NETSTAT : sirve para ver el estado de los puertos (mas adelante veremos este concepto).. informarnos del IP de la otra persona e igualmente enviarle nuestro IP. Aunque tenemos practicamente la garantia de que el PING nos funcione contra cualquier ordenador.. siendo en este caso mas comodo. en nuestro PC.. Nos dará la direccion IP sobre cualquier adaptador de red. Tambien en la actualidad. y del 1024 en adelante para aplicaciones de usuario. Es decir si el ordenador remoto tiene activo el servicio de telnet y tenemos usuario / password en él. Esto es en directo. Me explico: el comando PING no utiliza IP.. FTP : nos permite de una manera un poco "rupestre" (entrar en él y darle HELP. por ejemplo. (el FTP utiliza por defecto el puerto 21 del TCP/IP) TELNET : nos permite entrar en un ordenadro remoto con emulacion de terminal. Como introduccion. el transferir datos entre ordenadores en TCP/IP. El trafico ICMP puede cortarse. no pasa por ningun servidor ni lista de directorio en servidores y por tanto la comunicacion es mucho mas rapida. esto puede limitarse. Pero tambien mas lento. José manuel Tella Llop PING : Este comando nos permite enviar un "paquete" de prueba a otro ordenador. utiliza ICMP. Para ello. Imaginemos que tenemos camara de video y queremos establecer videoconferencia "privada" con NetMeeting (sin pasar por ningun servidor de internet). Del 0 al 1024 son reservados para el TCP. Algunos servidores que quieren permanecer ocultos en la red. Con esto. Nos permite por ejemplo mapearnos una unidad de red. Tiene un valor por defecto. (el TELNET utiliza por defecto el puerto 23 del TCP/IP) NET : Admite muchos subparametros. En particular una posible "aplicacion" de usuario es el famoso BO (Back Orifice).. y en general utilizar directamente todos los comandos para actuar sobre una red.. Esto puede tener una utilidad que se me ocurre ahora mismo. el propio navegador de internet (IE). desonectarla. Igualmente recuerd que podemos utilizar programas FTP de libre distribucin de terceros. pueden filtrar este trafico y nunca responderá ese servidor a un PING. Es el "antiguo" comando LM (Lan Manager). Y alguno realmente buenos que merece la pena tener en cualquier instalacion. Este "pilla" un puerto 3x. Es el cliente FTP que trae windows. IPCONFIG : nos muetra una informacion detallada de datos sobre todos nuestros adaptadores de red. Sí el otro ordenador está vivo. nos permitirá manejarlo como si estuviesemos fisicamente en su pantalla y teclado. Es decir NETSTAT -a Esto nos mostrará los puertos que está utilizando.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . COMUNICACION TCP/IP ------------------- 97 . En principio utilizarlo con el parametro -a. podemos querdar a una hora determinada.xxx (treinta y tantos mil).. y mediante ICQ o mail. nos responderá. WINIPCFG (este es un comando windows). ahora podemos configurar MetMeeting en directo a ese PC para establecer entre nostros una videocinferencia. Igualmente nos informará del gateway y del DNS que tenemos en ese momento.

En el IP.. HTML. 3) Aunque para esta investigacion intervienen varios pasos (fichero host.com).TELENT en el 23... news. o bien nuestro proveedor nos lo da automaticamente al establecerlo.. Fijaros que en el ejemplo anterior. Este es un servidor. una maquina debe solicitar una direccion ajena y un puerto..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. Muy sencillo.. y un puerto "cualquiera" !!! libre de nuestro PC y la direccion del destino y el puerto 80. se definen 65535 puertos y desde el 0 al 1023 estan reservados para los servicios estandard del TCP (html=80. es decir solicitamos servicios de FTP.microsoft. Por tanto nos devuelve su direccion IP. esto es extensible para todos los servicios IP (FTP en el 21.. y entonces establece un canal de comunicacion entre ambas maquinas desde el puerto 2122 en el cual "escuhará" nuestro navegador para esa conexion y el 80 en el destino.etc).. Para abrir un socket (canal de comunicacion).... sino que hay un programa. ** Y una vez con esta introduccion.. un PC. puede ofrecer servicios a la red. José manuel Tella Llop En TCP/IP. ¿Como se solicitan los servicios o como hablan dos maquinas bajo TCP?. Si en ese puerto.¿y como? pues un socket no es nada mas que una conexion entre una maquina y un puerto con otra maquina y otro puerto. busca la pagina y nos la envia. que será el que nos pase la informacion (la pagina web). Es decir intervienen 2 maquinas y 2 puertos. en la otra maquina. Este es un servidor de paginas web. este programa atenderá a nuestras peticiones. Bien. 4) DNS = Domain Name Solver. investiga si conoce el ordenador destino (es decir investiga un nombre. Si no lo conoce debe investigar. Y otro puede solicitar esos servicios (cliente). hay un programa escuchando (LISTENING).xxx. no hay un navegador.. mascaras de subred. Cuando abrimos el "navegador" y tecleamos una pagina. cuando las recibe. que lo que hace es escuchar "peticiones" en el puerto 80. 5) Con esto el navegador ya puede abrir un socket desde nuestra direccion.xxx (4 numeros separados por puntos -direccion IP-) 2) Nuestro PC.etc) y desde el 1024 en adelante estan reservados para programas de usuario.. el funcionamiento sería el siguiente: 1) Nuestro PC para abrir el socket necesita conocer la direccion del destino (el puerto ya lo sabe. todo se basa en la filosofía cliente/servidor. ya que por defecto en html es el 80). 98 ..xxx. o uno gigantesco).. vamos a "mezclar" todos los conceptos y darlos un pequeño "repaso".. por ejemplo www. Nuestro PC se lo pregunta al DNS de nuestro servidor (recordad que ponemos DNS al definir una conexion telefonica. en la otra maquina. Lo "normal" (en un PC) es ser siempre cliente. se establece un "socket" -un canal de comunicacion. analiza lo que le piden. Esta direccion debe estar en formato xxx. etc). Un "host" (no es nada mas que un ordenador cualquiera. 6) Es decir lo que hace en ese momento es pedirle a nuestro propio PC un puerto libre.. Es decir nos va a resolver por nombre de dominio su direccion. ftp=21. imaginemos que le dá el 2122. Y para cualquier cosa que queramos hacer. vamos a simplificarlo.

debe existir para cada tarjeta de red (y la conexion telefonica es "otra" tarjeta de red) que existan en nuestro PC. tendremos DOS direcciones IP.234 e identifica a un unico PC en el mundo. Y cada uno de estos numeros puede ser de 0 a 255. Esta direccion viene especificada por 4 numeros. Igualmente el comando: ipconfig /all 99 . Es decir te garantizan que no existen en internet y por tanto pueden utilizarse para una Intranet..x. Un ejemplo de estas direccion es la red "10". debe tener una direccion unica en el mundo. lo utiliza). Esa direccion IP..x.x. Es decir la 10.255 Un direccion normal. se consideran reservadas.0. es clarificar un poco sobre el TCP y aprender basicamente como con el TCP puedo convivir en un ordenador que esté conectado con dos adaltadores de red. INTRODUCCION -----------1) DIRECCION IP --------------Bajo TCP/IP cada ordenador..x.. Es decir por una parte a una red interna (intranet).10.. Mas complicado para mí ya que precisamente no me explico todo lo bien que quisiera.x. Siempre mediante el comando WINIPCFG podemos ver la direccion que tenemos en CADA una de las tarjetas adaptadoras de red de nuestro PC. Este tema que parece una tontería no lo es tanto. El objetivo que pretendo. separados por puntos. Por tanto.255. por ejemplo. Y ser posible referenciar y utilizar simultaneamente la intranet y el internet. es necesario entender unos pocos terminos. es: 128. y a la vez esté conectado a internet via modem. José manuel Tella Llop APRENDIENDO UN POCO DEL TCP/IP -----------------------------Bueno. cuando estemos conectados a internet. si nuestro PC tiene una tarjeta de red interna y ademas una conexion telefonica.. (por eso. Igualmente en esta situacion estará mucha gente en su trabajo. este articulillo va a ser un poco mas complicado.. que no es mas que una gigantesta intranet. la direccion mas pequeña será: 0. Una para nuestra tarjeta interna de red y otra para la conexion telefonica. Y el dia de mañana.255. Es decir. Otras reservadas son la: 169.. Intranet para la red corporativa e internet via modem.0 y la maxima: 255. mediante tarjeta de red.. Hay direcciones que por definicion. infovia..34. Antes de entrar en detalles. y a la vez uno de ellos por modem a internet.x. cuando tengamos más de un PC en casa unidos mediante red. el evitarnos quebraderos de cabeza.0.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .

Es decir nuestro ordenador no tiene direccion IP. 3) SERVIDORES DE DIRECCIONES ---------------------------Bueno.0.. Windows 98 incorpora un mecanismo llamado "Autonet Configuration". no pueden tener la misma direccion IP (todo Internet es una UNICA red.2.255. El propio servidor se encarga de que no haya IPs duplicadas. El famoso DNS. y linux. y con terminologia de uso corriente. voy a intentar definirlo (pero de una manera MUY simplificada. Imaginemos que yo estoy en una Empresa con 100 PCs.. nos indica si otra direccion IP. Evidentemente primero "busca" en nuestra intranet una direccion que no este ocupada. aquella direccion que enmascarando nuestra direccion IP. INFOVIA es otra unica red entendida como intranet gigantesca). y Unix. En este caso siempre busca una direccion del tipo 169. yo tendría que asignar a cada PC una direccion unica y llevarlas apuntadas y tener cuidado que no haya dos duplicadas.254. nosotros 100 .x pertenecen a nuestra subred y por tanto cualquier mensaje enviado a nuestra subred es "soltado" inmediatamente a la red.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . José manuel Tella Llop nos dá una informacion mayor que el anterior. Otra posibilidad. Entonces nuestro ordenador al encenderlo.4 con mascara 255. Si está fuera de nuestra subred. Evidentemente muy engorroso y puedo cometer fallos. es más potente de lo que vamos a ver aquí).. Esta direccion como vimos al principio es una de las reservadas y de las que se garantiza que no existan en internet. pertenece a nuestra SUBRED o no.. Cuando estamos en internet. Esto le indica al sistema.0. Se define como MASCARA.... (Windows NT puede actuar como servidor DHCP. Este comando ocupa mas de una pantalla. DNS = Domain Name Solver Es decir el "resoluctor" de nombres. Consiste en que sino tenemos direccion IP. Evidentemente como "administrador". que todas las maquina 10. imaginemos que nuestra direccion IP es la 10.x. 4) SERVIDORES DE NOMBRES (DNS) -----------------------------Esto supongo que ya "sonará" más. Ento no es aplicable a win95.... pero lo hemos configurado para que obtenga una mediante DHCP (todo esto se puede configurar en Panel de Control->Red). busca un servidor DHCP en la red. y le pide un numero de direccion IP. ya lo recogerá quien corresponda.0. el solo se "inventa" una direccion en ese momento. pero solo aplicable a windows 98.0).. por lo que lo mejor es darlo con: ipconfig /all | more 2) MASCARA DE SUBRED -------------------Aunque este concepto no es tan basico. y la pregunta del millon ¿como obtenemos o asignamos una direccion IP? Existe evidentemente un problema: dos maquinas en el mundo en la misma red..2.. El servidor se lo dá. y fuera del ambito de este articulo (por ahora)..3. y no existe servidor DHCP. Olvidemonos por ahora de Internet. que tenga un "servidor de direcciones" DHCP es el sistema mas corriente. Es decir.)...x (con mascara de tipo 255. y ya está. es decir. el circuito de envio del mensaje es totalmente diferente.255.x.. Ultima posibilidad -la más elegante-.

0.1.1 tambien es siempre nuestro PC (es la llamada "localhost") Esta tabla de rutas (que puede ser modificada y puede ser mucho mas complicada si tenemos varios adaptadores de red o bien tenemos abierta ademas una conexion telefonica).0.255. es decir los 4 numeritos de direccion? Pues alguien lo tiene que resolver. y tambien debemos saber.0 255. (suponiendo que exista tal maquina).) b) Si el fichero HOSTS no existe o bien no contiene el nombre que buscamos.0. o sea nuestra propia maquina.. Evidentemente si tal maquina no existe. En este fichero. somos "nosotros" mismos. (y las direcciones que empiezen por 255 y 224 son reservadas y por tanto las ignoramos y las direcciones que terminene en 255 tambien estan reservadas).1.0.1. tiene que ir la direccion..0.255.0.0. tenemos asociadas direcciones a nombres (o podemos tener. sabe a que direccion debe ir.1.254.. ¿como es posible.255 Netmask 255.0. si en un mensaje TCP.0 Metric 1 1 1 1 1 1 Fijemonos que muestor PC en este cao tiene la direccion 169.15 169.0.0.0.1 169. ya podemos empezar un poco.15 169.0 169.1. bien porque nos la ha dado un servidor DHCP. que la direccion 127.255.254..15 0.255 255.255 224. tendrá una direccion.0.. 4) GATEWAY ---------Es la direccion de la maquina que nos va a dar salida a la red. Bien porque se la hemoss dado a mano.0.sam). Igualmente (y yo lo utilizo mucho). o bien porque windows 98 se la ha "inventado".1. El TCP/IP sigue el siguiente orden: a) Primero busca a ver si existe un fichero llamado HOSTS en nuestro directorio de windows.255.15 (inventada por win98).0 255.15 169. Tal y como hemos visto antes. entonces se lo preguntará al DNS.0 255.254.254.15 Interface 127.255..0.0.1 169..0. nuestra tarjeta de red.254.254.254..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .15 169.0.0 255. José manuel Tella Llop tecleamos simplemente www.0 169. se lee de abajo a arriba. Tenemos el comando "winipcfg" para mirar la direccion. Supongamos tambien que *no* estamos conectados a internet.255..15 127.1.255 Gateway Address 127..254.1.1 169.254. Supongamos que tenemos una tarjeta de red y un modem.255. el comando route print nos sacará una informacion similar a esta: Network Address 127.254..microsoft. TABLAS DE RUTAS --------------Bien creo que con estos conceptos.1.0.255.255.255.15 127.0.1 169.com y nos conectamos al ordenador de microsoft.254.0.255 224.0.. Vamos a analizar primero como está nuestra maquina.0. (ver un ejemplo que viene siempre en el fichero hosts.. 101 . El DNS resuelve el nombre y nos devuelve direccion y ahora ya nuestro TCP.

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop Leyendola de abajo a arriba quiere decir: a) Ignoramos la ultima, penultima y anterior. Ahora nos encontramos con 169.254.1.15 su mascara es 255.255.255.255 (es decir se refiere a esa SOLA direccion), y si gateway es el 127.0.0.1 es decir el "localhost" por tanto es la direccion de la propia maquina. Mejor dicho, la direccion de la tarjeta de red de nuestro PC. ESTO ES IMPORTANTISIMO. b) Para las direcciones 169.254.0.0 mascara 255.255.0.0 es decir entonces para cualquier dirteccion del tipo 169.254.x.x el gateway es 169.254.1.15, es decir nuestra propia tarjeta de red. Por tanto, todo lo que enviemos a cualquiera de esas direcciones, saldrá por la tarjeta de red. c) 127.0.0.0 es igual a "localhost". d) No hay mas, por tanto cualquier otra direccion, nos dará inmediatamente un error de direccion o direccion no encontrada. Pero inmediatamente, sin llegar a salir de a la red. ** Veamos ahora un caso mass complicado. La misma maquina y ademas de la tarjeta de red, abrimos una comunicacion telefonica. Network Address 0.0.0.0 127.0.0.0 169.254.0.0 169.254.1.15 169.254.255.255 195.232.3.0 195.232.3.129 195.232.3.255 224.0.0.0 224.0.0.0 255.255.255.255 Netmask 0.0.0.0 255.0.0.0 255.255.0.0 255.255.255.255 255.255.255.255 255.255.255.0 255.255.255.255 255.255.255.255 224.0.0.0 224.0.0.0 255.255.255.255 Gateway Address 195.232.3.129 127.0.0.1 169.254.1.15 127.0.0.1 169.254.1.15 195.232.3.129 127.0.0.1 195.232.3.129 195.232.3.129 169.254.1.15 195.232.3.129 Interface 195.232.3.129 127.0.0.1 169.254.1.15 127.0.0.1 169.254.1.15 195.232.3.129 127.0.0.1 195.232.3.129 195.232.3.129 169.254.1.15 195.232.3.129 Metric 1 1 2 1 1 1 1 1 1 1 1

Leamosla de abajo a arriba: a) Ignoramos las 4 ultimas por el razonamiento anterior. b) La primera significativa es la 195.232.3.129. Con mascara 255.255.255.255 apunta al localhost. Por tanto esta es la direccion que me acaba de asignar mi proveedor de internet a mi tarjeta de red (en este caso el modem). Tambien vemos que para los 255 PCs de la submascara de red permitidad, están disponibles directamente en mi subred (resto de PCs de mi subred que el proveedor me dejaria acceder inmediatamente sin salir a internet). c) Luego, ascendiendo en la tabla de rutas nos encontramos con lo visto anteriormente. Pero con un detalle curioso. La metrica de los PCs de mi subred a traves de la tarjeta adaptadora es la "2". Por tanto, se acaban de "enumerar" los adaptadores de red. Primero el modem, y luego mi tarjeta de red. Esto es importante. d) Y por fin vemos arriba del todo que para cualquier direccion (0.0.0.0) que no hayamos encontrado antes en la tabla de rutas e investigando primero por orden de las metricas correspondientes, mi gateway es mi direccion IP a traves del modem y por tanto saldré a la red a traves del modem. ** Y con esto, creo que podemos ya tener una pequeña idea sobre el TCP/IP.

102

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop

UN ADAPTADOR "ESPECIAL" DE RED: EL MODEM ---------------------------------------Bueno, tal y como habiamos visto anteriormente, toda la filosofica de una red está basada en un esquema de "capas" o "cajitas" cada una con sus funcionalidades perdectamente definidas. Una de las capas, es precisamente el Adaptador de Red. Nada nos impide que el Adaptador de Red sea un modem (o un cable sere o paralelo), en lugar de la "clasica" tarjeta de red. * Pero en el momento en que nos ponemos a trabajar con modem, tambien a veces, empiezan a surgir problemas (sobre todo en este país de pandereta -España- y su monopolio telefonico. Recordemos unicamente que en España, existen mas ISP que en toda Europa y USA juntos). Vamos a introducir un poco lo que son los modem y los problemas que nos podemos encontrar. Modem, no es nada más que un sencillo modulador-demodulador para poder utilizar el cableado telefonico. Sobre el protocolo modem, se encapsula un trasporte de red el TCP y ya está. (realmente sobre PPP: Point to Point Protocol). En un principio, los modem funcionaba a velocidad "pequeñas". 1200, 2400 e incluso los rapidos a 9600. Bien a estas velocidades no suele haber problemas. Pensar que un cable telefonico, tiene ademas "ruido" (por muy "limpio" que sea). Existe una ley fisica que a partir de la maxima relacion posible señal/ruido, deduce que la maxima velocidad teoria es de 33600 bps (bits por segundo o baudios). * Vamos a quedarnos aquí antes de pasar a los modem y a la tecnologia digita de 56 Ks y su norma aprobada: V90. Vamos a dar un repaso primero a la "clasica" comunicacion "analogica" hasta 33600 maximo. ELEMENTOS QUE INFLUYEN EN LA COMUNICACION ----------------------------------------* Veamos unicamente los que conocemos en nuestro PC y que realmente influyen en la comunicacion. Pensemos que el modem, (aunque sea interno), realmente es "solo" un aparato que se conecta a un perto serie del modem (empiezan a surgir modelos USB, pero vamos a ignorarlos de momento). Por tanto, el primer elemento que nos surge es el "puerto serie". Actualmente ya no hay problemas con etos puertos y todos ya son capaces de alcanzar los 115200 baudios. Por tanto, en principio una velocidad "mayor" que la que teoricamente alcanza el modem. Pero cuidado.... he dicho "en principio". Ya veremos mas adelante que esto puede ser un cuello de botella. Posteriormente tenemos un cable al modem. (muy "cortito" en los modem internos, pero ese "cable" o contactos en un circuito impreso, existe. Por tanto es similar a uno externo). Y por fin el modem. * Bien los modem actuales al concectarse (y empezar a "pegar" pitidos entre ellos), lo que están es dialogando el como van a transmitir. Se interrogan sobre sus velocidades, y realizan una prueba de velocidad tanto en transmision como en recepcion. La mayoria de los modem, pueden llevar

103

DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ...........
José manuel Tella Llop velocidades diferentes de recepcion y de transmision. Igualmente interrogan al modem "contrario" sobre el protocolo a utilizar para detectar y corregir los posibles errores y otra cosa importante: si se puede utilizar algun protocolo conocido para "comprimir" los datos. Si esto ultimo es posible, realmente se puede enviar la informacion comprimida y por tanto a pesar de la "lentitid" de los modem, se puede conseguir tasas efectivas de transferencia altas. Como ejemplo, imaginemos que los modem han dialogado perfectamente un protocolo de compresion. Bien, no todos los archivos se pueden "comprimir". Por ejemplo los archivos ZIP, ya lo están. Pero las paginas HTML, etc... realmente son "documentos de texto". Por tanto se pueden (y deben) comprimirse perfectamente. Como curiosidad, la compresion depende de los datos en sí. Hay ficheros que pueden comprimirse 2 a 1, otros 1 a 1 (los ZIP que no pueden comprimirse), y otros, por ejemplo los de texto, pueden comprimirse hasta un maravillosos 16 a 1. Bueno, pues pensemos ahora, que ha dialogado compresion. Que vamos a enviar un fichero de texto y que en ese fichero se consigue la maxima compresion: 16 a 1. Y que tenemos una conexion perfecta a 33600. Entonces el modem recibe a 33600. Como habian "negociado" compresion hardware, el propio modem "descomprime los datos", y al descomprimir por un factor de 16 queda: 33600 * 16 = 537.600. Imposible!!. Por el "cable" del modem hemos visto que solo pueden ir 112500. Luego entonces, el modem, al ver que no puede "alimentar" al cable de salida, empieza a "renegociar" su velocidad con el modem contrario. Como la compresio es de 16 a 1 y lo maximo que puede recibir es 112500, realiza el calculo de 112500 / 16 = 7031. Y entonces "baja" (o lo intenta) su velocidad por debajo de 7000 baudios. Suena ridiculo ¿no?. Como esto "pasa" con todos los archivos, y en cada uno de ellos su posible factor de compresion es diferente, pues al modem lo estamos volviendo loco. Cada 2 por tres está intentando renegociar velocidad. Pensemos que al bajarnos una pagina web, hau varios archivos y muchas imagenes, cada uno de ellos tendrá (admitirá) un factor de ocmpresion diferente.... esto es un "cisco". * La pega es el famoso "cablecito". (o el puerto para ser max exactos). La limitacion de velocidad del puerto. Actualmente en las placas madre de ultima generacion, ya hay puertos que admiten hasta los 921.600. La pega es que por ahora, no hay modem que sean capaces de comunicarse con el puerto a esa velocidad. ** Bueno: ¿y como podemos solucionar esa "pega"?. La respuesta es inmediata. Como actualmente nos "sobra" CPU, ¿que tal si los datos los comprimimos a priori por "software". Es decir lo comprime nuestra CPU, y ya lo envia comprimido al modem. Como está comprimido. el modem no utilizará para esos datos la compresion "hardware", o si la utiliza, dá igual, no va a poder. Bien, si el ordenador contrario hace lo mismo, estamos utilizando al maximo todo nuestro "circuito" de comunicaciones. Ahora solo falta saber si esto es verdad: ¿como nos informa windows?. Tenemos varias maneras de saberlo: 1) Así en principio, si vemos que el icono de conexion telefonico, nos dice unas velocidades "raritas" y que no son posibles: por ejemplo 112500 o 57600: malo. Nuestra comunicacion es "mala", windows nos está informando de la maxima velocidad en el cable del puerto al modem. No nos está informando

104

. Bien vamos a distinguir. no es de windows. es sencillo. Repasemoslo un poco: 1) ¿por que es superior la velocidad de puerto/modem que la de modem/modem?. ademas de "dialogar" la velocidad (en la cual influyen ruidos de la linea. o porque "explicitamente" en la conexion.. La comunicacion entre los dos modem es el minimo de la velocidad indicada en nuestro modem y el modem del proveedor (por ejemplo 33600). En este caso. Esta manera vamos a describirla a continuacion: VELOCIDAD REAL DEL MODEM ----------------------Ha surgido varias veces como tema de discusión la velocidad real del modem.. Pero si nos estamos bajando "texto". es si nuestro proveedor nos deja conectarnos via hyperterminal. intentará 105 . el propio ISP que suele tener problemas en sus baterias de modem con las compresiones. dialoga la "compresion" de los datos. 3) Una manera de ver la velocidad "real" del modem. po cierto. lo cual es o bien por ruido en la linea. los modem. Habia gente que comentaba que aunque su modem es un 28. Siempre intentan compresion.. De esta manera se curan en salud: por una parte. no se ha podido negociar compresion.LOG en el directorio de windows.. En caso de datos insuficiente..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . correccion de erores y la velocidad "inicial" de conexion. por tanto incluso puede saturar la linea de 115200 con el puerto de comunicaciones. Luego no vielven a informar durante la conexion. En una comunicacion via modem intervienen varios componentes fisicos. le hemos quitado la marca de "dialogar compresion". Es por diseño de los modem. nuestro modem "descomprime". etc). por lo que debe volver a dialogar con el otro modem para "bajar" su velocidad. mirar un archivo que tiene el nombre de nuestro modem y la extension . y por otra parte. La mayoria de los ISP chapuzas actuales. la culpa de que windows no nos muestre nada mas que la velocidad inicial. o porque los modem no se entienden (improbable a estas alturas). es en windows 98. 1) El puerto de comunicaciones 2) El modem 3) El dialogo entre nuestro modem y el de nuestro ISP.8 veía velocidades bajo windows de 56000 o incluso velocidades de 112500.ZIP. (La mayoria de los IPS lo permiten).. 2) Otra manera de saber la velocidad... En este caso. pues se curan en salud y no invierten nás dinero en hardware. Allí conserve una historia de nuestra ultima conexion. Ver las excepciones que hemos citado antes). todo lo que interviene en la transmision y ademas como podemos "preguntarle" al modem su velocidad real. puede llegar a factores de compresion de 16 a uno. Bien. como el modem nos dice 115200 nos creemos que estamos a velocidades altisimas. Los modem. unicamente informa la primera vez. nos aconsejan quitar este marca. Surgen dos preguntas comantadas anteriormente. José manuel Tella Llop de la velocidad "real" del modem. ya no puede comprimirlo. La comunicacion desde el puerto a nuestro modem es de un maximo de 115200 (con los actuales puertos. Repasemos un poco lo que hemos introducido en el capitulo previo. Evidentemente si nos estamos bajando un fichero . inocentes de nosotros. Recordad que windows "no refresca" la velocidad y esta se está renegociando constantemente. En esa historia podremos ver si se ha negociado o nó la compresion..

La culpa no es de windows. -----------------------------------------------------* Posteriormente a los modem "analogicos" han surgido los digitales.. depende del protocolo negociado y normalmente en V90 y con ciertos modem. que insisto. esta va "tal cual" lo hemos emitido por el cable de cobre hasta la primera centralita telefonica.. es que actualmente las centralitas telefonicas sean ya todas digitales.. 2) ¿que nos indica la velocidad que vemos en el icono de windows?. ¿COMO PODEMOS SABER LA VERDAD? Bueno.. José manuel Tella Llop por el mismo motivo "subir" la velocidad. segun llega a la centralita. Primero. nos dice siempre 115200.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . la comunicacion digital es posible si se 106 . Pero otra pregunta: ¿que velocidad. para que a partir de ahora. En este momento hemos entrado en dialogo con el modem. intervienen una serie de tramos analogicos y digitales. Una vez establecida la comunicacion. el sonido. Ahora le tecleamos (en minusculas o en mayusculas. En este caso. le damos a INTRO y luego tecleamos despacito "+++" (3 simbolos "+"). veamos lo que tecleamos). Pues depende de nuestro modem y del protocolo negociado. Para "digitalizarlo" lo que se hace es un "muestreo" de la señal. de esta manera le ponemos "eco" al modem. En el tramo de cable telefonico desde nuestro PC hasta nuestro ISP (y por tanto hasta internet). la de la linea puerto/modem o la de modem/modem es la que nos muestra windows?. * Evidentemente esto mismo se puede hacer "de partida". pero NO debemos mezclar ambos): ate1 (no veremos ninguna letra por pantalla. Posteriormente tecleamos: atw2 ato Y nos mostrara por pantalla la velocidad REAL de portadora entre ambos modem así como la compresion negociada entre ellos.. RDSI. Lo normal. siempre nos indica la misma. no es nada mas que un hilo de cobre por donde siempre va informacion analogica. Marcamos a nuestro proveedor. ADSL y "CABLE". La comunicacion desde nuestra casa a la centralita telefonica. Algunas veces incluso tiene la desfachated de decirnos 115200. podemos correr el riesgo de perdida de informacion al intentar digitalizarse otra vez en la centralita. Nos debe salir "OK". Si la informacion de partida ya está digitalizada. Es siempre la misma independientemente que baje o suba. pero lo está recibiendo el modem... cuando esto es imposible!!. Es decir.. lo que debemos hacer es realizar una conexion con la herramiente Hyperterminal de windows. ULTIMAS TECNOLOGIAS: 56 Ks. Pero hay que hacerlo con mucho "cuidado". Y es la velocidad "en el momento" de la conexion inicial. Bien. es de la informacion que le pasa el modem a windows. pues depende.. unos pocos de miles de veces por segundo y esa información es la que ya viaja codificada en binario. Y nuestro modem es de 56K!!. Dejandonos de detalles tecnicos. V90.. para ello. pensando en el sonido que emitimos en el microfono de nuestro telefono. Se convierte en señales digitales de ceros y unos. se digitaliza.

soportan su antigua norma (por ejemplo K2FLEX) y ademas la V90. tienen bios flash y por tanto actualizables). Y con respecto a la limitacion del punto 1). tienen cada uno de ellos un tramo analogico (al contrario que los ISP que están unidos en directo con las centrales telefonicas). los fabricantes han sacado ya actualizaciones de las bios de los modem (casi todos los modem. Por desgracia esto es así de duro.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Esto es debido a que si las condiciones no son optimas.. no debe haber nada mas que ese. debemos observar que si realizamos una comunicacion telefonica en directo PC a PC. y esto ultimo incluso provoca cortes inexplicables.. 107 . esto no quiere siempre decir que sea mejor que la analogica. Inmediatamente. Por tanto. Se define entonces una tercera norma: la V90. Rcordad que tanto el modem del nuestro ISP como el nuestro deben dialogar en la "misma" norma. 3) La maxima distancia de comunicacion analogica (desde nuestro PC a la centralita telefonica) es de 4 millas (segun las normas internacionales. ** Pero tenemos una pega más: estas señales son muy sensibles al "ruido" y a las condiciones del cableado. etc) con la norma K2FLEX. 2) Solo se puede hacer la comunicacion digital en un solo sentido. aunque consigamos comunicacion "digital". se harán en analogico a un maximo de 33600. USR (3Com) con la norma X2 y Rockwell (diamond. Posteriormente el comité ITU para la industria. Incluso algunos modem. pasarán mas tiempo dialogando el ajuste de velocidades y la correccion de errores que realmente transportando los datos. a la vista de lo anterior. Debido al punto 3) y 4). estarán en condiciones optimas de poder utilizar correctamente esta norma. Es decir para comunicar con la norma X2. no eran normas "oficiales"... 4) Todo el cableado de todo el circuito debe estar en excelentes condiciones. Al menos hay uno siempre: desde nuestra casa a la centralita telefonica.. A veces es necesario "forzar" al modem e inhabilitar en él la comunicacion digital. Por tanto será en el sentido de descarga. se ha definido. es decir en el sentido "hacia" nuestro PC. Y lo que es peor. Las normas son incompatibles. Supra. nunca podremos comunicarnos en digital (por encima de los 33600).. dudan que se pueda conseguir correctamente si la distancia es superior a 2 Km). pocos en nuestro pais.. ** Bien. Cada una de ellas tenia sus pequeñas ventajas e inconvenientes. Consultados tecnicos de telefonía en España. Las señales de control y las peticiones e incluso los envios "desde" nuestro PC. ambos modem (el nuestro y el del ISP) deben soportar dicha norma... para soportar dicha norma. Por tanto.. José manuel Tella Llop cumplen las siguientes premisas: 1) Solo hay un tramo "analogico" en todo el circuito. resulta que tenemos mas pegas de las que parece. * En la historia de esta comuncacion "digital" surgieron dos normas (dos grandes casas de la comunicacion enfrentadas). Igual con la norma K2FLEX. Esto es debido a que tanto nuestro PC como el PC que va a recibir. los modem. Solucion salominica: ninguna de las dos tiene el visto bueno. Por tanto en nuestro circuito existiran 2 tramos analogicos y ya no es posible la comunicacion digital.

. que nos permite hasta 64 Kbs por canal. es que telefonica ha "decidido" cortar la comunicacion digital en una serie de centralitas (que realmente son digitales) con viejas tecnologias.. Es decir de 2 adaptadores de red (cada uno con su direccion IP). con el mismo modem... Esta tecnologia era bastante mas cara que la tecnoclogia de modem.. es realmente caro. En combio. tengo cortes continuados y una velocidad realmente mala. que funciona en casi todos los modem del mercado que es: at+ms=11 Poniendo esta cadena de caracteres en las cadenas "extra" de definicion del modem. No está directamnete soportado por windows. segun primeras estimaciones de salida.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Igualmente. Implica al igual que la anterior a que debemos tener un "adaptador" (tarjeta) especial. podemos forzar la comunicacion a que siempre sea en analogico. sin fuese por la introduccion casi inmediata de otras tecnologias que estan empezando a surgir. una "asimetrica" como el ADSL y otra bidireccional para tener la misma velocidad de subida y bajada. Realmente "bestiales". José manuel Tella Llop Existe un comando AT. desde mi trabajo.. tanto w95 como w98 soportan esta tecnologia. RDSI: Es una tecnologia ya vieja. Windows 98 SE (Second Edition) ya trae soporte para estas tarjetas: es el "IP sobre ATM". No sé realmente el nombre con el cual saldrá al mercado.. Esta 108 . Unicamente es necesario el driver fisico del fabricante de la tarjeta.. desde mi casa. o reconvertidas y que les están causando problemas. ** Otro problema añadido. Para poder tener RDSI necesitamos una tarjeta especial en nuestro PC. Las velocidades llegan a los 2 megabits por segundo. no todas las baterias de modem de nuestros ISP son perfectas y su "firmware" ha sido adaptado a las ultimas tecnologias. El resto de las capas de software ya está implementado en la "Second Edition". Por ello. la comunicacion se realiza sin problemas. en mi caso particular.. al menos en España. CABLE: Todavia no se ha implementado en España (excepto experimentalmente en algunas ciudades) y realmente es una tecnologia "antigua".. Excepto el driver de la tarjeta que es necesario el del fabricante. * Independientemente de lo anterior. Actualmente al precio que se está poniendo en España las llamadas telefonicas locales esta opcion de comunicar mediante RDSI ya es competitiva. Necesita ademas de un software especial. debo forzar la comunicacion "analogica" ya que en otro caso. Existen dos variantes. así como para las peticioens y las señales de control. El cable es para "bajar" y el modem se utiliza para "subir".. por ejemplo (con instalaciones de telefonía nuevas y ademas perfectas ya que es desde un centro de calculo).. cirtas marcas de modem. Totalmente asimetrica ya que la la velocidad de "subida" será sensiblemente inferior. Igualmente es necesario contratar una tarifa especial con nuestro ISP. actualmente empieza una "nueva" tecnologia. e igualmente una o dos lineas especiales (cada canal es una linea) contratadas con telefonica. Al menos de esta manera podremos funcionar. mismo ISP. con el mismo modem y "contra" el mismo ISP. En estos casos "nunca" conseguiremos comunicacion digital (lo cual es "casi" mejor). ADSL: Es una comunicacion "asimetrica" que en principio no puede permitir velocidades de 256 Kbs en la descarga. La "asimetrica" consta de una tarjeta especial y un modem.. dialogan con un determinado ISP mejor que otras (y siendo los dos modem V90). Como detalle curioso. cuyo precio.

windows. Todo esto. OTRAS CAPAS DE SOFTWARE EN WINDOWS ---------------------------------* Otras capas (e incluso "Tecnologías") de las que hemos oido hablar en windows. el manejo de la maquina virtual y las capas de controladores de dispositivos. De esta manera "abstraemos" la capa fisica. Cualquiera que tenga que utilizar "ese" subsistema. ¿Como? pues mediante una serie de funciones "estandard" y totalmente documentadas (llamadas siempre API de programacion). Nuestro PC ya no es una maquina unica. * Es ilogico.. José manuel Tella Llop tecnologia a la que he llamado nueva (con comillas) realmente era posible desde hace unos años y consigue velocidades realmente astronomicas sobre un hilo de cobre normalito. Era necesario primero "amortizar" las tecnoligas previas. El chip que es capaz de realizar esto ya ha sido diseñado. ASPI.". pero "nuestro" programa debe ser capaz de ejecutarse siempre sin necesidad de "saber" que hardware tenemos montado en nuestra maquina). REDES. Quizá hemos hecho mas incapié en las capas de red. Hay dos motivos fundamentales para esto: 1) Se debe intentar que el software de aplicacion no sea dependiente del hardware. consta de un nucleo (normalmente reducido en comparacion con el resto).. ** Hemos estado viendo entonces. debido a que actualmente (y en el futuro) dependemos de internet.. por ejemplo. Pues a base de "capas" que nos den unas funciones especificas y siempre las mismas. por poner solo un ejemplo de ellas. que un "navegador" se defina todo el TCP/IP y la comunicacion telefonica. Será mas o menos rapida.. Por tanto. al igual que otros sistemas operativos. una serie de capas que van recubriendo al nucleo de windows.. ** ¿Como podemos conseguir los tres puntos anteriores?. TWAIN.. 2) Dar la misma interface unica y estandar a los programas de aplicacion. 3) Evitar funciones "redundantes".. teniamos toda la infraestructura y la base tecnologica para hacerlo. Un "navegador" solo tiene que utilizarlo. Pero evidentemente existen otras "capas" que rodean al nucleo de windows y que se van inicializando segun windows está arrancando.. La repuesta. La pregunta es ¿por qué no se hizo antes?. tanto genericas como los propios miniports incorporados en windows. Estas funciones se las ha denominado API (Aplication Program Interface).. Es decir.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . son: OLE. es decir sobre "nuestra" propia instalacion telefonica sin necesidad de nada nuevo. Vamos a citarlas a continuacion describiendo unicamente un poco sus funcionalidades. Y quienes sufrimos esto. DIRECTX. Estas dos ultimas deben "pertenecer" al sistema operativo.. (nos debe dar igual que tarjeta de video se utiliza para un juego. que es el encargado del manejo de las tareas (multitarea). Es decir. ODBC.. intuyo que es muy simple: por motivos comerciales. curiosamente. somos siempre los mismos. "Desde que pulsamos el boton de encendido de nuestro PC. realizar las "cosas" en un solo sitio y que no sean los programas de aplicacion los que tengan que realizar las mismas tareas que las que ya suminstra (o debe suministrar) el sistema operativo.... 109 . lo deberá hacer entonces mediante el API de programacion de redes (o de telefonía). Se está integrando en la red. por condiciones de mercado. Y ahora empezamos a crecer hacia arriba...

. si nos fijamos en el parrafo anterior. Por suerte o por desgracia. al utilizar la interface ASPI. Camaras. sonido. "dá" ordenes a la capa ASPI. o bien a una base DB2 que reside en un mainframe. es decir nuestra aplicacion es capaz mediante este API de acceder a cualquier base de datos. les dá igual que el grabador sea IDE ATAPI o SCSI o incluso de puerto paralelo. para windows 3.. etc). manejo de cualquier dispositivos SCSI. Pues que como "antes". e incluso para el original w95. Incluso que sistema operatvio tiene. pues los fabricantes de software se veian obligados a distribuirlas con sus paquetes. nos dá igual que es lo que hay en el otro extremo. e incluso del propio windows. ¿que indica?. Es exactamente igual a efectos de la aplicacion.. Por tanto.. Son las que realmente hacen potente un sistema operativo. Por tanto. es decir objets distribuido en la red y que pueden usarse desde aplicaciones de red. no existian esas capas incorporadas en el sistema operativo. Y se dedicó a hacer unos estandares. nos dá una herramienta: SFC. los programas "grabadores" de CDROM. nos permite tambien una interfaz SCSI con el CD-ROM o grabadores de CD que sean IDE ATAPI).. tiene particion NTFS que windows 95 / 98 no puede ver. Es el mismo programa de aplicacion para aceeder a una base de datos Access por ejemplo. que veremos mas adelante. Nosotros "vemos" perfectamente su disco compartido. No sabe ver otras particiones que no sean FAT. Existen multitud de estas capas en windows.1. etc. El futuro del OLE es el DCOM.. acceso a bases de datos (cualquiera). Como ejemplo: un disco particionado con el sistema nativo de NT. Podemos citar: OLE: permite el uso e itercambio de mensajes (y objetos) entre aplicaciones. a pesar de ser de gratuitas y de libre distribucion. Son ademas las que hacen "crecer" ese sistema operativo.. ODBC: (Open DataBase Connectivity) Para conectividad abierta de bases de datos.. que al principio eran de libre distribucion y normalmente venian con los paquetes que instalabamos y que actualmente vienen ya incorporadas en el propio sistema.... con lo cual mucas otras funcionalidades nos pueden dejar de funcionar. (es necesario recordar tambien que el controlador ESDI_506. Este es un tema realmente peligroso. REDES: Este es el ejemplo de mayor abstraccion. Pero si ese disco está compartido en una red.PDR para acceso a discos duros IDE. Una vez fijada la red.. José manuel Tella Llop Evidentemente existen API's para mucas cosas: para video. muchas veces "machacan" DLLs y capas enteras del actual sistema operativo.. Al menos windows 98. 110 . No importa que tipo ni donde resida fisicamente (en local o en red). ASPI: Es una capa de abstraccion del hardware que nos permite acceder a caulquier dispositivo SCSI. * Por desgracia. TWAIN: Similar al ASPI pero para dispositivos de imagen (Scanners. Microsoft se "dió" cuenta de estas caracteristicas en su día. o incluso de la logica de una base de datos por ejemplo. El programa grabador. y que nos puede proteger (o avisar) de estas situaciones. podemos verlo perfectamente desde un ordenador con win 95 / 98 como si fuese un disco local. Esta costumbre sigue existiendo y por desgracia la mayoria de los fabricantes de software..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Estas series de capas que realmente "abstraen" a los programas de aplicacion del resto de hardware. *no* verifican si esta capa ya está instalada y ademas su numero de version.

En la "enfermería". nos creamos un acceso directo al programa en ese directorio.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . por poner un simil con la medicina. ** Creo que como una pequeña vision general del sistema. Por ello es "obligado" entrar a windows con usuario / password. Ni tan siquiera he querido complicar las cosas para intentar verlas desde el punto de vista de un medico de medicina general. Y pensar que ademas. teclado. raton. evidentemente tambien tiene que saber hablar hacia arriba. voy a incorporar unos cuantos ANEXOS sobre alguna pequeña utilidad y unos pequeños cuidados que debemos tener en windows. termina cuando nos identificamos a ella. por lo que o bien. Actualmente dicho shell es el propio explorer. José manuel Tella Llop DIRECTX: Es una capa de abstraccion del hardware para video. * Por tanto. Por supuesto no podremos establecer una "red". saber o intuir por donde van las cosas. los "juegos" actuales (son los que mas uso hacen de esta capa). Nos quedamos simplemente en la sala de "curas". La inicializacion correcta de una red (y windows es un sistema operativo orientado a red). sonido y dispositivos de entrada -joysticks. 2) No estar autentificado a una posible red (por ejemplo. ************ Y POR FÍN ARRANCÓ ***************** ** Como colofón. La primera vez que lo ejecutamos (Y DEBERIA SER NADA MAS INSTALAR W98). está el "shell" de windows. debemos "autentificarnos". con la capa DirectX. no tienen porqué conocer el hardware. como punto final de estos capitulos y justo antes de inicializarse correctamente el explorer... existen los especialistas.. No hacerlo así nos causará malfuncionamiento de algunas de las caracterisiticas de windows como: 1) No guardar contraseñas de conexion correctamente.. o bien podemos ejecutarlo desde Inicio->Ejecutar.. y estar a disposicion de cualquier programa de aplicacion. una conexion telefonica PC a PC o una conexion via cable). ANEXO I: SFC (SYSTEM FILE CHECKER) ---------------------------------Es el programa SFC.. es la vision desde el punto de vista de un "enfermero".EXE Dicho programa reside en el directorio windows/system.. Justo cuando arranca el shell (es decir el explorer). gamepad-.. La vision que he intentado dar. ** Todas estas capas se deben inicializar correctamente al arrancar windows. crea 111 . Condicionantes: los drivers del fabricante de la tarjeta de video.. De esta manera.. No existe un icono en windows para ejecutarlo. todavía. PUNTO FINAL DEL "ARRANQUE" -------------------------Como punto final a todo esto. Simplemente hablan directamente con la capa directX y por tanto funcionarán con cualquier tarjeta de video. estos "capitulillos" han podido servir para perder el miedo a ese gran desconocido que es windows.

Con esta precauciones. Nos sorprenderemos cuando al instalar software de terceros. con los que residen en las carpetas mas importantes.. es decir: de verificar ficheros borrados y verificar numero de version e los programas.TXT. Darlo por bueno. No posteriormente durante su ejecucion real. Sobre todo si tenemos la precaucion de escribir (con el notepad por ejemplo) en ese archivo. ** Es necesario tener varias precauciones: 1) Sí alguna vez.. En este caso. bien actualizar sus datos. siempre deja un LOG (fuchero de historia) en el directorio de windows llamado SFCLOG. ANEXO II RESUMEN DE NOTAS Y PROBLEMAS COMUNES 112 . ¿Para que nos puede servir: facil. 2) El criterio basico para recuperar o no una DLL o programa. no debemos recuperar. es una version "reducida" de ambos archivos. maginemos una DLL que trae windows y es la version 1002. A veces SFC los considra dañados cuando realmente no lo están y es debido a que ciertos controladores "tocan" para establecer algun "gancho" de software. En estos casos es necesario "mirar" el log y por tanto podremos saber que nos lo instalo Office. Si difieren nos permite.EXE o KERNL32. En el caso de numeros de version *igual* pero tamaños diferente de archivos. Es bueno el tenerlo y usarlo como "historia". Despues de ejecutar SFC. ** Realmente hacia falta una herramienta así desde hace mucho tiempo. nos asombraremos de como es que windows sigue funcionando. Pero si recuperamos la de windows. que unicamente es la que se utiliza al instalar windows. Instalamos por ejemplo Office..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Es quizá la herramienta mas potente de control de w98. imaginemos que ahora un software de terceros nos machaca es version colocando la 1010. *no* debemos recuperarlos. Existen utilidades del propio microsoft.. Y por desgracia. vemos las "guarradas" que hace con las DLLs de windows. una linea de coment6arios cada vez que instalamos un producto. Despues de unas cuantas instalaciones.. Pero esto lo podemos personalizar tambien dentro de las opciones de configuracion del propio programa) Una vez ejecutado.. Un numero de version *superior* siempre es el correcto. debemos entrar en configuracion y marcar las DOS ultimas casillas de esa pantalla. SFC sequejará diciendo que tenia la 1034 y ahora está la 1010. Si los recuperasemos. el SFC se "queja" diciendo que tenmos dañado USER. José manuel Tella Llop una base de datos con las versiones de todos los programas y Dlls de tu PC (realmente. *no* debe ser nunca la fecha de creacion del archivo.. sabremos que nos lo instaló Office. la cabecera de dichos archivos. el cual nos "sube" la version de esa DLL a la 1034.EXE. o RECUPERAR desde los ficheros de instalacion de W98.. Guiarnos *siempre* por el numero de version de la DLL o programa. nos escribirá a continuacion de esa linea las DLL y su numero de version que el producto ha actualizado. Todavia más *inferior* a la actual. cada vez que lo ejecutemos comparará su base de datos con las versiones actuales. SFC no sabe hacerlo correctamente ya que la version que recupera del CD de instalacion de windows. vemos el mismo numero de version y tamaños diferentes. si nos fijamos. nos recuperará la 1002. Posteriormente. que son capaces de "alinear" el codigo de una DLL para que su ejecucion sea mas rapida. Por eso es por lo que a veces.. 3) SFC. y por tanto podremos recuperar desde Office..

debemos ejecutar el programa SFC (que reside en c:\windows\system). si esta no está en alguno de esos SLOTs. el sistema se nos "cuelga" y es incapaz de finalizar la instalacion por mucho que reiniciemos el PC. y antes de salirnos. durante el segundo boot de la instalacion. ejecutar otra vez SFC... y en combinacion con ciertos controladores de placas madre. 4) Si nuestra tarjeta de video es PCI. 3) En la pantalla de PnP.. Ciertas BIOS no inicalizan correctamente la tarjeta de video. De esta manera hemos creado una base de datos con los programas y numero de version de las DLLs que windows nos acaba de grabar. * Cada vez que realicemos una instalacion de cualquier producto. y despues de finalizar su ejecucion. y algunas tarjetas SoundBlaster PCI). deberemos entrar en el modo a prueba de fallos y teclear en Inicio->Ejecutar el comando regedit. Fundamentalmente placas madre de baja calidad. (a ser posible en el 1). deberemos asignar la IRQs que sepamos que son de dispositivos ISA no PnP a la opcion "ISA" o "Legacy ISA". deberemos entrar en las opciones de "Avanzado" y dejar marcados los dos ultimos casilleros ("Verificar programas borrados" y "Verificar numero de version"). * DURANTE LA INSTALACION -----------------------Si al instalar. Si posteriormente tuviesemos problemas con la impresora. Allí buscaremos la clave: IDEDMADrive0 Deberemos cambiar el valor 01 por el valor 00 e intentar continuar con la instalacion.)... MANTENIMIENTO GENERAL -------------------------------------------------* Nada mas instalar windows... * DESPUES DE LA INSTALACION. son los modem internos. Incluso algunos dispositivos ISA que se "autodenominan" PnP. un *NO* o *disabled*. las tarjetas SCSI ISA.. Si el programa nos ha sustituido alguna DLL de windows o 113 . * ANTES DE INSTALAR ------------------1) Entrar en la BIOS y poner en la pantalla de PnP. 5) Instalar windows desde el directorio win98 del CD con el parametro /p j (un espacio en blanco entre la "p" y la "j") telecando: instalar /p j Esto nos reconocerá nuestra BIOS como ACPI si lo fuese (unicamente las placas madre de ultima generacion y BIOS de ultima generacion. José manuel Tella Llop --------------------------------------------Paso a resumir aquí unos pequeños truquillos para configurar e instalar win98 y evitar el tener los problemas más comunes. (casi todas las bios nos hacen esta pregunta pero puede que la nuestra en particular no la tenga).DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . (estos son los mas alejados del bus ISA. (esto ocurre normalmente con las versiones OEM (para equipos nuevos sin windows preinstalado.. 2) Configurar el puerto paralelo como ECP+EPP con DMA=3. recordad que debe estar en el SLOT 1 o 2. a la pregunta PnP OS (PnP Operating System). Merece la pena que windows se monte como ACPI). no lo son tales y debemos configruar entonces de esta manera la BIOS (ejemplos clasicos. es decir los mas cercanos a la fuente de alimentacion).. se deberá cambiar a EPP. poseen la facilidad ACPI.

Si despues de instalar este dispositivo. En caso de que nos haya sustituido alguna.exe o el krnl32.. Error en IFSMGR o bien Error en DOSMGR. sustituir por la correcta). alguno de los parametros del EMM386 es invalido para multimonitor. arrancamos con el disco de inico de win98 y ponemos en nuestra unidad de CD el disco de instalacion de win98. ** EN EL ARRANQUE ----------------** Al arrancar windows. sino fuese esta. No sirve darlo de baja. son incompatibles en este dispositivo para win98. nos permite recuperar la de windows.. Si dejamos que SFC recupere. Una "minima" para la instalacion. tenemos "cuelgues" estraños de la maquina. Por tanto.cab user. y ademas ahora ya no se puede utilizar el parametro I=B000-B7FF en el EMM386 en el caso de multimonitor.sys y ver si tenemos la linea de EMM386. Solucion: Revisar primero el config. Si el sistema arranca. Si es igual o mayor el numero de versión.exe (he supuesto que el CD es la letra e: -que es lo normal bajo el disco de inicio-. y otra la del funcionamiento normal de windows. todavia podemos tener solucion.exe estan dañados y nos dá la opcion de recuperarlos: NO RECUPERAR nunca. Si el tema no fusese el EMM386. revisar que las 114 . Ciertos . paralelo o de raton es el causante del problema. ya que lo volverá a instalar al arrancar. ya que la BIOS de ambas placas de video ocupan mas epsacion. José manuel Tella Llop borrado alguna... Si por desgracia la hemos recuperado y windows no arranca. ** NOTA: Si alguna vez SFC se "queja" que el user. Si la tuviesemos n principio comentarla y probar. y fundamentalmente al cerrar windows (no termina de cerrar). Probablemente algun dispositivo de puertos de comunicaciones COM1. COM2. Si acabamos de instalar algun dispositivo de puerto paralelo. entrar en modo a prueba de fallos y eliminarlo.EXE. recuperará la primera que se encuentra y esta el la "minima" para instalar windows. Si el numero de versión actual (independientemente de la fecha) es menor que el que teniamos deberemos recuperar con el propio SFC la versión original. Para ello. igualmente sustituir el driver de raton por un raton standard de windows... Revisar los Include y Exclude. que puede verse en el Administrador de dispositivos colgando de "Controladores de Sonido y Juegos". debemos pinchar dicho dispositivo en el Administrador del sistema y marcar la casilla de "No cargar en este perfil de software". tecleamos: c: cd \windows\system extract /a /e e:\win98\base5. windows no nos arrancará. nos dá el numero de versión actual y el numero de versión previo que tenia almacenado.INF de instalacion de modem's (fundamentalmente los antiguos para win 95). podemos darlo por bueno. Cuando hayamos arrancado.. El SFC se "equivoca" en este caso al recuperar debido a que existe dos versiones de esos ficheros.. * POSIBLES PROBLEMAS AL INSTALAR ALGUN DRIVER DE DISPOSITIVO -----------------------------------------------------------** AL INSTALAR LOS DRIVERS DE UN MODEM -------------------------------------** Ciertos modem's instalan un dispositivo "Wave Device for voice modem" en el sistema..DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . nos dá una pantalla negra (estilo MsDOS) con un par de lineas en la parte superior que nos advierte: Imposible arrancar windows. Si es por culpa de los drivers del mouse.. ** Acabamos de montar una segunda placa de video para tener la posibilidad de multimonitor y la maquina no nos arranca.

ya podemos analizar el fichero "boot..tw ** Windows no se cierra correctamente. arrancamos con CTRL pulsada y cuando nos salga un menú de opciones. A veces la solucion pasa sencillamente por cambiar la placa fisicamente de slot.... El causante suele ser algun driver de dispositivo instalado que nos impide el apagado rapido (o algun programa que se carga en el inicio).com.. nos dá un error en el programa MSGSRV32.txt de esta manera. o se queda en la pantalla del logo de cierre pero sin finalizar. tecleamos MAY+F8 y le damos Intro. se deberá analizar el contenido del fichero anterior. * RECONOCIMIENTO DE DISPOSITIVOS -------------------------------** Nada más finalizar la instalación (o incluso re-instalación) de windows sobre todo sí durante la instalación hemos tenido alguna pantalla azul (BSOD). es tener la unidad de CD-ROM como "master".. ** EN EL CIERRE --------------** Al cerrar windows. ver tambien el comentario que he realizado al instalr un modem sobre el dispositivo "Wave device for voice modem". Win98 es "exigente" con las unidades de CD-ROM y los fabricantes se toman las normas a la torera o bien sufren incompatibilidades con ciertas bios de ciertas placas madre. No puede utilizarse placas ISA para multimonitor. Una causa comun de estos problemas. Si fuese una solucion más complicada. uno como 115 .. Para ello. Nos irá preguntando si carga los drivers uno por uno. ** Acabamos de instalar una nueva placa de hardware y el sistema no arranca. Para evitar perder ese fichero. ** Win98 no nos reconoce nuestra unidad de CD-ROM.txt. Este programa nos dirá si ha habido algun dispositivo que ha causado un error crítico al instalar y nos permitirá en ese momento. Es un problema reconocido por el fabricante. Este error suele estar causado por utilizar algun chip de sonido de la marca CMEDIA (cmxxx) y es bastante corriente en las placs madre que tiene la tarjeta de sonido on-board. pueden montarse dos dispositivos. Recordad que los controladores IDE. Y recordad que en cada canal IDE. José manuel Tella Llop placas de video sean AGP+PCI (en slot 1) o PCI+PCI (en slots 1 y 2).. Verificar primero que realmente es la nueva placa y no otra anterior que por culpa de incompatibilidades sea la causante. El sistema se colgará igualmente. Problema bastante comun.txt > boot. el intentar cargarlo. es conveniente ejecutar el programa ASD.txt" y ver la ultima (o ultimas) lineas de él. dar al boton de "avanzado" y marcar la opcion de "Deshabilitar apagado rapido".. es arrancar con un disco de inicio.. pero nos habrá dejado un fichero oculto en el raiz de C: con el nombre bootlog. Allí nos dirá el controlador causante del problema. y posteriormente teclear: c: cd \ type bootlog. IDE Primario y secundario. normalmente son dos. o nos la reconoce unicamente si iniciamos windows con un CD insertado en la unidad. Puede buscarse en su web en www. ** Para e problema anterior. Le damos a todo que *SI*.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . que se corrige sustituyendo los drivers de sonido por los ultimos de cmedia. Solucion: ejecutar el programa MsConfig desde Inicio->Ejecutar. lo mejor en ese momento.cmedia.

. Son para win95 y por tanto no se deben instalar en win98 a no ser que "explicitamente" nos lo diga.. fundamentalmente algunos modelos de impresoras.. Verificar posteriormente el que no comprtat su IRQ con otro dispositivo de acceso a disco. por ejemplo los GIF. ** Si añadimos una tarjeta SCSI PCI. No fiarse del software distribuido en los CD de las revistas..dll ** Como precaucion. debemos recordar que windows conserva una copia del registro. que debe estar en el slot numero 1). y cuando nos salga un menú.iomega.) sobre el propio sistema. Montar el ultimo driver de iomega (buscar en www.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . no instalar *ninguna* actualizacion (directx. a ser posible instalarla en el SLOT 4 de la placa madre.. que no esté en la pagina de WindowsUpdate. Si quisiesemos recuperar la situacion del registro al inicio del dia.. Una vez en él. Si lo reintentamos windows entra correctamente.. tecleamos: scanreg /restore Nos mostrará una lista con la fecha de las copias de seguridad del registro y nos permitirá recuperarlas.imation. seleccionamos "Solo simbolo del sistema". o bien de algun dia previo.. Es un problema clasico de conflicto con el puerto paralelo. ** Posibles problemas al instalar un LS-120 (disco Imation o SuperDrive) en el puerto paralelo. Realiza esta copia la primera vez que "entramos" en el sistema en el dia. pero nos eliminará problemas de arranque y fundamentalmente de compatibilidad con otros dispositivos en el puerto paralelo. Esto puede lograrse cambiando fisicamente en los slots las tarjetas PCI que tengamos (excepto la de video. **NO** son para win98.exe disponible en el web de imation: www.com) y muy importante: configurar el puerto de la bios como ECP+EPP.exe /i shdocvw. José manuel Tella Llop "master" (maestro) y otro como "slave" (esclavo).. *ponga lo que ponga* ** En caso de problemas con alguna instalacion. ** Con ciertas tarjetas SoundBlaster PCI (por poner un ejemplo de una 116 . Instalar el ultimo driver sd125.com Esto no nos solucionará el problema de que la inicializacion de dicho driver es de cerca de un minuto que perdemos en el arranque de windows. se ha perdido y no podemos recuperarala (nos sucede al instalar algun programa de graficos). Muchas (todas) las actualizaciones de MS en sus paginas.. etc. Solucion: Ir a inicio->Ejecutar y teclear: regsvr32. pero lo minimizará lo más posible. arrancamos con la tecla CTRL pulsada. Por tanto reconfigurar el hardware de vuestra maquina para que no se dé la situacion anterior. así como la vista previa de dichos iconos. * AL AÑADIR NUEVO HARDWARE -------------------------** Posibles problemas al añadir un ZIP puerto paralelo: windows nos muestra una pantalla estilo MsDOS indicando un error y no arranca.. de los ultimos 5 dias en que hemos entrado a él. Y a ser posible que no lo comparta con ningun dispositivo. Quizá esto no soluciones del todo el problema. Pues bien hay ciertas unidades que no pueden estar como "master" en win98 y ademas no pueden tampoco estar "solas" en un canal IDE. * DURANTE EL FUNCIONAMIENTO --------------------------** La asociacion de ciertos iconos de windows.

No hay solucion excepto desistalar el software y por si acaso.. Existen dos posibilidades: una hardware que pasa por conectar mediante un conector especial la tarjeta PCI a un conector tambiuen especial en la placa madre para "robar" al bus ISA la IRQ correspondiente.. o quiera pillar el modem. La otra solucion es configurar la BIOS. para asignar la IRQ que quiere pillar la tarjeta de sonido. Y ademas al eliminar dicha VXD. Y si seguinos teniendo problemas deberemos entrar en la BIOS de la maquina. la norma PCI no permite esto.VXD (que reside en C:\windows\system\iosbusys). tienen incompatibilidad con una VxD estandard de windows: la SCSI1HLP. De esta manera tambien nos funcionará.. cambiar de SLOT el modem.. entiendo por ejemplo ciertos "cuelgues" del equipo al navegar. Por tanto hay que vigilar que la BIOS no haya cometido errores y haya compartido dicha IRQ. Esto es lo más sintomatico.. marcarla en la pantalla PnP de la BIOS. Es necesario entrar en "solo simbolo del sistema" y borrarla. que no se han "machacado" ninguna de las DLL's de windows (es muy normal que los fabricantes de software hagan lo que les dá la gana y nos "machaquen" medio sistema). despues de añadir nuevo software. dejarán de funcionar (menos mal que el SCSI 1 es una vieja norma y ya quedan pocos dispositivos. mediante el programa SFC. por tanto debe ser la 10. recuperar la base de registro. a ISA o Legacy ISA. ** Si empiezan a ocurrir cuelques y situaciones anomalas. deberá configurarse por "switches" en alguna IRQ diferente a la 3 y 4 (y yo aconsejo que tampoco sea la 5 y la 7. José manuel Tella Llop tarjeta de sonido PCI).. Particularmente me parece una "chapuza" por parte de HP.. Las IRQs de modem internos *NO* pueden compartirse con otro dispositivo (y puede que sucedan estos errores en los modem PCI). recuperar inmediatamente el registro con scanreg /restore al arrancar en "Solo simbolo del sistema". Hay software comercial y de instalacion muy corriente (por ejemplo "GetRight") que en muchos equipos causa cuelques inexplicables por ejemplo al dar el boton de "retorceder" pagina en el navegador.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .. Si el modem es ISA. Igualmente la IRQ asignada al modem. son causas de multiples problemas. Deberemos configurarlos para una IRQ superior a la 9 (es válida la 9 si el modem es autenticamente PnP). Por situaciones anomalas. parece saltarselo a la torera... debemos configurarla en la BIOS como ISA o Legacy ISA. Los ultimos modelos de BIOS. con lo que windows ya no la carga. 11 o 12. Y si nos lo permite para COM3 o COM4 (este ultimo no aconsejado si tenemos una placa de video con un chip S3). * AL REINSTALAR WINDOWS 98 -------------------------** Ciertas grabadoras de CD (por ejemplo HP 8100).. Pero si reinstalamos windows por encima. pero el fabricante.. ** Los modem internos. el instalador nos volverá a dejar dicha VXD en cuyo caso windows ya no arrancará. Al instalarse lo que hacen es renombran dicha VXD por otra extension. todos los posibles dispostivos SCSI 1 que tengamos en nuestro hardware. Desde luego. No todas las placas madre soportan esto. ya tienen normalmente presente esta casuistica con lo que no tendremos que hacer nada. y la IRQ que pille. Si es así y el modem es PCI. existen problemas con la asignacion de IRQs tipo ISA al slot PCI. ANEXO III: SCANREG (COPIAS DE SEGURIDAD DEL REGISTRO) 117 . * AL AÑADIR NUEVO SOFTWARE -------------------------** Se deberá verificar siempre. en la pantalla PnP... Recordad que la mayoria de ellos son configurables mediante "pins" o "switches". como ISA o LEGACY ISA. pero quedan!!).

. ¿Cuantas copias se guarda?.. por mucho que recuperemos con "scanreg /RESTORE". ****** Espero que esto SI QUE SEA UTIL ***** y se utilice (se puede hacer en cualquier momento ANTES de una instalación. Si en algún momento. Listar los ficheros y fechas y guardarlo. ANEXO IV: WALIGN (OPTIMIZACION DE CARGA DE OFFICE) 118 . porque cualquier VXD en ese directorio. y por ultimo nos da la opción de realizar la copia de seguridad. realiza una copia de seguridad de la base de datos de registro (el famoso "registro" de windows). Si una instalación. Posteriormente mediante SFC y mediante la recuperación de la base de registro. Es decir ¿cuantos días se guarda?: Por defecto 5 días. independiente de las que ya se ha guardado en el inicio del día. Y esa puede ser problemática. Pero como contraprestación.. es mucho más seguro. podemos ejecutar el programa: SCANREGW (cuidado: termina en W) Este programa primero nos analiza el registro (podéis ejecutarlo en cualquier momento). windows la carga SIEMPRE.. pero perderemos una seguridad que antes o después nos hará falta.. con lo cual se cargará.) Nos queda la solución de recuperar el registro a la fecha que queramos.. y allí podremos seleccionar).DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . o algún programa lo ha "roto". Por si acaso: vigilar lo que hay en windows\system\iosubsys. Esto lo digo. Bien.. Con esto podemos recuperar. José manuel Tella Llop ---------------------------------------------------Windows 98 al arrancar cada día (una vez al día)... y SFC. etc. Independientemente de esto. para ello: * Arrancar en modo "Solo símbolo del sistema" (si tenemos pulsada la tecla CTRL al arrancar. bajo windows (dentro de windows) queremos que nos realice una copia nueva. el arranque de win 98 es mas lento que el de win 95. Igualmente en este fichero se puede deshabilitar la opción de copia y verificación del registro. redefinidas... Debido a los dos puntos anteriores. antes de entrar en windows. Solo una cosa más. siempre al arrancar nos realiza una comprobación sobre el registro: si está dañado o no al menos en su información mínima necesaria para el arranque. está allí. con lo cual nos arrancará mas rápidamente.ini.. Se puede modificar en el fichero scanreg. nos mostrará un menú. nos guarda una VXD allí. volvemos JUSTO a la situación inicial de antes de la posible instalación del producto problemático.. * teclear: scanreg /RESTORE esto nos mostrará una lista de las copias de seguridad del registro y sus fechas. Y ahora la pregunta del millón: ¿como podemos beneficiarnos de esto? ¿y como podemos recuperar la situación a un día determinado?. del todo (extensiones de archivo perdidas. supongamos que nuestro registro se ha dañado. por desgracia la VXD nueva.

esto no estaba así.. si es actualización y se encuentra el Office.. Hay motivos 119 . Esto. tal y como se van a ejecutar en la maquina. lo justifico: porque si tenemos Office y no hemos instalado el SR1 de Office. Con esto he explicado que hace. Por poner una similitud con el antiguo MS-DOS. Se puede ver que no ha echo nada. sirve de momento. deja una tarea pendiente de ejecución el el planificador de tareas. AUTOMATICAMENTE y sin pedirnos permiso (craso error). pero por otros motivos. se apoya en un fichero INI que reside en el directorio system (curioso ¿no?). al instalar W98.. bajo mi punto de vista es aconsejable tener al menos 2 win98.. no está "alineado". Nos deberíamos hacer otras preguntas: 1) ¿porque esto no esta corregido desde el principio? Es decir ¿porque el propio linker no optimiza correctamente los ejecutable? 2) ¿porque no se nos informa.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . Podíamos alegar. W98 solo trae el fichero INI anterior. realice nada en especial... optimizar otros paquetes. simplifica la vida al cargador y los programas por tanto se cargan en maquina "bastante" mas rápido. es decir se cargan y directamente se ejecutan. no deja correctamente alineados los segmento de código y datos de un programa o dll. estaba esta opción? Todavía no se lo que opino. no se ve el texto SR1 que debiera verse. que esto era lo mas lógico desde el diseño del primer Windows. cuando los betatester sabemos que en los W98 beta que probamos. Es decir. Ahora. Para ello. pero por los motivos que sea. sin necesidad de que el loader (cargador). Digamos que lo tengo en "cuarentena". supongo que porque Microsoft considera que es un programa muy pesado y merece la pena optimizarlo. pero para nuestro caso.. con los datos del Office. pero lo que es peor. En nueva instalación o sino tenemos el Office. El código de w98. por ejemplo win98. ya que al entrar en los "acerca de" de los programas de Office. no dice nada y termina como si lo ha realizado correctamente. los deja como eran los ficheros COM. no sabe modificar los ficheros de Office si los tenemos "alineados". no por sus funcionalidades. La función de WALIGN. o cualquier combinacion de varios (n) sistemas de operativos de Microsoft.. aunque solo queramos tener un sistema. El SR1. Efectivamente. Por ello. Realmente el símil es un poco basto. es decir no hace falta optimizarlo (cuidado con las aplicaciones que nos substituyen dll's aunque tengan el mismo numero de versión. Se debe vigilar también la fecha. Esto ultimo es mas difícil de matizar. ya no podremos instalarlo. es arreglar esto.. El código de otras aplicaciones.. ya viene "alineado". Este es el motivo por el que nos podemos encontrar dos programas o dll´s con el mismo numero de versión y diferente tamaño). José manuel Tella Llop -------------------------------------------------Técnicamente este programa lo que hace es "barajar" el ejecutable al objeto de dejar los códigos de segmento alineados realmente. El comentario de antes de "craso error". la pregunta es ¿que opinion personal me merece?. Es decir el "linker" (montador) de programas standard. ejecuta el WALIGN. ANEXO V: VARIOS SISTEMAS OPERATIVOS EN LA MISMA MAQUINA ------------------------------------------------------Vamos a intentar ver como instalar mas de un sistema operativo de Microsoft en la misma maquina y como podemos tener por ejemplo dos win98 en ella. y da opción a escoger sobre el alineamiento en ese momento de Office? 3) ¿porque no se permite (no existe el INI).

. Al arrancar un PC. Si 120 . el primer sector fisico de esa particion en memoria y cederle control. Recordemos que para que una particion sea "activa". Por tanto esto no debe ser un problema. debe ser una particion "primaria".. evidentemente se puede encontrar una solucion "mecanizada". conviene entender como "arranca" un sistema operativo.. Los anteriores. una vez pasados esos controles. 2) Evidentemente.SYS (opcional) y un interprete de comandos que por defecto es el COMMAND. y su unica misión. INTRODUCCION -----------Antes de pasar al detalle de la ejecución. 3) El programa del registro de "boot". es buscar la particion "activa" del disco duro.SYS (obligatorios) CONFIG. que existe tambien uno de parametros llamado BOOT.SYS. Simplemente hay que hacer notar en este nivel.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . De esta manera.2. sobre la parte del interprete de comandos que podría realmente residir en otro disco). obligatoriamente deben residir en C: (hay alguna matizacion que obviamos aquí.. utilizan los mismos "nombres" de los archivos de "arrancada". Realmente este sector contiene un mini-programa y es grabado por el FDISK cuando se encuentra un disco "virgen" o cuando hacemos FDISK /MBR. José manuel Tella Llop importantes: 1) Tener más de un win98.. El nucleo del sistema formado por los archivos MSDOS.COM y el AUTOEXEC. Win95 y Win98) realmente constan de dos partes. Y si somos capaces de hacerlo "a mano".. Esto plantea ya un problema: los tres sistemas operatios. Ese sector es llamado el sector de "boot" de la particion. y otro para pruebas.BAT (opcional). 5) El sistema operativo NT. o varios discos). El proceso real es: 1) Se carga el primer sector fisico (512 bytes) del disco duro en memoria.. IO.INI. y cargar a su vez.. empieza su ejecucion y busca realmente el sistema operativo dentro de la particion y lo carga en ejecucion. cuando hacemos un "format" de la particion. esto implica "más" disco (o mas espacio en disco. con otros nombres que no colisionan con los anteriores. NOTA: Muchos de estos archivos están ocultos (attributo "Hidden") y tiene atributos ademas de solo-lectura ("Read Only") y del sistema ("System"). seremos capaces de realizar los cambios "a mano". consta de otra serie de archivos en el disco C:.. Una vez entendido esto perfectamente. y el tamaño de los discos ha aumentado ademas en la misma proporcion. busca siempre la particion "activa" del disco C: (nos olvidamos por ahora de las bios que permiten arranques desde distintas unidades). podremos incorporarlo a "real". y es creado en la particion. 2) Este programa empieza su ejecucion. Este sector es el llamado MBR (Master Boot Record). Pero el precio de hardware ha caido en los ultimos años.. pero en principio. Voy a referirme unicamente a los sistemas operativos de Microsoft. 4) Los sistemas operativos (MSDOS 6. una vez que el software que estemos probando haya pasado "nuestros" controles de calidad en pruebas y "nuestro" test de compatibilidad con "nuestra" maquina y el "resto" de software de terceros que tengamos instalado. nos permitirá utilizar uno de ellos para trabajo "real".

con solo darlo igual que antes y con un signo "-" y la primera letra del atributo que queremos quitar. 2) Windows 95: (normal y OSR2) Utiliza para el arranque: MSDOS.SYS (ejecutable o programa) CONFIG.sys -s -h -r quitará los tres atributos al archivo msdos. a no ser que tengamos activa la opcion de "ver todo tipo de archivos". Y por supuesto.SYS (aparece nuevo en win95)..SYS (ejecutable o programa) IO. pero por ahora vamos a obviar el tema de discos comprimidos).BAT LOGO.SYS (parametros de configuracion) COMMAND. y en windows tampoco. Igualmente con un signo "+" podemos ponerle los atributos.SYS COMMAND. el comando inverso: attrib c:\msdos.SYS 121 . dando un DIR normalito no los veremos....2. Bajo MS-DOS la unica manera de saber si existen es dar el comando attrib. José manuel Tella Llop están con estos atributos. DESCRIPCION DE CARGA DE CADA SISTEMA OPERATIVO ---------------------------------------------Pasemos a describir cada sistema operativo: 1) Antiguo MSDOS (6.COM (ejecutable o programa) AUTOEXEC.sys +s +h +r nos volverá a colocar los atributos que debe tener dicho archivo. IO.sys y por tanto ya es "visible" con un DIR.. es decir un progama).. o bien manipulable con un editor como pudiera ser el propio "edit" del MSDOS o el "notepad" de windows.SYS (parametros) IO.sys nos mostrará el archivo y sus atributos en pantalla. Por ejemplo: attrib c:\msdos..BAT (parametros de configuracion) ademas si tenemos la opcion de discos "comprimidos".SYS (pero ahora es un archivo de "parametros" que podemos ver por ejemplo con el notepad. era un archivo ejecutable.* que existan en el directorio raiz del C: (hay que notar que estos existiran igualmente ne win95 / 98 y los tendremos presentes para crear posteriormente las baterias de inicio. Ademas incluso dicho comando nos permitirá cambiar el(los) atributo(s) que queramos. 3) Windows 98: MSDOS...SYS CONFIG.* o DRV*..COM AUTOEXEC. ** Evidentemente los archivos de parametros de configuracion podremos siempre tocarlos con un editor. Por ejemplo attrib c:\msdos.SYS CONFIG. utiliza los DBL*.2): Utiliza para su arranque: MSDOS. En MSDOS 6.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .

pero sino existe.SYS.. queremos instalar NT 4. obligatoriamente el C: debe ser de FAT 16. lo renombrarán como IO. por lo que ya abordaremos su problematica real en la instalacion. *no* OSR2) o w98 sobre una maquina que ya tenia el 122 . utilizarán este en lugar del IO.. las particiones pueden quedar creadas de cualquier forma. Si al entrar en FDISK tecleamos "S" a la pregunta de soporte para grandes particiones. Se ponen los disquetes y ellos hacen todo. (esto es importante. que aunque los archivos mencionados anteriormente deben estar en C:\. que para crear una particion FAT 16 o FAT 32.22 en un disco limpio.. Se verá mas adelante como una posible "trampa" para compartir Win95 OSR2 y un posible DOS 6. puede estar en cualquier unidad de disco o particion. si queremos mezclar varios sistemas. Si existe puede tener personalizado el logo de arranque de windows.SYS (**opcional**.. sino reiniciamos la maquina. Unicamente. lo mismo. es durante el FDISK que damos inicialmente al disco. es que cada vez que nos salgamos de FDISK. ya podemos saber como "debe" ser al menos nuestra "particion" correspondiente al C:. el resto del sistema operativo.SYS.. tambien debe ser FAT 16.2 : solo entiende FAT 16 Win95 : solo entiende FAT-16 Win95 .DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . entonces la particion creada será de FAT 32.BAT LOGO.OSR2 : FAT16 o FAT 32 Win98 : FAT 16 o FAT 32 NT 4 : FAT 16 o NTFS (particion exclusiva de NT) NT 2000 : FAT 16 o FAT 32 o NTFS ** A la vista de lo anterior. la particion creada será de FAT 16. y ademas al finalizar su ejecucion. veremos en los siguientes puntos que es lo que ocurre si "ademas" ya teniamos el antiguo MS-DOS 6. la particion o disco donde posteriormente resida el sistema operativo NT. NOTA: Debemos tener presente. no nos molesta con sus nombres de archivos. si se encontrasen un WINBOOT. 1) Instalar MS-DOS 6. Todos (o casi) lo hemos realizado alguna vez..SYS en el disco C:\.COM AUTOEXEC. NOTA: Tanto win95 como win98. Si no cumplimos estrictamente esto. Facil. w95 OSR2 o w98. Si teclemos "N". INSTALACION DE LOS DIVERSOS SISTEMAS OPERATIVOS ----------------------------------------------Vamos a ver los distintos casos.22 3) Instalar w95 (normal. ** Recordemos. Y ademas MUY IMPORTANTE. no podemos volver a entrar en él.. 2) Instalar w95.. José manuel Tella Llop COMMAND. y ademas.. SISTEMA DE ARCHIVOS QUE PUEDEN UTILIZARSE -----------------------------------------1) 2) 3) 4) 5) 6) MSDOS 6.22) 4) Por ahora el NT. nos mostrará el logo por defecto de windows 98). Si por ejemplo. o incluso inutilizables..

b) El montaje y el renombrar archivos es similar al descrito en el punto 3). para todo hay solucion.com de nuestra maquina para instalarlo. COMMAND. y una vez instalado.BAT de la maquina donde tengamos MSDOS 6.SYS al salir.. CONFIG.2.DOS por sus extensiones correspondientes. 5) Instalar MS-DOS 6.. lo ejecutará siempre. Esto es un poco mas delicado.SYS. PERO todos con extension .SYS de w95 / w98. En este caso. Renombra sus archivos de arranque con la extension .22 sobre un sistema que ya tenga w95..22. y volvemos a poner los atributos que tenian.SYS de win95 OSR2 sobre un fichero llamado WINBOOT. y le añadimos la linea BootMulti=1 c) Copiamos (via disquete) el resto de programas del antiguo DOS a nuestra maquina. Ademas en el MSDOS. Por tanto recordad que cuando estemos en "la antigua version de MSDOS". les quitamos los atributos y los ponemos en un disquete. veremos los archivos "reales" de windows.SYS. y ahora arranca los archivos que acaba de renombrar. y este lo dejamos en el raiz. no se instala..SYS en el raiz. El sistema se quedará colgado en el MSDOS 6. Evidentemente debemos renombrar todos los win. Pero necesitamos otra maquina en donde lo hayamos instalado previamente.DOS.COM y AUTOEXEC.22 y no es posible volver debido a que no restaura el archivo IO. si copiamos el contenido del IO.DOS.W40. José manuel Tella Llop antiguo MSDOS 6.... lo siento.SYS.. poniendolos como extension: .W40 por su nombre IO.22. es sencillo. Pero si "vamos al antiguo MSDOS". Por tanto.com en la maquina.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . que nos permitirá "ir a la antigua version de MS-DOS". ya no podremos volver a utilizar el windows. Ahora los copiamos a la maquina don w95/w98.. el proceso que sigue windows es sencillo. a) Entonces podemos coger el MSDOS. podemos volver a dejarlo igual). le incorpora una linea que dice: BootMulti=1 Esta linea lo que hace es darnos una nueva opcion en el menú de arranque de windows (accesible con F8 en w98 al iniciarse o con CTRL en w98). Y es delicado debido a que MS consideró que el OSR2 era para "equipos nuevos" y por tanto no debian tener montado ningun otro sistema operativo y para ello.SYS. Seleccionando dicha opcion. siempre se nos inicará el sistema con win95.W40.. 123 . el instalador lo primero que hace es renombrar los archivos de arranque del MSDOS (los citados anteriormente). IO.. Recordad que antes he hablado sobre el tema de que si existe un fichero llamado WINBOOT. Posteriormente renombra los archivos . con las extensiones .SYS de w95 / w98 que montará posteriormente. b) Editamos el MSDOS.. Si hemos entendido lo anterior.. 4) Instalar w95 OSR2 sobre una maquina que ya tenia el antiguo MSDOS 6. se protegió de dos maneras: a) Si encuentra un win.. Pero. OSR2 o w98.

. Si queremos que no esté "solo" en nuestro PC. GUARDA. ** Bueno. Por lo que si vamos a intalar NT y queremos el dia de mañana instalar cualquier otro sistema. Es importante entender que es lo que hacemos. Esta es la solucion "manual". es necesario que modifiqueis algunas cosillas de ellos.. vermeos la "mecanizada". Voy a suponer que tengo varios discos o al menos varias particiones.1 y esto ocupa muy poquito.. b) Si instalamos en discos diferente. Al final del articulo..22 como el NT 4. para reinicar con el otro. Por tanto esto ya nos obliga a que el disco C: sea FAT 16. (ya instalaremos luego w95 / w98 cuando nos interese). y veamos como debemos crear nuestras particiones. ahora vamos a lo interesante. Ademas. e instalamos el "nuevo" windows. O bien si arrancmos en "Solo simbolo del sistema". SISTEMA. por ejemplo y posteriormente el NT.. Unicamente tener presente lo siguiente: a) Windows puede instalarse en cualquier disco y con cualquier nombre del directorio de windows.22 y un windows 3. deberemos tener instalado "cualquiera" de los sistemas anteriores. el entenderlo. colocamos el que nos interese y reiniciamos otra vez. Y ahora pensemos: ¿para que hacerlo muy grande?.. Realmente en C: solo voy a tener muy pocos archivos. Pero para ello. montará un menú de multiconfiguracion. obligatoriamente deberemos instalar los windows en directorios diferentes y "ademas". "antes" de salirnos de uno de los windows. No es posible al contrario.. Entonces con poner unos u otros arrancaremos con cada windows. es instalar primero un MS-DOS 6. y de paso puedo aprovecharlo para tener por ejemplo un 6. los windows deben estar en distinto idioma para que la carpeta "Archivos de Programa" no sea compartida por ambos windows. Relativamente facil. etc. Con eso el NT. 124 .. 7) Instalar NT 4 o NT 2000.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . deben estar en una carpeta accesible siempre en el PATH. "es listo". Entonces pensemos en una cifra pequeña: 500 megas (y nos sobrará).. no hay problema. nos podemos "guardar" en otor sitio sus archivos de arranque.2. y el solito. no entienden de FAT 32. esto es siempre discutible. Nos guardamos los fichero de inicio de uno de los windows. por favor no instalar todavia las baterias y programas que envio conjuntamente a este documento. por si hubiese un error de los procedimientos automaticos que voy a dejar conjuntamente con este articulo y debemos efectuar los cambios a mano. Esto se debe hacer por ejemplo... ** Como creo que toso nos conocemos y ademas algunos (entre los que me incluyo) somos instaladores compulsivos. Pero por ahora es importante unicamente. Una vez instalado el nuevo windows. c) Si instalamos en el mismo disco. pero voy a intentar definir lo que considero una instalacion ideal. Pero reordad que ademas windows utiliza otra carpeta llamada "Archivos de Programa" (version en Español) o "Program Files" (version USA). José manuel Tella Llop 6) Mas de un win98 o win98 / win95. Recordad que tanto el MSDOS 6. debemos haber "comprendido" perfectamente la parte anterior de este anexo. ** Los programas que envio adjuntos en este documento. Mi consejo es instalarlo por ejemplo en C:\ INSTALACION INICIAL IDEAL: -------------------------Bien. lo mas sencillo.

POR FAVOR en ese momento. ponerlo como atributo de oculto para que por error no lo borremos: attrib bootsect.. José manuel Tella Llop Entonces: (suponiendo que instalamos desde cero) 1) Creamos las particiones.) 5) Editamos el archivo oculto de NT llamado BOOT.DOS. 3) Instalamos Win98 y seleccionamos durante el proceso de instalacion . el "Ir al antiguo MSDOS" con lo cual arrancaremos el 6. Existe igualmente otro que permite lectura/escritura. 6) IMPORTANTISIMO: Miramos a ver si en nuestro disco C: en el raiz.22 AÑADIR OTRO WIN98 / WIN95 -------------------------Bueno. nuestro ordenador..INI).. pero modificable en BOOT. 7) Modificamos el MSDOS.dos +h si por desgracia borramos dicho archivo.22...sysinternals. al arrancar. SITUACION EN ESTE MOMENTO -------------------------En esta situacion. Lo tendremos.INI que está en el disco C:. A la hora de instalar NT 4 nos pedirá que si convierte la particion en NTFS.com y allí hay un driver para NT 4 gratuito que nos permite ver FAT 32. nos guardamos en otra carpeta 125 . NUNCA podremos iniciar ya en modo win95 / win98 o MSDOS..SYS de nuestro disco C:. lo primero que hacemos ahora. Ir a www. si este fuese nuestro gusto. 4) Instalamos NT 4 en otro disco. solo en el caso de que no estuviese). recordad que desde NT 4 tampoco se "ven" las particiones FAT 32 (pero para esto ultimo.. sabiendo que la del C: debe ser FAT 16 y ademas. y le ponemos en la linea "Default" que arranque por defecto de C:\. A nuestro gusto. Pero pensar que el NTFS no se "vé" desde MSDOS ni desde Win95 / 98. no debe ser muy grande.que nos lo instale en otro disco (por ejemplo D:) y este disco puede perfectamente ser FAT 32 o bien podremos convertirlo posteriormente. para que una vez que los pongamos otra vez en el directorio raiz de C:. si que existe una trampa. 2) Instalamos MS-DOS 6. A su vez. será guardarnos los ficheros necesarios.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA . pero este ultimo ya es de pago de unos pocos dolares. 2) Pantalla del menu de win98 (activa durante 10 segundos).. Nos permite seleccionar entre las opciones ya conocidas del menu (las mismas que cuando arrancamos con la tecla CTRL pulsada). Solo ver. al objeto de ponerle las lineas (al final): BootMenu=1 BootMenuDelay=10 BootMulti=1 (esta ultima... Para ello. y entre ellas. veremos: 1) Pantalla de inicio de NT donde nos permite seleccionar entre NT y Win98 (activa durante 30 segundos. tenemos un fichero llamado BOOTSECT. seamos capaz de arrancar.

lo podemos hacer de una manera automatica mediante una bateria. simplemente "a mano" o con una bateria que nos hagamos a tal efecto.. José manuel Tella Llop los siguientes archivos de C: MSDOS.sys -s -h -r y para ponerles.sys io. Pero en este caso. Primero tener 6.sys msdos. PREGUNTAS Y DUDAS SOBRE LO ANTERIOR ----------------------------------P. nos arranque del "otro" windows. La secuencia normal es al reves.dos ren io. nos guardamos en otro sitio... Tengo instalado ya windos98 y quiero instalar msdos 6.1 o WFW ¿como lo hago? R.dos ren command. dejemos los archivos correspondiente para que al inicar otra vez. Una vez instalado. Igualmente para volver a situarlos en C:..sys y veremos sus atributos. Para poner o quitar atributos.. se puede utilizar otra bateria.sys. instalemos otro windows en otra particion. seremos capaces de arrancar en el windows que nos interese (dejo la creacion de estas baterias. tiene "atributos" de oculto. para ello. este proceso de "copia" y "quitar / poner" atributos.BAT COMMAND. los mismos archivos.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA .22 y luego instalar win98. Para ello. CAMBIAR ENTRE LOS DOS WIN98 ANTERIORES --------------------------------------En principio. Reordad que alguno de estos archivos.* -s -h -r ren msdos. la idea. es que una vez guardados dichos archivos.SYS (si existiese). En ese equipo. Evidentemente.SYS AUTOEXEC. es que ANTES de salir de uno de los windows. unicamente debemos poner el atributo o los atributos que queremos añadir o quitar con el signo + o ...COM LOGO.dos 126 .com command. podemos ejecutar en una vntana msdos. formateamos un disquete con el sistema.. se debe tener otro equipo en el cual esté instalado un MSDOS 6. el commando: attrib c:\msdos. Para ver los atributos. * La idea. Es decir para quitar atributos al msdos. tambien hay solucion. deberemos hacer: attrib c:\msdos. dando los siguientes comandos: format a: /s a: attrib *. Bien. simplemente igual pero con signo +.. sistema. como un pequeño ejercicio facil de realizar).por delante.SYS IO.SYS CONFIG. etc..22.22 para instalar luego win3.

Avisa sobre el sistema de ficheros FAT 32. dando los comandos: c: cd \ copy a:\*..dos +s +h +r attrib msdos. Vease las notas sobre el tema en los articulos anteriores.sys y ahora podremos buscar esa linea y si no existe incorporarla. es. debemos editar el archibvo MSDOS.dos que contengan las instrucciones del config.dos +s +h +r Debemos igualmente crear un config. Es conveniente utilizar en este caso el pkzip con la opcion -& para crear una copia multivolumen en disquetes y hacernos mas facil la transferencia.DOS se renombraran con las extensiones correctas. e incorporar la linea: BootMulti=1 La manera de hacerlo.com. O bien tengo instalado un win98.bat que queramos que existan bajo MSDOS 6. y deseo instalar win95 OSR2. **** P. NT 4 necesita que el disco C: sea de FAT 16. **** 127 . R.... José manuel Tella Llop y ahora el contenido de ese disquete lo copiamos en nuestro PC con win98. Se debe recordar que al entrar en el "Anterior sistema operativo". Si lo encuentran no se instalan.22. esto nos obliga a reconfigurar todo nuestro sistema al objeto de hacer el disco C: con FAT 16. Igualmente la particion en donde se instale debe ser FAT 16 o bien NTFS (particion propietaria y exclusiva de NT. entrando en "Solo simbolo del sistema" y teclear: attrib msdos. no aparece la linea de ir al "Antiguo sistema operativo".sys +s +h +r **** P. R.com que existen en nuestro disco. En ambos casos debemos saber que los productos para equipos nuevos. los archivos . Quiero instalar NT 4 en mi maquina y no me deja. no visible desde otros sistemas). Posteriormente nos salimos y tecleamos: attrib msdos. Por tanto debemos "renombrar" todos los archivos win. instalar el nuevo windows y posteriormente volver a dejar esos archivos con su nombre.dos y autoexec....SYS de nuestro PC con win98. y deseo instalar otro win98 OEM (solo para equipos nuevos). Tengo instalado win98.DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA ..sys -s -h -r edit msdos.sys y autoexec.22 a un directorio DOS en nuestro PC..* attrib io. Ademas debemos copiar todo el directorio DOS del PC que tiene MSDOS 6. analizan en nuestro disco duro a ver si encuentran un archivo win.. Sí al entrar en el menú de win98 (tecla CTRL pulsada al arrancar). Por tanto.