1 ¿Qué es un sistema operativo? • ¿Qué es un sistema operativo? Un sistema operativo es un programa que actúa como interfaz entre el usuario de un ordenador y el hardware del ordenador, ofreciendo el entorno necesario para que el usuario pueda dirigir el funcionamiento de la maquina. Sin el sistema operativo el ordenador carece de utilidad para el usuario. Es similar a un gobierno, es quien facilita los medios para el uso adecuado de estos recursos durante las operaciones del sistema informático, es decir, el sistema operativo no realiza por si mismo una función útil, simplemente crea el entorno en el que otros programas puedan hacer un trabajo útil. Un sistema informático consta básicamente de: • El hardware (CPU, memoria, dispositivos E/S). • El Software (son los programas aplicables) • El Sistema Operativo. Entonces el sistema operativo asigna los recursos del sistema informático (hardware y software), controla la CPU, espacio en memoria, espacio de almacenamiento en ficheros, dispositivos E/S, etc. Y es el gestor de estos recursos y los asigna a programas y a usuarios específicos, según las necesidades de sus tareas, como puede haber diversas solicitudes de recursos que produzcan conflictos entre sí, es el sistema operativo quien gestiona las solicitudes de recursos para que el ordenador trabaje fácil y eficientemente. Pero antes de llegar al sistema tratado el MS−DOS existían otros sistemas operativos que han ido evolucionando como soluciones naturales a los problemas de los primeros sistemas informáticos. • Evolución de los sistemas operativos • Los primeros sistemas En un principio solo existía el hardware del ordenador; los primeros equipos eran físicamente grandes maquinas que se controlaban desde una consola. El programador escribía un programa que se ejecutaba directamente desde la consola del ordenador. El proceso para ejecutar un programa era el siguiente: • El programa se cargaba manualmente en memoria, bien fuera desde los conmutadores del panel frontal o mediante tarjetas perforadas. • Se pulsaban los botones adecuados del panel frontal para cargar la dirección de inicio y para empezar la ejecución del programa. • El programador seguía la ejecución de los programas por medio de los pilotos de la consola, si se producía algún error el programador detenía el programa y lo depuraba directamente desde la consola. • La salida se perforaba en cinta de papel o en tarjetas. Con el tiempo el hardware y el software se fue perfeccionando: Hardware: Aparecen los lectores de tarjeta, las impresoras y las cintas magnéticas. Software: Se diseñan rutinas de control de dispositivos. Aparecen los compiladores y ensambladores. La ejecución de un programa consistía: • Cargar, ejecutar, y descargar el compilador. • Cargar, ejecutar, y descargar el ensamblador. 1 • Cargar el código binario del programa ejecutable. • Ejecución final. • Monitor simple El tiempo de preparación y de ejecución de los trabajos era largo, por lo tanto la CPU estaba durante mucho tiempo inactiva. Se aportaron dos soluciones: • División de las tareas, aparece el operador. • Creación de los lotes para trabajos similares con el mismo lenguaje. Pero la CPU seguía estando inactiva; para eliminar estos tiempos de inactividad se produjo el secuenciamiento automático de trabajos que era un procedimiento para la transferencia automática del control de un trabajo a otro. Con este propósito se crea un programa residente en memoria que se llama monitor simple. Cuando se conectaba el ordenador el control lo tenía el monitor quien luego lo transfería al programa en ejecución; cuando el programa acababa devolvía el control al Monitor. Así el monitor secuenciaba automáticamente de un trabajo a otro. ¿Cómo sabia el Monitor los programas a ejecutar? Previamente había recibido información de que programas y conque datos por medio de las tarjetas de control que se distinguían de las del programa o datos por tener en la primera columna $ o //. Partes del Monitor. • Interprete de las tarjetas de control. • Programa Cargador para el secuenciamiento de los trabajos. • Programas controladores de dispositivos. • Prestaciones Los ordenadores especialmente los grandes (mainframes) han sido muy caros por esta razón los usuarios han querido obtener las máximas prestaciones, hasta hoy en día a pesar de que los ordenadores no sean muy caros es deseable obtener el máximo rendimiento de estos. Por esto el sistema batch con secuenciamiento automático se realizo para mejorar prestaciones, el problema residía en que los humanos son demasiado lentos (en proporción con los ordenadores, claro esta) y la CPU estaba demasiado tiempo inactiva esperando la intervención humana, el secuenciamiento automático sustituía el tiempo de preparación del trabajo del operador. Pero a pesar de esto la CPU estaba todavía demasiado tiempo sin trabajar el problema ahora era que los mecanismos de E/S son inferiores a los dispositivos electrónicos, ya que una CPU trabaja a escalas de s, con millones de instrucciones por segundo, mientras que una lectora rápida de tarjetas de la época podía leer mil tarjetas por minutos aproximadamente. Estaba relativa lentitud de los dispositivos E/S hace que la CPU tenga que esperar en la carga de un programa el 93,3% del tiempo la CPU solo trabaja el 6,7%, mientras esta esperando a la lectura de las tarjetas. • Operación off−line La CPU seguía estando muy inactiva debido a que la velocidad de los dispositivos mecánicos de E/S era muy 2 inferior a la de los dispositivos electrónicos. Solución: Se reemplazo los lectores de tarjetas e impresoras como unidades de entrada por Unidades de cinta en las cuales se grababa primero de las tarjetas y se imprimía desde la unidad de cinta. Ventaja del off−line consistía en la posibilidad de utilizar varios sistemas de lectora de tarjetas − unidad de cinta y unidad de cinta − impresora con una única CPU. • Buffering Consiste en la utilización de memorias intermedias para tratar de mantener permanentemente ocupadas tanto la CPU como las unidades de E/S. Buffer es un espacio de almacenamiento intermedio que tienen los controladores de dispositivos (hard) que son los responsables del movimiento de datos entre los dispositivos y su buffer. Para que se produzca un solapamiento de operaciones de E/S con operaciones de CPU se requiere que la transferencia de datos entre la CPU y los dispositivos de E/S se realice mediante: sistema de interrupciones o acceso directo a memoria(DMA). • Spooling (Simultaneo Peripheral Operat On−Line). El problema de los sistemas de cinta era que la lectora de tarjeta no podía escribir en una parte de la cinta mientras la CPU leía en otra, era necesario rebobinar la cinta. Con los sistemas de disco se elimino este inconveniente con solo mover la cabeza lectora−grabadora. Cuando se ejecuta un trabajo las peticiones de entrada de una lectora de tarjetas se satisfacen leyendo el disco y cuando se pide la salida de una línea impresa se escribe en el disco. El spool utiliza el disco como un buffer muy grande tanto para leer por delante tanto como sea posible y para almacenar tanto como pueda aceptar. La ventaja sobre buffering es que solapa la operación de E/S de un trabajo con el proceso de otro. • Multiprogramación Las operaciones de off−line, buffering y spooling para solapar operaciones de E/S y CPU tienen la limitación de que solo un usuario no puede mantener ocupados los dispositivos de E/S y CPU durante todo el tiempo. La multitarea es un método para incrementar el tiempo de empleo de la CPU, disponiendo en todo momento la CPU algo que ejecutar. La multitarea supone tener varios programas dispuestos para su ejecución teniéndolos simultáneamente en memoria. Se empieza a ejecutar un programa y cuando este necesite completar una operación de E/S el sistema operativo cambiará a otro programa y lo ejecutará, cuando este necesite esperar el sistema operativo cambiará a otro y lo ejecutará y así sucesivamente. Por lo tanto siempre que haya un programa que ejecutar la CPU no estará inactiva. La multiprogramación supone: • Gestión de memoria. • Planificación de CPU. 3 • Planificación de dispositivos de E/S. • Tiempo Compartido Los sistemas operativos que ejecutaban trabajos por lotes debían de hacerlo con trabajos del mismo tipo siendo su principal característica la falta de interacción entre el usuario y el trabajo mientras este se estaba ejecutando. Los sistemas de Tiempo Compartido son el resultado de mejorar el uso interactivo con el ordenador, sin que la CPU este mucho tiempo inactiva, planificándola y utilizando la multiprogramación para que el usuario tenga su parte de ordenador compartido. Cada usuario posee un programa diferente en memoria. Cuando se ejecuta un programa este utiliza un período corto de tiempo antes de que finalice o tenga la necesidad de una operación de E/S. En vez de dejar en espera la CPU, el sistema operativo le asigna un programa de otro usuario. Un sistema operativo multiusuario permite que varios usuarios compartan simultáneamente un ordenador. En la medida que el sistema conmuta rápidamente de un usuario a otro este tiene la impresión de que el ordenador esta solo dedicado a ellos. Los sistemas operativos multiusuario proporcionan mecanismos de ejecución concurrente de los programas que al igual que en los sistemas multitarea varios programas coexisten simultáneamente en memoria; lo cual requiere gestión de memoria y planificación de CPU. • Sistemas en tiempo real Se utilizan como dispositivos de control en aplicaciones especializadas. Unos sensores proporcionan datos al ordenador, este los analiza y toma las decisiones correspondientes. Su característica fundamental es que tiene restricciones de tiempo fijas y bien definidas en comparación con el tiempo compartido donde son deseables pero no obligatorias las respuestas rápidas. • Sistemas multiprocesadores Tienen mas de una CPU compartiendo memoria y dispositivos de E/S. Tienen dos enfoques: ♦ Asignación de tareas especificas a cada procesador. Uno maestro controla el sistema y los otros o bien esperan al maestro para recibir instrucciones o tienen tareas predefinidas. ♦ La red de ordenadores en la que se comunican varios sistemas informativos; sin embargo cada sistema tiene su propio sistema operativo y trabaja independientemente. ♦ Historia del MS−DOS MS−DOS (Micro Soft Disk Operating System − Sistema Operativo en Disco) es un sistema patentado por Microsoft Corporation para ordenadores personales PC's. El Sistema Operativo más difundido con diferencia es MS−DOS, este al estar diseñado para 16 bits y con la aparición de Windows 95 de Microsoft, de 32 bits y con posibilidades de multitarea, ve peligrar su supremacía como rey indiscutible del entorno PC. 4 Aunque la creencia general es que el sistema fue creado por Microsoft Corporation, esto no es cierto ya que el verdadero creador de este sistema fue Tim Paterson, un empleado de Seattle Computer Products. A partir de la aparición en 1981 del IBM−PC de 16 bits en el bus de direcciones, MS−DOS es el Sistema Operativo más difundido, ya que hay millones de microordenadores PC's distribuidos por el mundo, convirtiéndose en un sistema operativo estándar para este tipo de ordenadores; esta primera versión funcionaba sobre un equipo que disponía de 64 Kb. de memoria y dos disqueteras de 5,25 pulgadas de una cara y con una capacidad de 160 Kb. , la CPU del ordenador era un modelo 8088 de 8 bits y con una velocidad de 4,7 Mhz. Este sistema operativo fue patentado por las empresas Microsoft Corporation e IBM, utilizándose dos versiones similares (una de cada empresa) llamadas MS−DOS y PC−DOS. A MS−DOS le acompañan unos números que indican la versión. Si la diferencia entre dos versiones es la última cifra representa pequeñas variaciones. Sin embargo, si es en la primera cifra representa cambios fundamentales. Las versiones comenzaron a numerar por 1.0 en agosto de 1981. En mayo de 1982 se lanzó la versión 1.1 con soporte de disquetes de dos caras. La versión 2.0 se creó en marzo de 1983 para gestionar el PC−XT, que incorporaba disco duro de 10 Mb, siendo su principal novedad el soporte de estructura de directorios y subdirectorios. En agosto de 1984, con la aparición de los ordenadores del tipo AT, que empleaban un procesador 80286, funcionaban a 8 Mhz de velocidad y tenían soporte de disquetes de 5 y cuarto de alta densidad (HD 1,2 Mb), MS−DOS evolucionó hacia la versión 3.0; esta versión podía ser instalada en ordenadores más antiguos, pero no se podía realizar la operación a la inversa. La versión 3.2 se lanzó en diciembre de 1985, para admitir unidades de disquete de 3 ½ (DD 720 Kb y HD 1,44 Mb). La versión 3.3 se lanzó en abril de 1987 con posibilidades de crear múltiples particiones en discos duro. La versión 4.0 apareció en noviembre de 1988 y gestiona discos duros de particiones de más de 32 MB (hasta 512 MB). Además dispone de una nueva interface gráfica y soporte de memoria expandida, esta versión permite además el empleo de la memoria expandida del ordenador (anteriormente sólo se podían emplear 640 Kb de memoria RAM). Actualizar a la versión 4.0 desde una versión anterior puede traer dificultades ya que habrá que reformatear el disco duro bajo la nueva versión y es posible que algunos programas necesiten funciones de DOS que ya no estén disponibles. La versión 5.0 se lanzó en junio de 1991, y proporciona drivers para gestionar ampliaciones de memoria y se incorpora un editor de pantalla y un shell bastante potente, además de poder instalarse independientemente de la versión anterior de sistema operativo. La versión 6.0 se lanzó en abril de 1993 y como contenía abundantes errores fue sustituida el mismo año por la versión 6.2. Las mejoras de la versión 6.0 incluyen: herramientas de compresión de discos, antivirus, programas de copias de seguridad por menú, desfragmentador de disco y otras utilidades, como por ejemplo un administrador de memoria ampliada, denominado MemMaker. A finales de 1993 se lanzó la versión 6.2 con mejoras en el duplicador de espacio en disco y la posibilidad de borrar un directorio independientemente de su contenido entre otras ventajas. ♦ ¿Qué es el MS−DOS? El MS−DOS es un sistema operativo que hace de interfaz entre el usuario y el ordenador. DOS son siglas de Disk Operating System y MS de Microsoft, su traducción seria sistema operativo de disco. Su definición exacta es muy difícil de hecho todos saben de qué se trata cuando lo ven, pero es casi nadie es capaz de definirlo. Es fácilmente reconocible cuando se ve el carácter de petición de ordenes C>, este interfaz de usuario se presenta prácticamente como un sinónimo de DOS, pero no es en realidad una parte esencial del dos, es mas, puede cambiarse con facilidad. 5 Desde el punto de vista de un programador, el MS−DOS parece que sea como una colección de funciones de la INT 21h, ¿qué es la INT 21h?, A partir del microprocesador 8088 tienen unas instrucciones de interrupción por software, que hace que salte a una determinada posición baja de memoria, según la interrupción salta a una dirección determinada en la que esta la dirección de entrada de la rutina que corresponda. La INT 21h es una interrupción que puede indicar que se realicen diversas funciones según un valor en uno de los registros internos. De esta manera la INT 21h tiene desde la función 03h hasta la 72h y cada una de ellas realiza una acción distinta. Por ejemplo la INT 21h Función 30h lo que hace es obtener la versión del dos o la función 3Fh lee dispositivos, de esta manera permite realizar todas las acciones que realiza MS−DOS. Pero el Dos no es ni el carácter de la petición de ordenes C>, ni la interfaz de la INT 21h entonces, ¿qué es? Y ¿dónde esta? • ¿Qué es el DOS? Es difícil contestar a esta pregunta, El MS−DOS es un sistema operativo monousuario y monotarea el cual se encarga de un servicio elemental, a partir del cual se puede establecer otros más sofisticados. O también se podría llegar a concebir el Dos como una placa madre de Software a la cual se pueden añadir diversas tarjetas que serian los programas de utilidades, pero estas tarjetas no solo pueden ser de la empresa que la fabrica Microsoft sino de muchas otras empresas que realicen aplicaciones compatibles con este sistema. • ¿Dónde está el DOS? El MS−DOS son varios ficheros los cuales contienen distintos programas, que siempre están situados en el disco en el cual se va a trabajar con el DOS. Básicamente son dos archivos el IO.SYS y el MSDOS.SYS, que anteriormente en el PC−DOS de IBM y el DR DOS de Novell se denominan IBMBIO.COM e IBMDOS.COM. A pesar de que estos nombres de archivos tengan extensión. SYS, no se trata de controladores de dispositivo* sino de archivos binarios. A partir de la Versión 6.0 del MS−DOS aparece un tercer archivo denominado DBLSPACE.BIN, que ha recibido por parte de Microsoft la consideración de estar dentro del núcleo de DOS −ya que con las ordenes SYS o FORMAT /S de la versión 6.0 del DOS ya no solo copia el IO.SYS y el MSDOS.SYS en el disco sino que también el DBLSPACE.BIN− estas ordenes lo que hacen es grabar el sistema en la pista 0 sector 1 el denominado boot record* que carga estos archivos. Junto con el shell o procesador de comandos COMMAND.COM ya esta todo dispuesto. Estos ficheros en un disco son ocultos; es decir, no aparecen en los listados de directorios. MSDOS.SYS se podría decir que es el corazón del sistema, contiene la función de distribución del DOS , este es el manipulador del DOS para realizar las llamadas a la famosa INT 21h, pero también gestiona otras interrupciones como la INT 25h, 26h y 2Fh(encargada de print.com, comprobación de instalación, manipulador de errores críticos, Assign, apoyo driver,sys, Share, redirector de red, etc.) junto con el IO.SYS. Es decir que es el kernel de MS−DOS, en que figuran instrucciones para control de los disquetes. Es un programa que gestiona los archivos, directorios, memoria y entornos. IO.SYS este consta de dos partes, un cargador denominado MSLOAD.COM y el código de soporte del BIOS el MSBIO.BIN; Microsoft crea el IO.SYS concatenando estos dos archivos: Copy /b msload.com+msbio.bin io.sysç El IO.SYS no es el BIOS como muchas se confunde, sino, la interfaz del DOS con el BIOS, este contiene controladores de dispositivos estándar, tales como CON, AUX, LPT1 y COM1, es decir, que ademas de prepara al sistema para su arranque, controla una serie de instrucciones para la 6 transferencia de datos entrada/salida desde periféricos a memoria. Estos controladores de dispositivos se implementan utilizando llamadas al BIOS. Por ejemplo, el controlador CON incorporado en el IO.SYS, concretamente en el MSBIO.BIN, hace llamadas a las INT 10h e INT 16h de las rutinas de video y teclado de la ROM BIOS. La denominada ROM BIOS también tiene gran importancia se encarga de gestionar la E/S entre el Sistemo Operativo y los dispositivos básicos del ordenador. La otra parte del IO.SYS contiene un famoso juego de rutinas denominado SYSINIT, este fue creado por Microsoft y se encarga de la carga inicial del DOS, básicamente de lo que se encarga es de determinar la memoria contigua que tiene el sistema y lleva el proceso de arranque y es el que llama a los diferentes archivos para su proceso en el inicio, el SYSINIT será mejor detallado en el apartado de Proceso de Carga del MS−DOS. DBLSPACE.BIN este archivo aparece a partir de la Versión 6.0 del MS−DOS, y se podría definir como el controlador Kernel del compresor del disco duro, su función es aumentar la capacidad de almacenamiento del disco duro, este controlador se ocupa de la compresión y descompresión de los ficheros y este se traslada desde la memoria convencional a la memoria superior. ♦ Inicio del MS−DOS. • Forma de Inicio El sistema se puede iniciar de dos maneras denominadas en frío o en caliente: ♦ En frío se realiza cuando el ordenador está apagado y se enciende mediante el pulsados ON. Este lo primero que hace es cachear los diversos dispositivos de entrada y salida (teclado, ratón, monitor, discos duros, disquetes, memoria RAM, etc.). Después busca el sistema operativo, primero busca en la disquetera, si hay un disco que contiene el sistema lo inicia desde el disquete, si este no contiene sistema operativo, aparece un mensaje de error y en caso de no poder iniciar desde la disquetera procede a la búsqueda del sistema en el disco duro. ♦ En caliente esta forma de inicio se efectúa apagando el ordenador con el pulsador RESET o con la forma rápida Ctrl+Alt+Supr, en este caso no se realizan todos los test anteriores y se inicia el sistema operativo, esta forma de inicio suele emplearse cuando el sistema queda bloqueado. • Partes del proceso de carga Antes de explicar el proceso de carga es interesante explicar la función y características de las programas y módulos que intervienen en dicha carga. − Módulo BIOS (Basic Input Output System).− Es específico de cada fabricante y se encarga de controlar las diversas unidades hardware de entrada y salida, como el teclado, y su presentación, impresoras, reloj, etc. Durante la inicialización del sistema el BIOS se lee y se guarda en la RAM cargando el fichero IO.SYS. Este fichero no se ve al hacer un dir, ya que tiene el atributo de oculto 'hidden' y el de sistema 'system' que indica al sistema que no es un archivo normal y no se puede modificar, editar, etc. − BOOTSTRAP Es el encargado de la iniciación del ordenador. También es conocido como IPL (initial program load). El programa bootstrap está programado en Basic. Es un programa situado en memoria ROM que lo primero que hace es leer el programa de arranque del disco (situado en el primer sector del disco), que determina si en el disco están los ficheros IBMBIOS.COM e IBMDOS.COM (sino están aparece un mensaje indicativo de tal problema − Non Sistem Disk −). Si encuentra los ficheros ejecuta primero el IBMBIOS.COM, compuesto de dos partes: − BIOS: es la parte encargada de controlar los periféricos. 7 − SYSINIT: Se encarga de determinar la cantidad de memoria continua del ordenador. Después ejecuta el IBMDOS.COM y el SYSINIT se va de la parte baja de la memoria del ordenador a la parte alta y deja su lugar en la parte baja al IBMDOS (kernel o núcleo), que lo primero que hace es controlar que los periféricos funcionen correctamente. Una vez controlados los periféricos, vuelve el SYSINIT que llama a los servicios del Kernel y ejecuta el fichero CONFIG.SYS (sí una de sus instrucciones no va bien, continúa con las otras instrucciones, dando el correspondiente mensaje de error). Por último SYSINIT llama a los servicios del MS−DOS y carga el COMMAND.COM (parte residente y parte de inicialización). La parte de iniciación cargará el AUTOEXEC.BAT. Después de esto, el SYSINIT y la parte de inicialización del COMMAND.COM se borran de la memoria. − El IO.SYS es el Kernel o núcleo del sistema y realiza funciones como la gestión de ficheros, de los registros de memoria, generación de otros programas, etc. Es independiente del hardware y contiene una serie de servicios del sistema. − EL COMMAND.COM (procesador de órdenes).− se responsabiliza del análisis gramatical y la gestión de las órdenes del usuario. Se suministra por defecto con el MS−DOS, pero es posible crearse uno propio poniendo una orden en el config.sys: Está dividido en 3 partes: − Resiente: se carga en la parte baja de la memoria, por encima del núcleo (Kernel) y del Bios. Gestiona las órdenes Ctrl+Break y se encarga también de los errores críticos. − Parte de iniciación: se encarga de procesar el autoexec.bat. Desaparece después de ejecutarse. − Porción transitoria: se carga en el extremo superior de la memoria. Prepara el símbolo para las órdenes del usuario. El Prompt. Ejecuta las órdenes que le damos al ordenador. Sólo se carga cuando se necesita. El Command.com primero mira si la orden recibida es: − Interna. − Externa. − Si es .COM − Si es .EXE − Si es .BAT − CONFIG.SYS.− Es un fichero de sistema. El DOS lo ejecuta antes del autoexec.bat y contiene comandos de configuración del equipo. Depende de las tareas puede que necesitemos una configuración distinta. Sin este archivo o sin algún comando de él el sistema no funciona. Se carga el país (country), carga los dispositivos (device), establece el máximo de archivos a abrir a la vez (files), las zonas temporales de memoria (buffers), etc. .− AUTOEXEC.BAT.− De procesamiento de lotes. Se ejecuta antes de llegar a nosotros. Inicializa opciones. Cambio de fecha y día, Inicialización del ratón. Cambia memoria extendida a expandida. 8 Definición de teclado (keyb). • Proceso de Carga del MS−DOS. Se denomina proceso de carga a las diversas acciones que realiza es sistema operativo para dejar adecuadamente preparado la interfaz para el usuario. Para la carga del sistema MS−DOS sigue el siguiente proceso: 1º. Una vez encendido el ordenador, se realizan una serie de acciones independientes del sistema operativo. Se procede a la lectura de la ROM (Read Only Memory) que es la memoria del ordenador, que como su propio nombre indica de solo lectura, en la cual en el proceso de carga si ejecuta la BIOS y el BOOTSTRAP. La BIOS este dispositivo es específico según el fabricante, permite controlar las diversas unidades de hardware de E/S. Durante la inicialización la BIOS se lee y es guardada en la memoria RAM (Random Acces Memory) cargando el fichero IO.SYS. El BOOTSTRAP es el programa de inicialización que se encarga de leer en el 1 sector del disco, denominado sector de arranque, este coge el programa de arranque del disco, lo ejecuta si existe IO.SYS y MSDOS.SYS, (los busca primero en la disquetera y después en el disco duro, como ya se ha mencionado antes) si encuentra estos ficheros es que si existe sistema operativo y se puede continuar con la carga del sistema, en caso contrario da un mensaje de error. 2º. Una vez encontrado estos archivos se transfiere el control al IO.SYS y este es cargado en la parte baja de la baja para que continúe con la carga. 3º. El IO.SYS está compuesto de 2 partes (como ya se ha mencionado antes) que son cargadas: ♦ La MSBIOS.BIN que tiene la función de controlar los dispositivos periféricos estándar. ♦ El MSLOAD.COM que contienen el SYSINIT, este determina cuanta memoria contigua tiene el sistema y posteriormente se carga la parte baja de la memoria. 3º. El SYSINIT se reinstala así mismo en la parte alta de la memoria y en carga en su lugar a MSDOS.SYS o Kernel, al mismo tiempo que comprueba la cantidad de memoria del sistema. 4º. Este MSDOS.SYS o Kernel lo que hace es comprobar el estado de los periféricos. Comprueba disqueteras, discos, inicia tablas. 5º. De nuevo interviene el SYSINIT el cual llama a MSDOS.SYS y ejecuta el CONFIG.SYS encargado de la configuración del sistema, este si encuentra algo incorrecto lo notifica y continua con la carga. 6º. Otra vez interviene el SYSINIT que reclama de nuevo los servicios del DOS (servicios Exec.) y llama para que se cargue el COMMAND.COM. 7º. La parte residente del COMMAND.COM se carga en la parte baja de la memoria por encima del MSDOS.SYS y del BIOS y gestiona las ordenes CTRL+BREAK y los errores críticos de sistema. 8º. La parte de inicialización del COMMAND.COM se encarga de procesar el AUTOEXEC.BAT y desaparece de la memoria después de su ejecución 9º. Entonces el famoso SYSINIT desaparece de la parte alta de la memoria y deja la memoria preparada para el sistema operativo. ♦ Gestión de archivos y directorios. El MS−DOS controla el sistema de gestión de los ficheros y directorios del ordenador. Cada disco 9 dispone de un directorio especial, que contiene los detalles de todos los ficheros del disco, junto con los nombres de los subdirectorios y los ficheros que contengan, de esta manera dispone de la estructura del disco. • Directorios Los denominados directorios se utilizan de división lógica de almacenamiento, de esta manera dando la posibilidad de construir una estructura jerárquica en forma de árbol para poder ordenar bien todos los ficheros. Se podrían definir como carpetas para la separación y estructuración. Cuando el usuario esta dentro de un determinado directorio, al menos que indique otra cosa, todas las acciones se realizan dentro del determinado directorio. Del mismo modo que los ficheros, en el DOS, la nomenclatura consta de un nombre de 1 a 8 caracteres y una extensión de cero a tres caracteres. En toda unidad de disco ya sea extraible o no, el directorio raíz se representa mediante una barra (C:\). De esta manera se pueden formar rutas en una unidad con uno o varios directorios y subdirectorios (C:\DOS\SYSTEM). La unidad activa es la unidad en la cual sé esta trabajando y del mismo modo la ruta activa es la ruta en la que sé esta en un momento determinado, cuando se arranca el ordenador la ruta activa predeterminado suele ser el directorio raíz. Para el desplazamiento de directorios mediante DOS se emplea la orden CD (Change Directory) + nombre de directorio, y para salir del directorio CD+ seguido de dos puntos (cd..) Cuando se crea un directorio este automáticamente contiene otros dos subdirectorios, estos los crea MS−DOS, uno para que haga referencia al directorio en si, y el otro que hace referencia al directorio padre. Excepto en el directorio raíz que esto no se cumple. • Ficheros Los ficheros son conjuntos de datos o programas que están almacenados bajo un nombre para su localización. Los ficheros tienen diversas características: especificador de fichero, tamaño de fichero, fecha y hora de creación o última modificación del fichero y atributos: El espcificador de fichero es el nombre de dicho fichero seguido de la extensión y separados mediante un punto, como ya se ha mencionado antes con los directorios el nombre del fichero puede tener de uno a ocho caracteres y la extensión de cero a tres. El DOS tiene diversas extensiones standard de fichero: − BAT: fichero de procesamiento por lotes. − BAK: fichero de copia de seguridad. − COM: fichero ejecutable de comandos. − EXE: fichero ejecutable. − DOC: fichero de documentos. − TXT: fichero de texto. − DBF: base de datos. − HLP: fichero de ayuda. − SYS: fichero de sistema operativo. 10 − TMP: fichero temporal creado por otro programa o por un comando. − BAS: fichero BASIC. − ASM: fichero en ENSAMBLADOR. − CBL: fichero en COBOL. − C: fichero en C. − PAS: fichero en PASCAL. − OBJ: fichero objeto de un programa compilado. − LST: errores que generan otros programas. • Caracteres especiales. Existen en DOS una seria de caracteres comodines que permiten entrar a varios nombres a la vez, estos son dos ? y *: Interrogación: Representa cualquier carácter válido en el nombre o la extensión de un fichero. Representa sólo un carácter. Se pueden poner tantos interrogantes como se desee y cada uno representará un carácter, excepto el último que puede representar cero o uno. Asterisco: Representa uno o más caracteres validos del nombre o la extensión. Anula los siguientes caracteres que le siguen en el nombre o la extensión • Atributos Permiten asociar a los archivos unas características especiales. Hay 4: de sistema, oculto, de sólo lectura y de archivo, además de uno especial que indica que el objeto que lo tiene es un directorio. Pueden estar activados o desactivados. − De sólo lectura: (read−only). Sirve para proteger un fichero de forma que sólo se pueda leer y no pueda borrarse ni modificarse. − De archivo: (archive). Sirve para saber si se ha modificado o no un determinado fichero. Se activa al crear un programa o modificarlo, aunque se puede desactivar. Es muy útil para copias de seguridad. − Oculto: (hidden). Sirve para esconder un fichero para evitar que sea procesado por órdenes normales del DOS. No se puede borrar ni copiar y no aparece al hacer un listado del contenido del directorio. Si el fichero es ejecutable se podrá ejecutar sin problemas y si es un fichero de datos se podrán visualizar. − De sistema: (system). Sirve para identificar los ficheros propios del sistema, usados para cargar el sistema operativo. Se puede activar en cualquier fichero y este se comportará como un fichero oculto, pero no se pueden ejecutar. − De directorio: atributo que indica al sistema que es un directorio; no se puede modificar. 11 Para visualizar ficheros con atributos se usa la orden ATTRIB, que permite visionar los ficheros con atributos del directorio actual, con el parámetro /S permitirá visualizar los archivos de todos los subdirectorios. Para cambiar atributos se usa la orden ATTRIB seguida del nombre del fichero y el tipo de cambio que se desee: +/− A: cambia el atributo de modificado. +/− H: modifica el atributo de oculto. +/− R: cambia el atributo de sólo lectura. +/− S: modifica el atributo de sistema. Otra forma de visualizar los ficheros con atributos es mediante la orden DIR con el parámetro /A y seguido de la inicial del atributo del que se desee el listado. • Comandos para el manejos de directorios Existen varios comandos relacionados con el manejo de directorios en MS−DOS, los más utilizados son: − MD nombre: Sirve para crear un directorio indicando el nombre. Es un comando interno. − RD nombre: Borra un directorio, que debe estar vacío. Es un comando interno. − DELTREE: Borra un directorio sin necesidad de que esté vacío. Es un comando externo. − DIR: Comando que permite visualizar el contenido de un directorio. − CD: Comando que permite cambiar el directorio activo. Es un comando interno. − TREE: Comando externo que presenta de forma gráfica la estructura de directorios de una ruta de acceso; tiene dos parámetros(/F presenta los nombres de los archivos que cada directorio comprende y /A indica que utilice caracteres de texto en lugar de caracteres gráficos). ♦ MOVE: Comando que renombra directorios, excepto el directorio activo. • Comandos para la gestión de ficheros. Existen numerosos comandos para la gestión de ficheros a continuación se exponen los mas utilizados: − TYPE: Es un comando interno cuya función es mostrar el contenido de un archivo de texto, no permite el uso de caracteres comodines. − PRINT: Es un comando externo que imprime un archivo de texto por impresora. Tiene cuatro parámetros (/T borra la cola de impresión y coloca un archivo en impresora; /D permite indicar el puerto en el que está situada la impresora; /Q permite indicar el tamaño de la cola; /U indica el valor del tiempo a esperar si la impresora no está preparada). − COPY: Es un comando interno que permite copiar archivos de un lugar a otro. Tiene un sólo 12 parámetro que es /V y sirve para controlar que la copia del fichero se hace correctamente. − MOVE: Permite copiar un fichero de un directorio a otro, borrándolo del primero. Es un comando externo y tiene como único parámetro de importancia /Y que indica que si el directorio destino no existe debe crearlo. − RENAME: Es un comando interno que cambie el nombre de uno o varios archivos, aunque no permite cambiar a otro directorio. − DEL, ERASE: Comando interno que elimina los archivos especificados. Su parámetro más importante es el /P que significa que debe pedir confirmación antes de borrar un archivo. − FC: Comando externo que permite comparar de dos formas distintas: con el parámetro /B realiza una comparación binaria y con el parámetro /L realiza una comparación línea a línea. − UNDELETE: Permite recuperar ficheros previamente borrados con la orden DEL. Es un comando externo y tiene tres parámetros interesantes (/LIST presenta una lista de archivos recuperables, /ALL recupera todos los archivos sin pedir confirmación y /DOS crea una lista de archivos eliminados por el DOS y otra de archivos eliminados por otro motivo). − XCOPY: Comando externo que permite copiar archivos y directorios. Tiene seis parámetros importantes: /A copia archivos de origen que tengan atributo de modificado; /M copia archivos de origen con atributo de modificado y lo desactiva; /D:FECHA copia los archivos modificados en o después de la fecha indicada; /P pide confirmación antes de realizar una copia; /S permite la copia de subdirectorios a menos que estén vacíos y /E copia también directorios vacíos. − VERIFY (ON/OFF): Comando interno que le indica al sistema si debe comprobar que los ficheros son escritos correctamente en el disco. − DOSKEY: Comando externo residente en memoria que permite visualizar comandos de MS−DOS introducidos anteriormente. • Editores Editores EDLIN y EDIT. Un editor es un programa de tratamiento de texto con unas características: − Trabaja en formato ASCII. − Crea programas de pequeño tamaño. − Sirven para modificar y crear ficheros ASCII y programas de un determinado lenguaje de programación. Hay dos grupos de editores: − De línea: sólo trabajan con una línea por vez y sólo se puede modificar la línea activa. − De pantalla: visualizan el texto en pantallas de línea completa. EDLIN: Es el editor de línea del MS−DOS. Para entrar se escribe el nombre y se indica el archivo. 13 Todas las líneas van enumeradas y para tratar una habrá que poner su número. A partir de la versión 5.0 del DOS ha perdido vigencia y ha llegado a ser sustituido por el EDIT. Es un mandato interno. EDIT: Es el editor vigente actualmente en el MS−DOS. Es un mandato interno. Para utilizar el editor EDIT es necesario que el archivo QBASIC.EXE resida en el directorio actual o en el directorio especificado en la vía de acceso de órdenes. Dentro del EDIT es posible utilizar las opciones del menú para grabar e imprimir el contenido del archivo actual. • Ficheros Batch de procesos por lotes Son archivos de texto sin formato que contienen una sucesión de comandos del DOS y cuya extensión suele ser .BAT. Permite ahorrar tiempo ya que ejecuta varias órdenes a la vez. Se crean con herramientas ASCII o a través del buffer de órdenes gestionado por DOSKEY. Se ejecutan poniendo su nombre y dándole al retorno de carro y se interrumpen con Ctrl+Break. ♦ La Memoria La memoria es sin lugar a dudas la estrella del MS−DOS. • Direccionamiento de la memoria En los microordenadores las celdas de memoria tienen el tamaño de 1 byte (8 bits). La cantidad de memoria que puede utilizar un ordenador viene dada por el tamaño del bus de direcciones del microprocesador. En los microordenadores con bus de direcciones de 20 bits sólo se puede direccionar un máximo de 1 MB. (Cada bit puede valer o ó 1, el máximo de direcciones accesibles es 2 elevado a 20 = 1.048.576 bytes = 1.024 Kb = 1MB.) El tamaño directamente direccionable de memoria en MS−DOS es 1 MB, debido al tamaño del bus de direcciones de los primeros ordenadores de 20 bits. Se decidió al construir los ordenadores PC, que los primeros 640 Kb (memoria convencional) fueran para el Sistema Operativo y los restantes 384 Kb (memoria superior) se reservaron a la ROM y el hardware. Aunque los posteriores ordenadores pueden direccionar bastante más de 1 Mb, el MS−DOS no los direcciona directamente. • División de la memoria ROM y RAM − R.O.M. (Read Only Memory).− No volátil y de sólo lectura. Chip con conexiones cortadas o hechas fijas de fábrica. Al pasar la corriente por el mismo sitio tenemos la misma palabra. La información que almacena es vital para la puesta en funcionamiento del sistema y sus funciones son: testear la RAM, avisar sonoramente al usuario ante posibles fallos, iniciar la carga del sistema operativo, configuración de la CMOS, ... . Esta memoria no se puede borrar ni manipular, aunque existen "versiones" de esta memoria que si lo permiten (memoria PROM − programable; memoria EPROM −borrable y reprogramable y memoria EEPROM − borrable y programable). − R.A.M. (Random Access Memory).− Volátil y de escritura y lectura. De acceso aleatorio. Cuando se apaga el ordenador desaparece. Memoria de trabajo. Más rápida que la ROM. Hay de dos tipos: la estática (que retiene los datos mientras se le suministra corriente) o dinámica (que va perdiendo los datos lentamente y es necesario refrescarlos). • Administrador de Memoria MS−DOS incluye dos administradores de memoria: 14 − HYMEM: proporciona acceso a la memoria extendida. El programa de instalación del MS−DOS instalará automáticamente este controlador si se dispone de un equipo 286 o superior. − EMM386: proporciona acceso al área de memoria superior y permite usar memoria extendida para simular memoria expandida. La manera más fácil de instalar este controlador es mediante la ejecución del programa de optimización de la memoria, llamado MemMaker. El MS−DOS no incluye un administrador de memoria expandida debido a que la tarjeta de memoria expandida requiere de su propio administrador de memoria. • Memoria en MS−DOS. El DOS sólo es capaz de manejar un bus de direcciones de 20 bits por lo que no puede direccionar más de 1 Mb de memoria. La memoria físicamente: El esquema de la memoria central es el siguiente: El RMD o registro de dirección de memoria consta de dos celdas que indican la fila y la columna de la posición de memoria deseada. El RM o registro de memoria contiene de forma temporal la información que se va a escribir o que se ha leído del mapa de memoria. El MAPA DE MEMORIA es un conjunto de celdas donde se guarda la información. Los CS o circuitos selectores son los encargados de activar la posición de la fila y la columna indicados por el RDM. Memoria Convencional: Son los primeros 640 K y se estableció su uso para la ejecución de los programas del Dos. Es la memoria más importante y es conveniente tener la mayor cantidad posible de esta memoria convencional. De los 640 Kb no todos están libres, el sistema ocupa algunos: − 2 kb están reservados por el sistema, que coloca el vector de interrupciones. − 44 kb están ocupados por el núcleo del DOS. − Las órdenes del CONFIG.SYS. − Controladores de dispositivos. − 3 kb los ocupa el COMMAND.COM. − Programas residentes del usuario. Todo lo que quede libre es memoria libre para el usuario. Memoria Superior: Son los 384 K comprendidos entre los 640k y los 1024 K y se estableció su uso para cargar los programas de sistema, rutinas de inicialización y control, memoria de vídeo, la Rom−bios, etc. Esta memoria se divide en 6 segmentos de 64 k algunos de los cuales, al no estar utilizados se convirtieron en los UMB. En los segmentos A y B se carga la Memoria de Vídeo, y en el 15 último (F) se carga la Rom−bios quedando libres los segmentos C, D,E. Esta memoria también es conocida con el nombre de memoria reservada. U.M.B. (Upper Memory Blocks): A partir de la versión 5.0 es posible cargar en los segmentos centrales de la memoriasuperior (C,D,E) y se empieza a cargar los controladores de dispositivos (p.e. ratón) y programas residentes del Dos, liberando así memoria convencional. Sólo a partir de los 386 y disponiendo de 1 Mb de RAM. Cuando son ocupados estos bloques se conocen como bloques de memoria superior. Memoria Extendida: Es la que hay por encima de 1024Kb. Propia de los 286 o superiores ya que los inferiores no pueden direccionar más de 1 Mb. El inconveniente de esta memoria es que no se puede utilizar desde el Dos ya que sólo direcciona 1 Mb. Han ido surgiendo técnicas para acceder a esta memoria como Ramdrive.sys que crea un 'disco duro' en memoria Ram. Se define en el Config.sys mediante la instalación del driver Himem.sys lo que además nos permite utilizar los 64 k de memoria alta de la que hablaremos después. Memoria Expandida (E.M.S.): Fue el truco más importante para resolver el problema de memoria de MS−DOS. Mediante esta el MS−DOS consigue utilizar hasta 32 Mb en cualquier tipo de PC. Consiste en instalar chips de Ram en el ordenador y estos se configuran como memoria expandida mediante unos interruptores en la placa madre o modificando el setup. La memoria que se configura como expandida deja de tener una posición en el mapa de direcciones. La utilización de esta memoria se realiza mediante un sistema llamado 'Mapeo'. El Mapeo consiste en coger una página de 64 K contiguos de los segmentos C,D o E de la memoria superior, lo que se denomina 'Marco de Página', y se divide en 4 trozos de 16 K llamados 'páginas'. Se intercambia el Marco de página por 4 páginas lógicas de la memoria expandida. A esta acción se la denomina ' Mapeo'. Los inconvenientes de este método son su velocidad al tener que mapear páginas, la mayor complicación para el programador al no poder utilizar datos contiguos en más de 64k o mejor de 16 k debido al intecambio. Normalmente son programas largos los que utilizan la expandida. La ventaja es que es un método totalmente independiente de la capacidad del ordenador. Memoria Alta (H.M.A.): Son las primeras 64 Kb de direcciones de memoria extendida entre 1.024 Kb y 1.088 Kb definidas al instalarse Himem.sys. En esta memoria sólo se puede cargar un programa. Normalmente se suele usar para cargar el núcleo de MS−DOS. Basado en el método del DOS para direccionar, el DOS construye una dirección de 20 bits mediante dos n§ de 16 bits cada uno (segmento y desplazamiento). El segmento hace referencia a un bloque aleatorio de 64 Kb y el offset indica la celda exacta dentro de este bloque de 64 Kb; a esto se le llama direccionamiento segmentado. Los números se representan en hexadecimal y van separados por dos puntos. 16 Como con el segmento se puede direccionar hasta 1024 Kb, se puede emplear el offset para conseguir 64 Kb más de memoria, llamada memoria alta y su dirección sería la de FFFF:FFFF. Esta memoria no se puede emplear en el 8088 ya que el bus de direcciones no puede direccionar más de 20 bits. Memoria extendida (XMS): Memoria por encima de 1024 Kb y fuera del rango de direcciones del DOS. Salió al mercado en 1988 y fue deesarrollada por Lotus, Intel, Microsoft y AST. Es necesaria la presencia de un administrador de memoria extendida, como HYMEM.SYS. Programas como MS−WINDOWS requieren memoria extendida. Otros tipos de Memoria: ♦ Memoria Shadow: Es una técnica para optimizar la velocidad y consiste en traspasar las rutinas Rom−Bios que están en la Rom a la memoria Ram de forma que el sistema gana en velocidad. El EMM386 puede desactivar esta memoria en casos muy especiales. ♦ Memoria Caché: No es una nueva memoria con dirección física propia, sino que es la convencional, extendida o expandida que será utilizada por los programas caché. Existen dos tipos de memoria caché: 1 − La de Disco: utiliza memoria Ram para almacenar aquellos sectores que se utilizan con más frecuencia y no tener que ir a leerlos físicamente. Se crea con los Buffers metiendo la información en memoria convencional. La orden Smartdrv crea también caché de disco y permite hacerlo con memoria convencional, extendida o expandida. 2 − La de Memoria: son memorias ultrarrápidas que permiten que se vayan almacenando los datos más utilizados. ♦ CMOS−RAM: En los 286 o superiores existe un programa de configuración SETUP en los que el usuario puede configurar las características generales del ordenador. Fecha y hora, nº y tipo de unidades de disquetes y disco duro, ram instalada, ... . Esta información se almacena en la llamada Cmos−Ram que sólo son 64 bytes almacenados en un chip motorola. La CMOS puede ser manipulada para la optimización del sistema. ♦ Gestión de las unidades de disco. • Estructura física de un disco. Un disco es un conjunto de circunferencias concéntricas, donde cada circunferencia en una pista subdividida en sectores y todas las pistas tienen los mismos sectores, aunque sean pistas de diferente tamaño. Los discos duros tienen entre cuatro y veinte caras y en lugar de pistas se habla de cilindros (que es el conjunto de un mismo número de pista en todas las caras). Los disquetes tienen 80 pistas. El nº de sectores por pista en un disquete define la densidad del disco y normalmente un sector contiene 512 bytes. • Estructura lógica de un disco. La estructura lógica de un disco se crea con el formateo del mismo, que divide el disco en cuatro zonas: 17 − Sector de arranque. − FAT. − Directorio raíz. − Datos del usuario. El MS−DOS no entiende más que de clusters y no de sectores. Un cluster es un conjunto de uno o más sectores consecutivos y el nº de sectores tiene que ser potencia de 2. − Sector de arranque: Se localiza en el sector cero del disco y ocupa un sólo sector. Tiene un programa que permite cargar DOS en memoria. Guarda información relativa al disco. − FAT: (file allocation table) Da a conocer al sistema operativo que ficheros contiene y en que sectores. Es una tabla en la que cada posición de la misma indica el estado de cada cluster del disco; cada cluster puede tener uno de estos tres valores: − 0 indica que el cluster está vacío − el gusanillo que indica que es el último clúster del fichero − cualquier otro valor indica el siguiente cluster de un fichero. − Directorio raíz: Ocupa un número fijo de sectores, justo detrás de la fat. Para cada entrada de elemento del directorio raíz tenemos 32 bits (nombre, extensión, tamaño, fecha, atributos y cluster de comienzo). Para cada subdirectorio existe una tabla de fat. Está limitado (en disco duro a 32 sectores y en disquete a 7 sectores). − Datos del usuario: resto del disco (+/− un 98% del disco). Funcionamiento de la F.A.T.: Como antes hemos indicado, la fat es la encargada de indicar al sistema operativo que ficheros contiene y como los contiene ya que los ficheros pueden estar completamente particionados en cuanto a su almacenamiento se refiere. Cuando el sistema operativo busca un fichero lo que hace es encontrar en el directorio activo la entrada del archivo, coge el cluster de inicio del fichero y lo lee y examina en la fat el valor de la posición obtenida, si no es un gusanillo (que indica que es el último cluster del fichero), irá a la posición indicada ya que es la siguiente parte del fichero, y así sucesivamente hasta que encuentre el carácter de fin de fichero. Particiones de un disco duro: Una partición es una división lógica del disco duro que permitirá la existencia de ficheros independientes uno de otro. No se puede hacer sobre disquetes. Un disco duro tiene que tener por lo menos una partición y como máximo cuatro, una de ellas activa y será de la que arranque el ordenador. Aunque MS−DOS soporte cuatro particiones, realmente sólo acepta dos: − Partición primaria: es obligatoria y contiene el sistema operativo, es la partición activa y se designa por una sola letra. − Partición extendida: Sirve para separar el disco en unidades lógicas, que no son 18 realmente particiones. Es opcional. Con el comando FDISK se pueden visualizar las particiones existentes y modificarlas o eliminarlas. Formateo de un disco: Siempre hay que formatear un disco antes de emplearlo por primera vez. Un formateo consiste en preparar un disco para que el MS−DOS pueda utilizarlo para almacenar archivos, borrando todos los datos existentes en el disco. Sintaxis: FORMAT unidad: /Q /U /S /V:etiqueta /F:tamaño donde unidad indica la unidad a formatear, q indica que se desea un formateo rápido, u indica que no se desea un formateo completo, s indica que se copien los archivos de arranque del sistema después de formatear el disco, v:etiqueta permite indicar la etiqueta que se desea dar al disco y f:tamaño permite avisar del tamaño al que debe formatear el disco. Ordenes relacionadas con discos: − SYS: transmite el sistema operativo a un disquete formateado. − DISKCOPY: permite copiar un disquete a otro, aunque sólo sirve para disquetes iguales. − DISKCOMP: permite comparar dos disquetes sector por sector. Los disquetes deben ser iguales. − CHKDSK: comprueba la integridad de los datos almacenados en el disco. − DEFRAG: defragmenta y optimiza el disco, almacenando los ficheros en clusters secuenciales, lo que optimiza el rendimiento del sistema. Es un comando externo. ♦ SCANDISK: comprueba la integridad de los datos almacenados basándose en el estado del disco que almacena estos datos. ♦ Del MS−DOS al MS−WINDOWS El MS−DOS soporta una nueva capa de software de sistema que permite a los usuarios interactuar con varios programas a la vez y permite el empleo de una forma gráfica, este software es el MS−WINDOWS. Este software crea una ventana en la pantalla para cada programa que esté activo. Usando un ratón el usuario mueve el puntero a una ventana particular para interactuar con el programa que se está ejecutando en esa ventana. La ventana puede cambiarse de tamaño o moverse por la pantalla, disponiéndose las distintas ventanas abiertas en la forma en que se desee. Los programas que se ejecutan bajo MS−WINDOWS disponen de interfaces de usuario standard y utilizan menús desplegables. Los datos pueden transferirse de un programa a otro. Pero a pesar de los nuevos sistemas operativos de entorno grafico como Windows no han conseguido separa estos del imprescindible MS−DOS, de hecho Windows utiliza DOS. Los servicios de Windows, tales como multitarea, gráficos, ventanas y enlace dinamico se asientan todos sobre DOS y son esencialmente extensiones del mismo, cuando Windows ejecuta un programa tiene acceso transparente al DOS, lo utilizan llamado directamente con la INT 21H o con la función DOS3Call desde la API de Windows. ♦ Bibliografia ♦ Sistemas Operativos, Conceptos fundamentales. Autores: James L. Peterson y Abraham Silberschatz 19 Editorial: REVERTÉ S.A ♦ Teoria y Diseño de los Sistemas Operativos Autores: Juan M. Morera Pascual y Juan A. Pérez−Campanero Editorial: ANAYA MULTIMEDIA ♦ El DOS no documentado Autores: Fernando Davara, Carlos de la Fuente Editorial: ADDISON−WESLEY / DIAZ DE SANTOS En internet: www.ciudadfutura.com/estudiantes www.monografias.com www.cefoim.com/biblio/indexb.html www.rincondelvago.com 2 MS−DOS 20