“EL EQUIPO INFORMÁTICO” HARDWARE DEL PC Apuntes de Informática Industrial Índice 1.- Instalación de un sistema informático......................................................................................................1 2.- Arquitectura de un sistema informático....................................................................................................1 2.1.- Unidad de control..............................................................................................................................2 2.2.- Memoria principal.............................................................................................................................2 2.3.- Unidad aritmética y lógica................................................................................................................3 2.4.- Unidades de entrada..........................................................................................................................4 2.5.- Unidades de salida............................................................................................................................4 2.6.- Memoria auxiliar...............................................................................................................................4 2.7.- Unidades de medida..........................................................................................................................4 2.8.- Puertos de comunicación..................................................................................................................5 2.9.- El software........................................................................................................................................5 2.10.- Sistemas operativos.........................................................................................................................5 3.- Breve historia de los ordenadores.............................................................................................................7 3.1.- Las generaciones de ordenadores......................................................................................................7 4.- Periféricos...............................................................................................................................................10 4.1.- Periféricos de entrada......................................................................................................................10 4.1.1.- Teclado....................................................................................................................................10 4.1.2. Ratón.........................................................................................................................................11 4.1.3. Joystick.....................................................................................................................................11 4.1.4. Lápiz óptico..............................................................................................................................11 4.1.5. Escáner......................................................................................................................................11 4.1.6. Micrófono.................................................................................................................................12 4.1.7. Cámaras digitales......................................................................................................................12 4.1.8. Lector de código de barras........................................................................................................12 4.2. Periféricos de salida..........................................................................................................................12 4.2.1. Monitor.....................................................................................................................................12 4.2.2. Impresoras.................................................................................................................................12 4.2.2.1. Impresoras matriciales......................................................................................................13 4.2.2.2. Impresoras láser................................................................................................................13 4.2.2.3. Impresoras de inyección....................................................................................................13 4.2.2.4. Plotter................................................................................................................................13 4.3. Memorias auxiliares.........................................................................................................................13 4.3.1. Discos flexibles........................................................................................................................14 4.3.2. El disco duro.............................................................................................................................14 4.3.3. El CD-ROM..............................................................................................................................15 4.3.3.1. Los CD grabables..............................................................................................................15 4.3.4. El DVD.....................................................................................................................................15 4.3.5. El Blue-Ray Disc......................................................................................................................16 4.3.4.1. El estándar MPEG-2.........................................................................................................16 4.3.4.2. El sonido digital................................................................................................................16 4.3.5. Otras unidades de almacenamiento..........................................................................................17 4.3.5.1. Unidades magneto-ópticas................................................................................................17 4.3.5.2. Unidades ZIP....................................................................................................................17 4.3.5.3. La cinta magnética............................................................................................................17 4.3.5.4. Tarjeta de Memoria...........................................................................................................17 5.- Estructura del ordenador personal..........................................................................................................18 5.1. La unidad central..............................................................................................................................18 5.1.1. La fuente de alimentación.........................................................................................................18 5.1.2. La placa base.............................................................................................................................18 5.1.3. Las unidades de disco...............................................................................................................20 5.1.4. Otros periféricos internos.........................................................................................................20 5.2. La memoria principal.......................................................................................................................20 5.2.1. La memoria ROM.....................................................................................................................20 5.2.2. La memoria RAM.....................................................................................................................21 5.3. Puertos de expansión........................................................................................................................21 5.3.1. El bus PCI.................................................................................................................................22 5.3.2. El bus USB...............................................................................................................................22 5.3.3. Las PC Cards (PCMCIA).........................................................................................................23 5.3.4. Controladoras de discos............................................................................................................23 5.3.4.1. Controladora ST506..........................................................................................................24 5.3.4.2. Controladoras ESDI..........................................................................................................24 5.3.4.3. SCSI..................................................................................................................................24 5.3.4.4. IDE....................................................................................................................................24 5.3.4.5. SATA o Serial ATA.........................................................................................................25 5.3.5. El bus AGP...............................................................................................................................25 5.4. Arranque del ordenador con DOS....................................................................................................27 5.4.1. El BIOS del DOS......................................................................................................................27 5.4.2. El núcleo del DOS....................................................................................................................27 5.4.3. El procesador de comandos......................................................................................................27 5.4.4. Evaluación de las entradas de usuario......................................................................................28 5.5. Arranque del ordenador con LINUX................................................................................................28 5.5.1. Descripción general del proceso típico.....................................................................................28 5.5.2. Espacio de usuario temprano....................................................................................................29 5.5.3. Fase del cargador de arranque..................................................................................................29 5.5.4. GRUB.......................................................................................................................................29 5.5.5. LILO.........................................................................................................................................29 5.5.6. Loadlin......................................................................................................................................30 5.5.7. Fase del kernel..........................................................................................................................30 5.5.8. Fase de carga del kernel............................................................................................................30 5.5.9. Fase de inicio del kernel...........................................................................................................30 5.5.10. El proceso de inicio................................................................................................................30 1.- INSTALACIÓN DE UN SISTEMA INFORMÁTICO Un sistema informático está compuesto por el Software que lo forman el conjunto de programas escritos en el lenguaje propio del ordenador. La persona que realiza el programa se le llama programador. Por otra parte se encuentra el Hardware que engloba el conjunto de elementos físicos que constituyen el ordenador. El incremento de las prestaciones del ordenador, ha respondido desde sus comienzos de un sistema exponencial. La composición mínima del sistema informático depende de las aplicaciones que se desean que cumpla, pero sin embargo, los elementos esenciales básicos que hoy en día lo forman son, el teclado, ratón, pantalla, y la torre. Así como distintos periféricos habituales tales como la impresora, el escáner, el SAI (Sistema de Alimentación Ininterrumpida). El entorno de trabajo debe ser tal que permita protegerlo de la humedad, altas temperaturas, rayos del sol. Es importante alejarlos de campos electromagnéticos producidos por motores y máquinas en general ya que podrían borrar los datos de los discos de forma permanente. Más importante que el equipo es el usuario que hace uso de él. Éste debe de estar cómodo y seguro, por lo que el ambiente y su puesto de trabajo deben reunir los requisitos necesarios de ergonomía. La mesa de trabajo debe ser amplia para que quepan en ella todos los elementos que se utilizan y permita el movimiento de los brazos libremente; su altura, al igual que la de la silla debe ser la adecuada al individuo y no forzar posturas incómodas. La ventilación debe ser buena y la temperatura de la sala agradable. 2.- ARQUITECTURA DE UN SISTEMA INFORMÁTICO La estructura física de un sistema informático prácticamente no ha variado desde el principio de su aparición. Las partes principales de un ordenador las podemos observar en la figura 2.1. MEMORIA AUXILIAR UNIDAD DE CONTROL UNIDAD ARITMET. Y LÓGICA PERIFÉRICOS DE ENTRADA PERIFÉRICOS DE SALIDA MEMORIA CENTRAL figura 2.1. Estructura básica de un ordenador. La Unidad Central de Proceso (UCP o CPU en inglés) está compuesta de : - Unidad de Control - Memoria Principal - Unidad Aritmético-Lógica - Unidades de Entrada - Unidades de Salida - Memoria Auxiliar Página 1 2.1.- UNIDAD DE CONTROL Es la parte de la Unidad Central de Proceso encargada de gestionar y secuenciar las instrucciones del programa. La Unidad de Control realiza principalmente tres funciones : - Extrae de la Memoria Principal las instrucciones, una a una. - Las analiza e interpreta. - Controla su ejecución dirigiendo el funcionamiento de todas las unidades del ordenador mediante órdenes de control (microinstrucciones) que surgen de la interpretación (descodificación) de cada instrucción. La Unidad de Control está compuesta por diversos componentes (figura 2.2), que son: BUS DE CONTROL MICRO-ÓRDENES CONTADOR DE INSTRUCCIONES UNIDAD DE CONTROL REGISTRO DE INSTRUCCIONES SECUENCIADOR MICRO-ÓRDENES INSTRUCCIÓN DE LA MEMORIA PRINCIPAL figura 2.2. Estructura de la Unidad de Control. El registro de instrucción: En el que se sitúa la instrucción que se está ejecutando. La propia Unidad Central traslada la instrucción desde la Memoria Principal al registro de instrucción. El registro Contador de Programa: Dirige la secuencia de ejecución del programa. Contiene la dirección de comienzo de la siguiente instrucción. Hay que recalcar en este punto que el tamaño de una instrucción no es un número fijo, ya que algunas son más complicadas que otras y como consecuencia también son más largas. Por tanto el valor del registro Contador de Programa no será incrementado en una unidad cada vez, sino que el incremento será igual que el tamaño de la instrucción. El secuenciador Central: Genera impulsos de reloj que controlan los diversos órganos del ordenador. 2.2.- MEMORIA PRINCIPAL La Memoria Principal (MP) es la encargada de almacenar datos, programas y resultados intermedios y finales de un proceso. Es un órgano pasivo de almacenamiento de información en el que podemos leer (extraer información) o escribir (grabar información), operación que destruye la información que hubiese anteriormente. Toda la información que procesa el ordenador debe pasar necesariamente por la MP. La MP posee dos tamaños significativos que son: - El número de posiciones de memoria. - El número de bits o bytes que tiene cada posición de memoria. El número de posiciones de memoria es el valor que indica la cantidad de memoria que posee un ordenador. Así por ejemplo, 128K significa 128 mil posiciones de memoria, que siendo más exactos serian 2 17 que son 131.072 posiciones de memoria. El número de bits de una determinada posición de memoria viene determinado por el tamaño de los registros internos que posee el microprocesador. Este valor ha sido el siguiente en los siguientes microprocesadores : - 8088 => 8 bits. - 8086 => 16 bits. - 80186 => 16 bits. - 80286 => 16 bits. - 80386 => 32 bits. - 80486 => 32 bits. - Pentiums => 32 bits. - Procesadores IA64 => 64 bits. Para acceder a una posición de memoria, el computador dispone de dos caminos denominados Buses. Un primer Bus de direcciones en el que se indica la posición de memoria que se quiere acceder, en la figura 2.3 esta Página 2 posición es 10. R (leer) W (escribir) 98 BUS DE CONTROL (98) DECODIFICADOR BUS DE DATOS MEMORIA PRINCIPAL 10 DECODIFICADOR (10) BUS DE DIRECCIONES figura 2.3. Escritura del dato 98 en la posición de memoria 10. Un Bus de datos por el que llega o sale el contenido de la posición de memoria. En este caso un 98. Debido a que es posible leer y escribir en la memoria, mediante el bus de control se le envía la operación deseada. Resumiendo tendremos por ejemplo, para escribir en la posición de memoria 10 el dato 98, poner en el bus de direcciones la posición de la memoria 10, a continuación poner en el bus de datos el número 98 y finalmente activar la señal de escritura a través del bus de control manteniendola el tiempo necesario para que el dato quede correctamente escrito en su lugar. Para leer ese mismo dato se actuaría de la siguiente forma, primero se pondría en el bus de direcciones la posición de memoria 10, a continuación por el bus de control se activaría la señal de lectura de la memoria manteniendola el tiempo suficiente para que el dato de dicha posición salga de la misma hasta el bus de datos. Hay que tener en cuenta que existe una zona de la Memoria Principal que contiene diversa información especial que necesita el ordenador para : - Almacenar la información de configuración del Setup. - Almacenar el programa de inicialización del sistema y puesta en marcha de sus componentes en el arranque. - Alojar la tabla de los vectores de interrupción, que lanzan un determinado programa interrumpiendo lo que estaban haciendo. Estas acciones, así como otras posibles que no vamos a entrar en detalle son posibles gracias a que se ha incorporado a lo largo del direccionamiento de la MP otros tipos de Memoria que permiten ser escritos de forma eléctrica (EEPROM) para guardar la configuración del Setup, o de sólo lectura (ROM) para el arranque del sistema. 2.3.- UNIDAD ARITMÉTICA Y LÓGICA. Es el órgano encargado de realizar las operaciones matemáticas y lógicas. Puede estar constituida por una sola unidad funcional capaz de realizar varias operaciones simples: sumar, restar y operaciones lógicas, o estar formada por varias unidades funcionales u operadores especializados, capaz de realizar operaciones de multiplicación, división, operaciones en coma flotante, etc. Antiguamente, las ALU(Arithmetic Logical Unit) sólo realizaban operaciones simples, más tarde aparecieron los Coprocesadores que se encargaban de realizar operaciones en coma flotante, y actualmente los microprocesadores incorporan operaciones de multiplicación en coma flotante. En la figura 2.4 se muestra un esquema de una Unidad Aritmética y Lógica. ACUMULADOR FLAGS BUS DE CONTROL OPERANDO OPERANDO BUS DE DATOS figura 2.4. Estructura de la Unidad Aritmética y Lógica. Disponen de una serie de registros de almacenamiento, entre ellos el Acumulador, que almacena los resultados parciales. Además, se les asocian indicadores (en inglés Flags), que suministran información acerca de la última operación Página 3 realizada. Estos indicadores nos avisan de desbordamientos en las operaciones, división por cero, si la operación ha sido positiva o negativa, etc. 2.4.- UNIDADES DE ENTRADA. Las Unidades de Entrada se denominan Periféricos de Entrada y son los encargados de introducir los datos y los programas desde el exterior al ordenador. Algunos de ellos son : - Teclado : Similar al de una máquina de escribir. - Lápiz óptico : Lee caracteres especiales o códigos de barras. - Mesas digitalizadoras : Funcionan con programas especiales que reconocen cada zona de la mesa y la asignan una función. - Ratón : entrada de datos a través de opciones en pantalla. - Lectores de disco : Leen la información grabada en un disco. 2.5.- UNIDADES DE SALIDA. Las Unidades de Salida se denominan Periféricos de Salida y son los encargados de enviar al exterior los resultados (datos) como consecuencia del procesamiento de los programas; también pueden enviarse los propios programas. Algunos Periféricos de Salida, son : - Impresora : Realizan una copia en papel del resultado. - Monitor : Permite ver el proceso en cada momento. - Plotter : Realiza reproducciones gráficas con algunos programas. - Unidades de disco : Para escribir los datos y los programas en el disco. 2.6.- MEMORIA AUXILIAR. La Memoria Auxiliar es la encargada de almacenar los datos durante largos períodos de tiempo. El tipo más comúnmente empleado es el disco, que es de gran capacidad y puede almacenar varios programas simultáneamente con el fin de procesar en cada momento el que queramos a través del lector de disco. Los discos pueden ser flexibles o duros. El tipo de disco flexible más utilizado actualmente es el llamado disquete, con un tamaño de 3,5 pulgadas de diámetro, que se encuentra protegido dentro de una envoltura de plástico rígido. Los discos duros son inaccesibles para el operador y se encuentran dentro de la carcasa del ordenador, son de gran capacidad y su velocidad de acceso no muy elevada. El disco constituye un tipo de memoria no volátil. 2.7.- UNIDADES DE MEDIDA. El ordenador trabaja con información digital, esto es información que sólo puede tener dos tipos de valores : tensión alta (5 V.) y baja (0 V.) que se relacionan con el 0 y el 1. Trabaja de acuerdo a un código de caracteres, que representa a un determinado alfabeto. Este código es creado mediante un convenio que es una relación entre nosotros y el ordenador. Este convenio se conoce con el nombre de código ASCII (American Standard Code for Interchange or Information : Código Americano Estándar para Intercambiar Información). Veamos como se puede representar en un ordenador. Si un ordenador tiene una línea de información (un bit), puede representar por esta línea un 1 o un 0. Si en lugar de tener una línea, tiene dos (dos bits), puede representar cuatro tipos de información distintas: 00, 01, 10 y 11. A cada tipo de información distinta le podemos asignar un signo equivalente. Si quisiéramos representar todos los caracteres alfanuméricos necesitaríamos al menos 26 combinaciones, y esto se consigue con 5 líneas o bits de información, ya que 2 5 = 32 combinaciones distintas. Así nacieron los primeros códigos alfanuméricos. En la actualidad se ha normalizado el ASCII a 8 líneas o bits de información, capaz de representar 256 combinaciones distintas, para todos los caracteres alfabéticos en minúsculas y mayúsculas, los números, los caracteres propios de cada idioma y caracteres especiales. A estas líneas de información se les denomina Bus de Datos y cada combinación de 8 bits se le denomina byte. A estos ordenadores se les conocía con el nombre de 8 bits. La capacidad de almacenamiento, y por tanto, el tamaño del ordenador, se mide precisamente por medio del Bus de direcciones (que señala la dirección en la que encuentra guardado el dato de la memoria). En un ordenador de 8 bits, este bus tiene 16 líneas, por lo que puede direccionar 65.535 posiciones de memoria distintas, es decir, podemos almacenar 65.536 datos distintos, tanto de un programa como datos generales. Hay que decir que en los comienzos de la era del ordenador siempre se han realizado “apaños” para que fuese posible acceder a un rango de memoria más amplio debido que 8 bits que permite 256 posiciones sin hacer ningún apaño son muy pobres. Entonces se consideraba la memoria principal como 256 sectores de 256 posiciones, y esto son 65.536 posiciones alineadas que corresponden a los 16 bits anteriormente dichos. Sin embargo, en los procesadores de 16 bits, del 8086, 80186, 80286 se siguieron utilizando complicadisimos Página 4 mecanismos de direccionamiento para acceder a un rango de direcciones más amplio, y sólo con los sistemas de 32 bits se ha simplificado este direccionamiento, al tener un rango de 4GB. Un Kbyte está formado por 210 = 1.024 bytes. Un Megabyte o Mega lo forman 1Kb x 1Kb = 220 = 1.048.576 bytes. Un Giga 1Kb x 1Kb x 1Kb = 230 = 1.073.741.824 bytes. En la actualidad los ordenadores tienen 32 bits, tanto de datos como de direcciones, por lo que son capaces de direccionar 4 Gigabytes (4.294.967.296 bytes), de programa o datos en memoria principal y 64 Terabytes (1 Tera=1000Gigas) de memoria auxiliar o disco duro. La rapidez con que el ordenador realiza los procesos determina otro parámetro importante. Cuanto más rápido y fiable mejor. El proceso de los ordenadores es síncrono, esto es, cada paso se realiza marcado por los impulsos que produce un reloj interno basado en un cristal de cuarzo. Los ordenadores se diseñan para una determinada frecuencia máxima, no pudiendo sobrepasar esta velocidad. Los primeros, funcionaban a 1MHz mientras que los actuales rondan los 1,5GHz y sigue incrementándose. 2.8.- PUERTOS DE COMUNICACIÓN. Siguiendo con una visión general del sistema informático, pasamos a estudiar los principales puertos de comunicación que tiene el ordenador. Los ordenadores se comunican con sus periféricos a través de unos conectores especiales, denominados Puertos de Comunicación, que son: - Puerto Paralelo : Conector por donde se envían los bytes de comunicaciones en forma paralela, es decir, los ocho bits de una sola vez. Este tipo de conector se utiliza, generalmente con la impresora. - Puertos serie : En este tipo de conector los bytes de comunicación se envían en serie, es decir, por una sola línea, uno a continuación de otro. Por lo general se utilizan dos puertos serie. - Puerto de Juegos : Puerto especial para conectar exclusivamente un mando de juegos tipo Joystick. - Puertos USB : Puerto Serie Universal, de alta velocidad, en el que se puede conectar cualquier tipo de periférico que tenga un conector del tipo USB. - Puertos de Red : Puerto de Red o conexión de Red es una toma de comunicaciones de alta velocidad que permite la conexión del ordenador con el exterior, al utilizarse en entornos de Pcs en red. En general, el conector moderno utilizado es el RJ-45 para cable de pares trenzado, no obstante también existe el antiguo llamado BNC para cable coaxial. - Puertos SATA : Puerto de alta velocidad Serial ATA. Muchos ordenadores los incluyen para permitir la conexión de Discos duros externos así como otros dispositivos externos a alta velocidad. 2.9.- EL SOFTWARE. Como hemos visto, el ordenador trabaja con ceros y unos; así es cómo guarda la información y la procesa. Por lo tanto, las instrucciones de los programas se le deberán dar en forma de ceros y unos. Un programa basado en unos y ceros se dice que está en Lenguaje Máquina. Esta forma de programar es sumamente compleja y da lugar a numerosos errores. Si en lugar de ceros y unos utilizamos un código de instrucciones simples (como llevar dato, leer dato, sumar dato), estamos programando con Ensambladores. La programación se hace más simple pero requiere un conocimiento profundo de la máquina. Este tipo de lenguaje está escrito en ceros y unos. Los Lenguajes de alto nivel están escritos en ensamblador y, mediante frases simples, escritas en inglés, podemos darle al ordenador una orden compleja (abre un archivo, escribe datos en la pantalla, ordena un archivo). Estos lenguajes son los más utilizados actualmente, los más importantes son: - BASIC : Con gran cantidad de variantes, es el más sencillo de aprender, pero no es de los más potentes. - C / C++ : Actualmente el más importante en desarrollo de programas y sistemas operativos y científicos. - COBOL : Es un lenguaje de gestión. - CLIPPER : Lenguaje de gestión de bases de datos, es relativamente reciente y tiene gran cantidad de adeptos. - PASCAL : Es un lenguaje similar algo más limitado que el C, aunque ultimamente ha sido muy ampliado. No se emplea para desarrollo de Sistemas Operativos puesto que el código resultante es más lento que en C. La última generación de lenguajes informáticos son los denominados VISUALES mediante iconos y representaciones gráficas de las órdenes que realizan; podemos confeccionar un programa de Entorno Gráfico como los utilizados para Entornos Operativos tipo Windows. La realización de estos lenguajes de programación es extremadamente compleja, sin embargo, su utilización es muy simple. 2.10.- SISTEMAS OPERATIVOS. Un Sistema Operativo (SO) está formado por un conjunto de programas que ayudan al analista, programador y operador del sistema, en la utilización y optimización de los recursos del sistema informático. Los programas del SO los realiza el constructor y los comercializa con la máquina, ya que son necesarios para el Página 5 correcto y ágil funcionamiento del ordenador. Existen, sin embargo, SO de código abierto, el cual es un código que no es comercial, sino que es un código libre. Estos programas, junto con el modelo de ordenador, conforman y definen la utilidad y potencialidad del sistema. Algunos de estos programas del SO deben estar permanentemente en memoria, ya que son imprescindibles para la utilización del ordenador; existe una gran variedad de sistemas operativos, los más importantes son : - MS/DOS (Microsoft / Disk Operating System) : El más popular de los SO, deriva del DOS. Es el más simple, no soporta grandes ordenadores, ni redes, ni multiusuario, ni multifunción. Pero fue en su día el más utilizado en los PC. - WINDOWS : Es el sucesor del MS/DOS de Microsoft. Actualmente existen toda una variedad de SO Windows en el mercado, algunos con capacidades multitarea y multifunción. - CP/M (Control Program for Microcomputer) : Sistema Operativo destinado a ordenadores industriales y grandes sistemas. - UNIX : Similar al anterior pero más utilizado. Actualmente existen toda una gran variedad de sistemas Unix, para diferentes máquinas y arquitecturas de ordenadores. Estos pueden ser Solaris (para SUN), HP-UX (para HP), LINUX (Para PC), MAX OSX (Apple), etc. Página 6 3.- BREVE HISTORIA DE LOS ORDENADORES. Los orígenes de la computación datan de alrededor de la 1ª guerra Mundial, con varios artilugios diseñados para realizar sumas, multiplicaciones y automatización de la industria textil. Estas primeras máquinas estaban construidas con reles y más tarde con válvulas de vacío. Como se puede uno imaginar eran monstruosas, tanto en peso como en consumo. John Von Newmann (1903-1957), alemán, huye de Alemania en los años 30 y se establece en Estados Unidos, a los 19 años es considerado un genio en matemáticas; trabaja en el Proyecto Manhatan, que daría a luz la primera bomba atómica, y sus conceptos sobre teoría de juegos los introduce en el desarrollo del ordenador. Sus dos conceptos son : - Programa Registrado : supone almacenar en memoria el programa, antes de su ejecución, y permite, a la vez, almacenar resultados parciales en la memoria. - Ruptura de Secuencia : permite tomar decisiones después de una comparación, en función de una condición. Es el llamado salto condicional. Junto con Mauchly y Eckert construyen el EDVAC en 1946; es el primer calculador electrónico de programa almacenado. La arquitectura Von Newmann se mantiene en la actualidad, aunque se han incorporado nuevos conceptos ( pipe-line, caché, etc.). En 1951, la empresa montada por Mauchly y Eckert vende a la oficina del censo americana el UNIVAC-I. Se puede decir que aquí comienza la primera generación de calculadores electrónicos. En 1896, Herman Hollerith, precursor de la codificación mediante el sistema de tarjetas de Jacquard, crea Tabulating Machine Company, para fabricar su equipo. En 1911 se fusiona con otras compañías para formar Computing Tabulating Recording Company que, en 1924, cambia su nombre por el definitivo de International Business Machines Corporation o, simplemente IBM. 3.1.- LAS GENERACIONES DE ORDENADORES. Se pueden diferenciar cuatro generaciones de ordenadores, estando ya introducida la quinta, aunque como se podrá ver, actualmente los conceptos de la quinta generación han dejado paso al concepto de ordenador actual. Existen dos características generales que diferencias a las distintas generaciones : - Tecnología de construcción, es decir, las características físicas del equipo. - Arquitectura del sistema, es decir, la organización de los componentes y la forma de explotar el sistema. Estas características se concretan en varios puntos : - Miniaturización : tamaño de los equipos. - Consumo de energía. - Fiabilidad : incremento del tiempo medio entre fallos. - Complejidad : facilidad para la resolución de problemas complicados. - Velocidad de cálculo : facilita la resolución de problemas largos. - Sistemas de explotación : software, sistemas operativos, etc. Primera generación (1955-1959) La tecnología utilizada son las válvulas de vacío, y como consecuencia son ordenadores de gran consumo de potencia (cada válvula consumía 10 vatios) y gran generación de calor, lo que requería una refrigeración adecuada. Por entonces, los novelistas imaginaban el futuro lleno de ordenadores del tamaño de rascacielos y con una refrigeración tan grande como las cataratas del Niágara. Los ordenadores eran de escasa fiabilidad, ya que tenían una avería cada dos horas y un mantenimiento muy complicado. A la vez eran lentos, ya que sólo podían ejecutar unas 1.000 instrucciones por segundo. La memoria era de 20 Kbytes como máximo. Las aplicaciones fueron militares y de cálculo científico. La explotación era de tipo monotarea, es decir, un sólo programa en la memoria ejecutándose de forma secuencial : - Lee fichas de entrada. - Ejecuta el programa. - Imprime el resultado. Un equipo típico de esta generación es el UNIVAC-I y el IBM-704. Segunda generación (1960-1965) Se incorpora el transistor de silicio o germanio que, comparado con las válvulas, son más pequeños, tienen menor consumo, son más rápidos, más fiables y menos frágiles. Aparece, también, el circuito impreso : disminuye el cableado y aumenta la fiabilidad. Como consecuencia se disminuye el volumen en un factor de 5, la velocidad se incrementa en varios miles de instrucciones por segundo y el tiempo medio de averías era de 100 horas. Página 7 Se aplica masivamente a la gestión administrativa. En la explotación se producen grandes mejoras. Aparecen los conceptos de Sistema Operativo, Tiempo Compartido (varios terminales trabajando simultáneamente un sólo ordenador central) y Lenguaje Orientado al Usuario. El proceso de cálculo se hace rápido, pero no los procesos de entrada y salida, por lo que se recurre a un segundo ordenador auxiliar que se encarga de estas tareas (este concepto sigue aún utilizándose). Los ordenadores típicos son : Honeywell-800, Burroughs B-500, IBM-1400, IBM-7090, CDC-1604, UNIVAC-1107. Tercera generación (1965-1974) Esta tercera generación se caracteriza por la aparición del circuito integrado o Chip, y a partir de aquí la evolución fue mucho más rápida, tanto en el hecho de la propia fabricación de los circuitos integrados como en avances en la informática. La evolución tecnológica de integración dio lugar a tres tipos de escalas de integración : - SSI : Corta escala de integración, hasta 10 componentes en cada circuito. - MSI : Media escala de integración, hasta 100 componentes en cada circuito. - LSI : Alta escala de integración, hasta 1.000 componentes. Ya en 1973 se comercializa la primera UCP integrada. que se denominó microprocesador y se denominó 4004, y en 1974 se logran integrar 20.000 componentes en 5 mm2. Gracias a esto se consigue una gran reducción del volumen. cableado y número de contactos, lo que se traduce en un aumento de la fiabilidad : el tiempo medio de averías pasa a ser de varios miles de horas. El consumo se reduce hasta el punto que aparecen los primeros ordenadores que funcionaban con baterías. Las aplicaciones se generalizan a la utilización en todos los campos : - Cálculo científico : Posibilidades aritméticas muy desarrolladas, operadores aritméticos especializados, coma flotante, etc. - Gestión de empresas : Se tratan y estructuran cadenas de caracteres (letras, cifras, decimales, signos, etc.); manipulan ficheros y se trabajan con importantes memorias auxiliares. - Control de procesos industriales : Los ordenadores son más pequeños. pero más especializados (muchas entradas/salidas -autómatas-, conversores Analógicos/Digitales y Digitales/Analógicos). Pueden trabajar en tiempo real, es decir, procesar el resultado mientras se genera el proceso. - Sistemas conversacionales : Estos serán los ordenadores más potentes, dotados, además de un buen sistema de comunicaciones. Sus aplicaciones principales serán: * Sistema de consulta-respuesta y el acceso a bases de datos. - El diseño, fabricación y enseñanza asistida por ordenador (CAD, CAM y CAI, respectivamente) Respecto a las técnicas de explotación, aparece la multiprogramación. La multiprogramación consiste en que varios programas pueden residir simultáneamente en memoria, en un instante determinado y sólo uno de ellos utiliza la unidad central, mientras, los otros programas. pueden efectuar operaciones de entrada y salida (E/S). Cuando un programa que utiliza la UCP se detiene en espera de una operación de E/S, otro programa toma su lugar así se evitan tiempos muertos. A partir de este concepto aparece la partición de la memoria. Se particiona en dos zonas: * Zona de Procesamiento : reservada al paquete de trabajo de los usuarios. * Zona de Conversiones : reservada a los programas de conversión de soporte y sistema operativo. Ya no se utilizan dos UCP,. sino memoria particionada. Los trabajos se cargan según van apareciendo en forma continua (no por lotes) y los resultados se obtienen según la prioridad asignada. Más conceptos nuevos : - Teleproceso : Los programas pueden cargarse desde un terminal remoto y se reciben los resultados por el mismo terminal. Los ordenadores incorporan un controlador y monitor de comunicaciones. - Multiprogramación : (con o sin teleproceso). El usuario puede intervenir en el proceso de ejecución del programa, es decir, existe diálogo usuario-programa. - Tiempo compartido : en el caso de varios usuarios, la máquina concede a cada uno de ellos un tiempo fijo de utilización de la UCP. - Memoria virtual : El sistema operativo (SO) gestiona una transferencia de programas entre la memoria principal y la memoria auxiliar, dando la sensación de que todos los programas se encuentran constantemente en la memoria principal. Existe, por lo tanto, un gran desarrollo en técnicas de explotación de los SO y en los lenguajes de programación. Como equipos informáticos más representativos de esta generación están los IBM-360 e IBM-370. Cuarta generación (1975-¿?) Al final de la generación anterior aparece en el Valle del Silicio un movimiento entre los ingenieros más jóvenes que se denominaron con el nombre de hacker (aunque esta palabra tiene ahora otra connotación). Este grupo quería llegar al límite de la tecnología, querían llegar a construir un ordenador de pequeñas dimensiones, pero que funcionara como uno grande; el resultado : el Ordenador Personal. Página 8 En la cuarta generación no existen ideas nuevas, sino más bien un gran aumento de la tecnología que permite el aumento de la densidad de integración : más de 100.000 componentes en un circuito integrado. Aumenta el rendimiento, la velocidad, la fiabilidad y, sobre todo, baja el precio vertiginosamente. En el hardware, se generaliza el empleo del microprocesador de 8, 16 y 32 bits y circuitería auxiliar integrada (USART) : procesadores que realizan trabajos de comunicaciones con periféricos, gestión de memoria, etc.. liberando al microprocesador principal de estas tareas, consiguiendo, por tanto, un aumento del rendimiento. Se evoluciona hacia los sistemas multiprocesadores. En 1982 aparece el concepto de supercomputador. claro que entonces el nivel era bastante menor que ahora, se consideraba que un ordenador era supercomputador, cuando : - La velocidad superase los 100 MIPS (millones de instrucciones por segundo). - La capacidad de la memoria principal fuese de más de 20 Mbytes. - El número de canales (slots) de periferia y comunicaciones estuviese entre 8 y 64. Aparece, por supuesto, el microordenador. Un ordenador de reducidas dimensiones, pero capaz de tener sus propios programas y trabajar como uno grande. Aparece una especie de revolución o era informática : la aplicación de la informática se generaliza modificando usos y costumbres e incidiendo fuertemente en los aspectos socioeconómicos de las naciones. En los micro y miniordenadores, aparecen SO simples, pero bastante potentes como el UNIX, CP/M, OS/2 y MS/DOS y se empiezan a utilizar entornos gráficos que facilitan el uso del SO y de los programas, algunos de ellos eran : - Xerox 8000 de Xerox : para red tipo Etbernet, el primero de todos. - Concept VP de Scientia Inc.: para MS/DOS. - Concurrent DOS y CP/M de Digital Research. - DesQ de Quarterdeck System, también para MS/DOS. - Office System, de Apple Computer, para Apple, Lisa y Macintoch. Este entorno operativo es el actual MacOs. - Ovation, de Ovation Technologies. Incluía gran cantidad de aplicaciones. - Starbust, de MicroPro. Para MS/DOS y CP/M. - VisiON, de Visicorp. Para MS/DOS y CP/M - Windows, de Microsoft. Similar al actual. - Windows Master, de Structured System Groups : Disenado para los primeros IBM PC, era un sistema multiproceso con gran cantidad de aplicaciones y un rendimiento más que aceptable. Alguien se adelantó. El IBM PC Los primeros ordenadores personales o microordenadores eran todos de 8 bits: Spectrum, Commodores, Apple, MSX, etc. IBM, planificó en agosto de 1980 lanzar un ordenador personal de 8 bits como los demás, pero fue en el momento de incorporar el sistema operativo cuando cambió de opinión. En principio se quiso dotar al primer IBM PC del sistema operativo OS/2, pero uno de los ingenieros encargados del proyecto se vio sin tiempo para que su equipo desarrollara una versión reducida del OS/2, y fue entonces cuando decidieron comprar un sistema operativo para su IBM PC. Alguien decidió contar con Bill Gates (fundador de Microsoft), que por entonces nadie le conocía, por supuesto. Fue Bill Gates el que decidió que el IBM PC fuera un ordenador de 16 bits, así las prestaciones del ordenador aumentarían exponencialmente. El resto de la historia ya es bastante conocida. La quinta generación Para finalizar vamos a ver un proyecto que pudo ser y no fue, un sueno sin conquistar. La quinta generación se intenta desarrollar a partir de 1981, y básicamente consistía en realizar un ordenador inteligente, con las siguientes premisas : - Era necesario buscar una arquitectura que tratara bien la información no numérica : lenguaje natural, reconocimiento de la voz, visión artificial. - Dotar al ordenador de una gran velocidad de proceso y una estructura neuronal (similar al cerebro humano). Tampoco es necesario profundizar mucho sobre este punto, ya que realmente, no se ha conseguido prácticamente nada importante. Página 9 4.- PERIFÉRICOS. Podemos definir periférico como todo componente u órgano que forma parte del sistema informático que se utiliza para introducir los programas o datos al propio ordenador desde el mundo exterior. 4.1.- PERIFÉRICOS DE ENTRADA. Existe una gran variedad de periféricos de entrada, y cada día se incorporan nuevos periféricos a la vez que se mejoran los ya existentes; los más importantes son: - Teclado. - Ratón. - Joystick. - Lápiz óptico. - Escáner. - Micrófono. - Lector de código de barras. - Cámara digitalizadora. Vamos a estudiar cada uno de ellos. 4.1.1.- TECLADO. Aunque al principio de la era de la informática los ordenadores no tenían teclado, este elemento se empezó a utilizar muy pronto. El teclado comenzó siendo el de una máquina de escribir remodelado, disposición que se ha seguido manteniendo, por supuesto, mejorando e insertando nuevas teclas a medida que eran necesarias. En un teclado actual está compuesto de : - Teclado numérico : Facilita la entrada de números y signos (+,-,*). - Teclas de cursor : Facilitan el desplazamiento del cursor por la pantalla del ordenador en un determinado programa. - Teclas de función : Utilizadas para introducir un conjunto de órdenes en el desarrollo de un determinado programa o proceso. El número de estas teclas se ha incrementado en los últimos años. - Teclas especiales : Para la utilización del entorno operativo Windows 95. Atendiendo a la tecnología del control de pulsación de las teclas, los teclados pueden ser: * Los de tipo capacitivo : Disponen de un dispositivo con un muelle colocado en el centro de la tecla. El muelle se encarga de devolver la tecla a su posición original después de haber sido pulsada. Bajo este muelle se encuentra un disco de plástico y metal y, bajo este disco (en un circuito impreso) se encuentran dos láminas correspondientes a los dos polos del circuito. Al pulsar la tecla, el disco se acerca hacia los contactos causando una variación en su capacidad reduciéndola en unas 10 veces. Esta variación provoca una variación entre la corriente cerrando el circuito. * Los de tipo mecánico : Las teclas funcionan como un pulsador convencional. Debajo de cada tecla hay una membrana de goma elástica que sirve para devolver la tecla a su posición después de haber sido pulsada. La goma tiene forma de cúpula, quedando la parte convexa pegada a la base del pulsador de la tecla. Bajo esta cúpula hay dos contactos metálicos. colocados uno sobre el otro y separados por una distancia mínima. Al pulsar la tecla se hunde la cúpula de goma, aprisionando el contacto superior con la inferior y se produce el contacto. Al soltar la tecla, la cúpula de goma recupera su posición levantando la tecla. Las dos láminas de contacto se separan. El principal inconveniente de este tipo de teclados es la vida media, que es menor, puesto que, a la larga, cada vez hay que apretar más para que se produzca el contacto o, incluso, algunas teclas se queden pulsadas. Página 10 4.1.2. RATÓN. Con la aparición de los entornos gráficos surge la necesidad de utilizar un dispositivo que facilite el desplazamiento del cursor por la pantalla. El mecanismo del ratón es bastante sencillo. Una bola que gira al arrastrar el ratón, desplaza dos ruedas que, a través de un optoacoplador, envía el número de desplazamientos al ordenador. Por lo general los ratones disponen de dos botones. Dependiendo del sistema operativo y del programa que utilicemos, se pueden utilizar sólo uno de los dos botones (en este caso seria el izquierdo), los dos o, incluso, un tercer botón. 4.1.3. JOYSTICK. El joystick, o palanca de juego, es similar a un ratón, pero su uso está limitado a los juegos. Por supuesto la forma del joystick depende del tipo de juego para el que se vaya a utilizar, por lo que podremos encontrar gran cantidad de modelos distintos. El tipo de mando más simple es el de tipo digital. En este tipo de mando sólo se tiene en cuenta la dirección en que se desplaza : El funcionamiento seria de todo a nada. El tipo de mando analógico, es más similar al ratón. Dos potenciometros miden la variación del mando y envían esta variación al ordenador. 4.1.4. LÁPIZ ÓPTICO. Para algunas aplicaciones el ratón no es lo suficientemente preciso, es el caso del diseño asistido, por ejemplo. En estos casos se recurre a un lápiz que se desplaza por una tableta digitalizadora. Esta tableta reproduce la pantalla del ordenador o parte de ella y los comandos más importantes del programa para el que se utilice. Cualquier desplazamiento del lápiz por la tableta digitalizadora es recogido por el ordenador y transmitida a la pantalla de visualización. En algunos sistemas es la propia pantalla la que es sensible a los desplazamientos del lápiz óptico. por lo que bastará con desplazar éste por la pantalla : es el caso de los ordenadores utilizados por los controladores de vuelo. Algunas pantallas, además. son sensibles al dedo del usuario, son las llamadas pantallas táctiles : estas pantallas las podemos encontrar en algunos cajeros automáticos. 4.1.5. ESCÁNER. Aunque la palabra inglesa original scanner hace referencia a un radar, este término en informática se refiere al dispositivo que es capaz de digitalizar imágenes, es decir, convertir imágenes y textos a datos que entienda el ordenador. Para ello, se utiliza una fuente de luz que va iluminando, línea por línea, la imagen o documento en cuestión, de modo que la luz reflejada por la imagen es recogida por los elementos que componen el CCD (Charged Couple Device, es decir, dispositivo de acoplamiento de carga), que convierte la luz recibida en información analógica. Por último, se convierten los datos analógicos en valores digitales. que luego pueden cargarse en la memoria del ordenador. Las imágenes digitalizadas (es decir, convertidas a series de unos y ceros) pueden mostrarse en la pantalla. almacenarse, imprimirse o modificarse mediante un programa de retoque fotográfico. También pueden insertarse en documentos de cualquier tipo : de dibujo, de gráficos, de maquetación, procesadores de textos, bases de datos de imágenes, etcétera. A grandes rasgos, éste es el funcionamiento del escáner. Otro concepto importante en el escáner es la resolución. Un escáner con una resolución de 600 ppp (puntos por pulgada), significa que su dispositivo CCD posee 600 elementos. Cuanto mayor sea la resolución, más calidad tendrá el resultado. También es posible capturar imágenes de páginas de texto para que un programa específico. llamado reconocedor óptico de caracteres (OCR), trate la imagen y reconstruya el texto original. Este texto podrá entonces manejarse desde cualquier procesador de textos. Existe una amplia oferta de tipos de escáners, se distinguen en tres tipos : * Escáner de mano : Es la alternativa más económica, puesto que elimina gran parte de los mecanismos que encarecen los dispositivos de sobremesa, especialmente el de tracción, ya que es el propio usuario quien mueve el escáner sobre la imagen o documento a digitalizar. Como desventaja podemos señalar la poca calidad del proceso y del resultado, ya que depende de la habilidad y el uso del usuario. * Escáner de sobremesa : Este tipo de escáner es la alternativa más profesional y de mejor calidad. El documento o imagen se coloca sobre un cristal bajo el cual se desplaza la lente luminosa; el funcionamiento es similar a una fotocopia. El inconveniente es el tamaño de este tipo de escáner. * Escáner de rodillo : Este último tipo es una alternativa interesante, a medio camino entre los dos anteriores. El escáner utiliza un mecanismo de tracción de rodillo que recoge automáticamente el documento y lo digitaliza. La imagen obtenida puede llevar al nivel del escáner de sobremesa. La principal ventaja es el espacio que utiliza. Página 11 4.1.6. MICRÓFONO. Utilizando un micrófono y una tarjeta de sonido se pueden introducir sonidos en la memoria del ordenador. El micrófono traduce las vibraciones del aire en corrientes eléctricas y las transmite a la tarjeta de sonido. Entonces, la señal eléctrica se muestrea, lo que significa que se descompone en intervalos con una duración determinada. El número de intervalos por segundo se llama frecuencia de muestreo. Cuanto mayor sea la frecuencia, mejor calidad se obtendrá. También es importante el número de bits que se utiliza en cada muestra. ya que de ello depende el número de niveles que se pueden muestrear. Las tarjetas de sonido habituales pueden muestrear 16, 32 y 64 bits. 4.1.7. CÁMARAS DIGITALES. También es posible enviar imágenes al ordenador a través de cámaras de vídeo o fotográficas. Las cámaras de vídeo digitales necesitan una tarjeta que se denomina tarjeta capturada de vídeo. Para poder almacenar imágenes animadas se recurre al procesador que incluye la propia tarjeta capturadora de vídeo. Este procesador es capaz de comprimir los datos en tiempo real (mientras está recibiendo información), procesar la imagen obtenida y enviarla al dispositivo de almacenamiento elegido. 4.1.8. LECTOR DE CÓDIGO DE BARRAS. Este periférico utilizado en la mayor parte de las cajas de los supermercados y otros comercios, se presenta en forma de lápiz, de pistola o de sobremesa. En el interior del lector se encuentran una serie de luces rojas que se envían en varias direcciones hacia el exterior, este rayo se refleja en la superficie que se desea leer, rebotando para incidir en un receptor fotosensible. Los códigos de barras, que todos conocemos, han sido unificados por un organismo internacional. para que sean compatibles en todos los países. No obstante, muchas empresas han diseñado sus propios códigos de barras para compatibilizar sus sistemas de pedidos, almacén, ventas, etc. 4.2. PERIFÉRICOS DE SALIDA. Un periférico de salida sería lo contrario que uno de entrada, es decir, el órgano o elemento al que el ordenador envía sus datos o programas de forma que el usuario pueda entender. Existe. también. una gran variedad de periféricos de salida, vamos a estudiar los más representativos, que son : - Monitor. - Impresora. - Plotter o trazador gráfico. 4.2.1. MONITOR. Como todo en informática, el monitor también ha sufrido un avance enorme. Actualmente el monitor de rayos catódicos (el más normal) o el de cristal líquido o plasma es indispensable en cualquier equipo informático, pero al principio de la era informática, los ordenadores no tenían monitor. El monitor permite al equipo informático comunicarse e informar al usuario del desarrollo del programa, ya que es el que suministra la información visual. Desde la aparición de los entornos gráficos, el rendimiento de los monitores ha experimentado una evolución considerable. Al principio, los monitores eran monocromos y sólo mostraban caracteres (en un formato de 25 líneas por 80 caracteres), pero las pantallas que se utilizan en la actualidad tienen una resolución considerable, con gran número de colores y se encuentran en constante evolución El funcionamiento del monitor es similar al de la televisión, sin embargo, existe otro tipo de monitores de cuarzo liquido; este tipo de monitor es bastante más caro que el de rayos catódicos, su utilización está limitada a los ordenadores portátiles y en algunos sistemas en que el precio no sea lo mas importante. Con independencia del tamaño de la pantalla, se presenta un número determinado de líneas y cada línea tiene un número determinado de puntos, de modo que la resolución es la multiplicación de ambos. Como el tamaño normal de la pantalla tiene una relación de aspecto de 4/3, esta relación suele conservarse también en la resolución. Las resoluciones mas habituales son : 640x480 (estándar VGA), 800x600 (primer estándar SVGA), l.024x768 (segundo estándar SVGA), 1.280x960, 1.600x1.200. 4.2.2. IMPRESORAS. Las impresoras se han perfeccionado enormemente en los últimos años. Al principio sólo existían impresoras matriciales y de margarita. Estas últimas eran muy lentas y ruidosas, aunque su calidad era muy superior a las que podrían proporcionar las impresoras matriciales, que eran mucho más rápidas y baratas. Actualmente las impresores de margarita han Página 12 desaparecido por completo del mercado, mientras que las matriciales aún tienen un segmento respetable del mercado. 4.2.2.1. IMPRESORAS MATRICIALES. Actualmente las impresoras matriciales tienen una gran resolución (puntos por pulgada de impresión). El funcionamiento de las impresoras matriciales se basa en un conjunto de agujas que producen una imagen golpeando el papel. Entre las agujas y el papel se interpone una cinta tintada, de modo que el choque provoca la transferencia de tinta desde la cinta al papel. El número de puntos que constituyen los caracteres determinan la resolución y la calidad de la impresión. La impresora matricial imprime caracteres en líneas y su velocidad se mide en caracteres por segundo; este sistema es bastante aceptable para imprimir textos, pero es más deficiente en la impresión de gráficos. Su principal ventaja es la robustez de este tipo de impresoras y su bajo mantenimiento. 4.2.2.2. IMPRESORAS LÁSER. La impresión láser es mucho más rápida, silenciosa y de mejor calidad que las de las impresoras de agujas. Este tipo de impresora apareció en el momento en que se imponían los entornos gráficos. Sus prestaciones son muy interesantes, tanto en velocidad como en capacidad de impresión y en ergonomía, ya que su funcionamiento es muy silencioso. Sin embargo, su precio es elevado, especialmente las de impresión en color. En una impresora láser la imagen se obtiene mediante un procedimiento electrostático. El rayo láser incide, mediante un espejo, sobre la superficie de un tambor Esta superficie está tratada de manera que los puntos sobre los que incide el láser desarrollan una carga electrostática. De esta forma, la imagen de la página se inscribe en el tambor. Los puntos sobre los que haya insistido el láser corresponden a puntos negros. En los puntos blancos el láser se apaga y en tambor no recibe ninguna carga.. El cartucho de tinta o tóner es una tinta sólida en polvo que se deposita sobre el tambor, de modo que los puntos cargados electrostáticarnente retienen el polvo. Después se deposita la tinta en el papel. A continuación la hoja de papel pasa a través de dos rodillos calientes que ejercen una presión suficiente sobre el papel, de modo que el calor funde la tinta y la presión lo incrusta en el papel. 4.2.2.3. IMPRESORAS DE INYECCIÓN. La impresora de inyección, o de chorro de tinta, es de una tecnología posterior y está avanzando muy rápidamente. Es silenciosa y su calidad es cada vez mayor, aunque su velocidad es menor que la de las impresas láser. Su precio, sin embargo, es muy inferior al de las láser. Las impresoras de inyección imprimen línea a línea, con ayuda de una cabeza de impresión móvil, como en el caso de las impresoras de agujas. La cabeza de impresión de estas impresoras está montada sobre un carro móvil y contiene una serie de orificios (llamados conductos), detrás de los que se encuentra una cavidad llamada cámara de expansión, a la que llega la tinta a través de canalizaciones. Detrás de la cámara hay una resistencia de calor que hace que la tinta hierva y se forme una burbuja de gas. Cuando la presión es máxima la tinta se encuentra por encima de la burbuja y se expulsa a través del conducto para producir un minúsculo punto en el papel. La calidad de la impresión depende en todo momento de la resolución de la impresora : Desde 300 ppp (puntos por pulgada), hasta 2.400 ppp. En función de la calidad del papel utilizado se pueden llegar a obtener calidades practicamente de apariencia fotográfica y de la cantidad de tinta que dosifique cada inyector : hasta de tan sólo 5 picolitros (5 x 10 -12 litros). Otra ventaja importante de este tipo de impresoras es que todas ellas disponen de impresión en color, cosa que en las de láser es aún demasiado caro. 4.2.2.4. PLOTTER. El plotter o trazador gráfico es un dispositivo que se utiliza para trazar dibujos mediante plumillas, igual que las que se utilizan en el dibujo técnico manual. De esta manera, los dibujos tienen la apariencia de haberse hecho a mano. Los trazadores admiten varias plumillas, lo que permite trazar en diferentes colores y grosores. Además, admiten tamaños de papel mucho mayores que las impresoras. Ultimamente aparecen trazadores con una tecnología similar a la de las impresores de inyección, lo que aumenta la calidad del dibujo. 4.3. MEMORIAS AUXILIARES. En este punto vamos a estudiar las unidades de almacenamiento de información o memorias auxiliares más importantes. Las memorias auxiliares son un tipo de periférico de entrada y de salida, dependiendo de la tarea que realicemos en cada momento y su importancia es crucial en el equipo informático, ya que en la memoria auxiliar residen el sistema operativo, los programas y los archivos y datos que nosotros hemos creado o estemos usando. Página 13 Como todos los periféricos, las memorias auxiliares han experimentado un enorme desarrollo, ya nadie se imagina un ordenador personal sin un disco duro de varios gigas, aunque esto hace unos años era un lujo. Vamos a pasar a estudiar cada una de las más importantes comenzando por los discos. 4.3.1. DISCOS FLEXIBLES. El disco flexible ha sido el más utilizado para introducir y transportar información. Su tamaño ha ido variando a lo largo de los años. Hace unos años el tamaño normal era de 5 1/4”, pero actualmente es de 3 1/2”. Este tamaño menor tiene, además, las ventajas de mayor capacidad y una estructura rígida. Está constituido por una solapa metálica de protección y acceso, un orificio del eje junto con una marca de orificio índice, y por una lengüeta de protección contra el borrado. Veamos para que sirven cada uno de ellos : - Solapa protectora de metal que se desplaza al introducirlo en el ordenador. - Ventana de acceso : al desplazarse la solapa esta ventana deja abierto un orificio para que la cabeza de lectura/escritura pueda acceder al disco. - Orificio del eje : este orificio se utiliza para que gire el disco. - Orificio índice : mediante este orificio el ordenador podrá averiguar dónde comienza la primera pista del disco. - Protección de borrado : dejando abierta esta ventana se impide la grabación de datos en el disco. La información en un disco está organizada en sectores y pistas, según se aprecia en la Figura 4-1. Generalmente en cada bloque caben 512 bytes, por tanto dependiendo del número de sectores y de pistas tendremos más o menos capacidad. En estos tipos de discos la capacidad máxima es de 1,44 Mbytes o lo que es lo mismo : 1.474.560 bytes que se organizan de la siguiente manera : 18 pistas, 80 sectores, 2 caras, con 512 bytes por bloque. Pistas Bloque Sectores Figura 4.1. Organización de la información en un disco. 4.3.2. EL DISCO DURO. Debido a la gran cantidad de datos e información que manejan los ordenadores actuales, debemos disponer de un sistema de almacenamiento masivo. Este sistema es el disco duro, también llamado disco rígido o magnético fijo. Los datos necesarios se cargan en la memoria desde los discos y cuando ya no se necesitan se devuelven al disco duro (si se han modificado) o se borran directamente de la memoria (en este caso se siguen conservando en el disco duro). El disco duro esta compuesto por una serie de discos o platos que se encuentran apilados unos sobre otros dentro de una carcasa impermeable al aire y al polvo. El diámetro suele estar comprendido entre las 2 pulgadas (5 cm) y las 5,25 pulgadas (13,3 cm), aunque los más comunes son los de 3,5 pulgadas (8,9 cm). Los platos del disco duro tienen dos caras, cada una de las cuales tiene su propia cabeza de lectura/escritura, soportada por un brazo móvil. Las cabezas se sitúan a una distancia de 0,5 micras de la superficie del disco, por lo que no puede introducirse ninguna partícula entre la cabeza y el disco. Por ello, los discos duros están protegidos contra el paso del aire por una carcasa completamente hermética. La estructura del disco duro se divide de una forma similar a la de los discos flexibles. Además, el conjunto de todas las pistas que tienen asignado el mismo número y que están en diferentes platos se llama cilindro. La capacidad de los discos duros se calcula multiplicando el tamaño del sector por el número de sectores en cada cilindro, por el número de cilindros y por el número de cabezas. Así, un disco con 75 sectores por cilindro, 850 cilindros y 18 cabezas (es decir, 9 platos), tiene una capacidad de 75 x 850 x 18 x 512 bytes = 587.520.000 bytes, es decir, 560 Mbytes. Para localizar los datos de un disco se utilizan las direcciones. La dirección de un sector está formada por un número Página 14 de cabeza, un número de cilindro y un número de sector. 4.3.3. EL CD-ROM. El disco compacto o CD fue anunciado en 1980 por Philips en Europa y más tarde por Sony en Japón, aunque en principio sólo fue pensado como sustituto del disco de vinilo; con la expansión de la informática, fue incorporado como unidad de almacenamiento masivo y es conocido como CD-ROM o Disco Compacto de Memoria de Sólo Lectura (Compact Disk Read Only Memory). Los CD-ROM son discos ópticos y han sido la memoria de almacenamiento masivo que más avances ha tenido en los últimos años. Hace poco tiempo tenía un precio inaccesible y una velocidad muy baja. En la actualidad el precio se ha reducido y su velocidad se ha multiplicado enormemente. La capacidad de un CD-ROM es de 650 Mbytes (o 700 Mbytes). La gran ventaja de los CD-ROM es que se imprimen a partir de una matriz y no de uno en uno, lo que para grandes series permite reducir notablemente los precios y aumentar la velocidad del proceso. Además, la instalación de un programa desde un CD-ROM es mucho más cómoda y rápida para el usuario que a través de discos. Si se observa la superficie de un CD a nivel microscópico, se aprecia un sinnúmero de pequeñas hendiduras, que reciben el nombre de pits, mientras que la superficie entre ellas se denomina land. Así, la información está contenida en estos pits y lands impresos sobre el sustrato de plástico del disco, que se metaliza posteriormente con el fin de reflejar el rayo láser utilizado en el proceso de reproducción. Cada zona de transición entre un pit y un land o entre un land y un pit representa un “1” lógico, y si no hay transición es un “0” lógico. 4.3.3.1. LOS CD GRABABLES. Aunque hasta hace poco los CD-ROM eran dispositivos de sólo lectura (como indica su nombre). han aparecido los CD-R (Compack Disk Regrabable). Los discos CD-R son diferentes a los CD comerciales. Estos últimos se graban utilizando un molde, mientras que los CD-R, para almacenar la información, se queman mediante un láser. Incluso la superficie gravable es de distinto color : los CDROM son plateados, mientras que los CD-R pueden ser azules, verdes o dorados. Además, son más sensibles a las temperaturas extremas y al calor y no duran tanto. Su esperanza de vida es de unos 100 años. Un CD-R estándar, está formado por tres capas principales : - Una capa plástica de protección. - Una capa reflectante de aluminio. - Una capa de policarbonato. Entre estas dos últimas hay una nueva capa compuesta de tinta orgánica fotosintética, sensible a la temperatura (que es la que produce el color diferente). Cuando el haz grabador incide sobre un punto de la superficie la calienta y el punto cambia de color, alterando sus propiedades de reflexión, de modo que el haz lector puede detectar la diferencia. La grabación de datos en un CD-R, al contrario que en las unidades de disco, es una operación muy compleja por lo que es necesario disponer del software adecuado, que suele estar incluido con la unidad. Estos programas controlan el láser grabador, marcando físicamente una serie de pits, con una potencia situada entre los 4 y los 8 mW, en la capa de tinta. Al recibir calor esta sustancia se vuelve opaca, debido a una reacción química. La información se codifica en los pits y en los lands, de forma digital, por lo que el CD final puede utilizarse en cualquier ordenador equipado con lector de CD-ROM o incluso en una cadena de música, si la información digitalizada es música. Un elemento importante a la hora de grabar un CD-R es el tipo de CD que se va a utilizan Existen varios modelos : CD-R de color dorado, verde o azul. Estos últimos son los más recientes, y tienen una menor tasa de error y son más resistentes al calor y a los rayos UVA, pero su esperanza de vida todavía no es muy larga. 4.3.4. EL DVD. Dentro del gran avance de la tecnología informática, nos encontramos con el DVD (Disco Versátil Digital), aunque en apariencia es igual que un disco compacto su tecnología es lo que le hace diferente. La principal diferencia está en el tamaño de los pits y los lands. De modo que, tenemos para un CD-ROM un tamaño mínimo de land de 0,83 mm y una distancia entre pistas consecutiva de 1,6 mm, en cambio para un DVD tenemos un tamaño mínimo de land de 0,4 mm y una distancia entre pistas consecutivas de 0,74 mm, que como se puede observar para un DVD es mucho menor. Dentro del gran mundo que engloba las siglas DVD, nos centraremos en el aspecto que más nos interesa a nosotros, el denominado DVD-ROM. Al igual que ocurre con los CDs, existen dos tamaños reconocidos : el de 8 cm (con un máximo de 4,95 Gbytes) y el de 12 cm (capaz de llegar hasta los 17 Gbytes). Para calcular las verdaderas posibilidades de almacenamiento digital que nos proporciona este sistema, deberemos realizar unos pequeños cálculos. Aproximadamente, y gracias a la utilización de la tecnología de compresión MPEG-2, podemos almacenar una hora de vídeo en 2 Gbytes. Dentro de este espacio ya está incluido el sonido Dolby Digital Surround (AC-3), que ofrece una excelente calidad, siempre y cuando contemos con un descompresor apropiado. Por tanto, podemos ver que la capacidad del disco de mayor tamaño (17 Gbytes) es de aproximadamente 8,5 horas, suficiente para contener hasta 4 películas normales. Por lo tanto, en el formato más habitual de simple cara y simple capa (4,7 Página 15 Gbytes) podríamos almacenar hasta dos películas de dos horas sin ningún tipo de problemas. Con la intención de aprovechar al máximo las características de este tipo de sistemas, se han incluido una serie de mejoras que permiten elegir, entre otros, el idioma que deseamos escuchar, la posibilidad de ver subtítulos, cambiar los ángulos de visión de la cámara, etc. Para poder ver con gran calidad este tipo de películas necesitamos contar con un equipo que sea capaz de descomprimir en tiempo real todos los datos del DVD. Con esta misión deberemos obtener, si no la tenemos ya o no viene incluida en nuestro sistema informático, una tarjeta descompresora MPEG-2. Esta será la encargada de descodificar los datos, separar el audio del vídeo y gestionar todos los elementos necesarios del DVD. Debido a que el tamaño del punto de datos de la superficie del disco es mucho más pequeño que el empleado en los convencionales lectores CD-ROM. hay que utilizar un haz láser de mucha mayor precisión. Según el tipo de láser empleado podremos acceder a la totalidad de los discos disponibles o no. El acceso a los discos estampados normales resulta transparente para todos los lectores. Si deseamos acceder a los datos almacenados en un CD-R tendremos que disponer de un sistema de láser dual, un haz para cada tipo. El caso de los discos CD-RW es un poco distinto, ya que el diseño del DVD se ha realizado contando con que será el estándar, así que su compatibilidad es directa. Además de la posibilidad de acceder a nuestros programas en los CDs convencionales, se ha tenido en cuenta la necesidad de reproducir discos de audio (CD-DA) como si se tratase de un lector normal. 4.3.5. EL Blue-Ray Disc. Blue-Ray Disc también conocido como Blu-ray o BD, es un formato de disco óptico de nueva generación de 12 cm de diámetro (igual que el CD y el DVD) para vídeo de gran definición y almacenamiento de datos de alta densidad. Su capacidad de almacenamiento llega a 25 GB por capa. Se han desarrollado tecnología que permitiría ampliar un 33% la cantidad de datos almacenados, desde 25 a 33,4 GB por capa. Aunque otros apuntan que el sucesor del DVD no será un disco óptico, sino la tarjeta de memoria. No obstante, se está trabajando en el HVD o Disco holográfico versátil con 3,9 TB. El límite de capacidad en las tarjetas de formato SD/MMC está ya en 128 GB, teniendo la ventaja de ser regrabables al menos durante 5 años. 4.3.4.1. EL ESTÁNDAR MPEG-2. Tal y como se ha indicado, el DVD es uno de los pilares de los nuevos sistemas de vídeo digital, ya que para completar las tareas de descodificación necesitamos un ordenador capaz de manejar el estándar MPEG-2. No Lodos los ordenadores vienen equipados con este tipo de tecnología, porque la incorporación del sistema de descompresión es relativamente caro y complejo. Para comprender cuál es la base de toda la arquitectura de comprensión del DVD, tenemos que comenzar entendiendo que MPEG es el estándar en sistemas de compresión de datos. Gracias a estos algoritmos de compresión podemos convertir sonidos y películas a un archivo en un formato de fácil transferencia, ya que su tamaño es considerablemente inferior a los datos originales. El primer estándar utilizado, que recibe el nombre de MPEG-l, es capaz de reproducir vídeo y audio a una velocidad de 150 Kbytes/s (similar a la velocidad de los CD-ROM lx). Para ello, se encarga de analizar las distintas imágenes de la secuencia de vídeo y almacenar solamente las diferencias ocurridas entre las imágenes. Lamentablemente, la calidad proporcionada por este tipo de técnicas era aceptable para TV pero no para cine, con lo que la investigación continuó hasta llegar a la creación del denominado MPEG-2. Este estándar sigue proporcionando un nivel de compresión muy elevado, ofreciendo una calidad de imagen similar a la de los conocidos laserdisc y un sonido de calidad CD. De hecho, éste es el sistema elegido para la retransmisión de programas vía satélite y DVD. Aparte del hardware de descompresión de vídeo necesario para acceder al contenido del DVD, tenemos que utilizar unas aplicaciones específicas que sean capaces de reconocer los códigos regionales. Estos códigos permiten la reproducción de las películas encriptados y con protección anti-copia. Se ha calculado que entre un 10% y un 30% de los ordenadores que se vendan con DVD incluirán una tarjeta específica de descompresión hardware. El resto de los sistemas utilizaran un sistema de descodificación MPEG-2 basados en software, con lo que los usuarios que posean un equipo de proceso rápido podrán disfrutar de estas películas sin invertir en una tarjeta dedicada. 4.3.4.2. EL SONIDO DIGITAL. Si importante es la calidad de la imagen obtenida en la descompresión de la información, igual de importante es la Página 16 fidelidad con la que podamos reproducir los distintos sonidos que acompañan al vídeo. Entre las distintas opciones que se han comentado de diferentes idiomas (hasta ocho) podemos disfrutar de una claridad de sonido excepcional y, sobre todo, sentirnos rodeados por él. Para disfrutar de una calidad de sonido excepcional, la conocida empresa de sonido Dolby desarrolló en el año 1995 su proyecto de sonido digital con calidad broadcast, que actualmente ha evolucionado y desde 1997 se utiliza en los sistemas DVD. Esta tecnología, denominada Dolby AC-3, se desarrolló pensando en la necesidad de procesar sonido desde distintas fuentes de generación, con una velocidad muy alta y sobre todo dejando una puerta para necesidades futuras. Por tanto, lo más significante del Dolby Digital es la combinación de una alta calidad de sonido con una destacable eficacia. Gracias a su alta compresión, podemos disponer de un canal surround en el mismo espacio que ocupa una pista de sonido convencional en un CD. La verdadera potencia del sonido Dolby digital la encontramos cuando realmente disponemos de un sistema de reproducción apropiado, compuesto de : canal izquierdo, canal derecho, altavoces centrales frontales, altavoces surround laterales y un subwoofer. Gracias al preciso control de la señal de sonido, que se ha codificado en función del altavoz que se encargará de repetir la señal, podemos controlar en todo momento el lugar desde el que se emitirá el sonido. Como es lógico pensar, para recuperar toda esta calidad es necesario disponer de un equipo apropiado. La mayoría de los sistemas DVD convencionales incorporan un decodificador de AC-3, que se colocan en la salida de señal analógica, pero poco más. 4.3.5. OTRAS UNIDADES DE ALMACENAMIENTO. 4.3.5.1. UNIDADES MAGNETO-ÓPTICAS. Este tipo de disco utiliza un método diferente de lectura/escritura que los discos duros. Para escribir, un haz láser calienta la superficie de un disco, recubierta de un material cristalino, hasta el punto que los cristales se liberan y pueden desplazarse por medio de un campo magnético. Una cabeza de lectura/escritura parecido a la de un disco duro es la que escribe los datos, desplazando los cristales. La ventaja es que la zona magnetizada se reduce únicamente a la parte calentada por el láser. De esta manera se pueden obtener discos de más de l Gbytes por cada cara. Sin embargo, los lectores sólo suelen leer por una cara, por lo que hay que dar la vuelta al disco para leer la otra cara. Para efectuar el proceso de lectura se proyecta sobre la superficie del disco un rayo láser de menor intensidad que para la escritura, de modo que la orientación del reflejo dependerá de la orientación de los cristales magnetizados. Un captador fotosensible parecido al de los CD-ROM recibe el rayo distinguiendo su intensidad. Estos discos son muy útiles tanto para el intercambio de datos como para la copia de seguridad, pero su precio es algo elevado. 4.3.5.2. UNIDADES ZIP. Del tamaño aproximado de una unidad de 5,25 pulgadas y con un peso de tan sólo 450 gramos, el Iomega Zip cuenta en la parte superior con una pequeña ventanilla por la que podemos conocer en todo momento el contenido del disco que se encuentra insertado. Está disponible en versiones para puerto paralelo (incluyendo en la propia carcasa un segundo conector) y SCSI, y admite discos de 25 y 100 Mbytes de un tamaño ligeramente superior al de un disquete de 3,5 pulgadas. El Iomega Zip dispone de un buffer interno de 32 Kbytes y un tiempo de acceso de 29 ms, similar al de un disco duro hace unos pocos años. El índice estimado de errores es de 1 por cada 10 elevado a 12 bits. con una resistencia a golpes de nada menos que 1.000 Gs. 4.3.5.3. LA CINTA MAGNÉTICA. Las unidades de cinta magnética son dispositivos de entrada/salida de datos, con un acceso secuencial, que permiten la grabación y la lectura de la información, contenida en un soporte magnético. Una unidad de cinta está compuesta, aparte del soporte de almacenamiento, por un controlador de cinta, que reúne los elementos electrónicos que permiten realizar las operaciones de lectura y escritura de información. El sistema más práctico y económico para efectuar copias de seguridad de los datos, sobre todo cuando se manejan grandes cantidades de los mismos, es la cinta magnética, que existe en multitud de formatos diferentes. Algunos de los formatos se han diseñado específicamente para el trabajo con ordenadores, pero otros se han tomado a partir de materiales de audio y vídeo, como es el caso de las casetes tipo DAT (cuyo sistema de grabación es lineal y pueden almacenar hasta 4 Gbytes) o las casetes de vídeo de 8 mm (con un sistema de grabación oblicuo, típico de vídeo y que pueden llegar a almacenar hasta 16 Gbytes de información). 4.3.5.4. TARJETA DE MEMORIA. La tarjeta de memoria o tarjeta de memoria flash es un dispositivo de almacenamiento que conserva la información que le ha sido almacenada de forma correcta aun con la pérdida de energía, es decir, es una memoria no volatil. Página 17 Hay diversos tipos de tarjetas, que tienen distintas dimensiones y capacidades. La capacidad máxima actualmente está en 128MB de capacidad. 5.- ESTRUCTURA DEL ORDENADOR PERSONAL. En esta sección vamos a describir los diferentes elementos de que consta un ordenador personal. Para lo cual partiremos de la unidad central e iremos internándonos en ella para describir cómo es interiormente. Por lo tanto es imprescindible tener una idea clara de los capítulos anteriores, especialmente la sección 4, en la que se describen los elementos periféricos. 5.1. LA UNIDAD CENTRAL. La unidad central en un ordenador personal es la caja que contiene todos los elementos básicos que componen el ordenador. En una unidad central encontramos : - La fuente de alimentación. - La placa base. - Las unidades de disco. - Otros dispositivos periféricos internos. 5.1.1. LA FUENTE DE ALIMENTACIÓN. Es la encargada de suministrar a todo el ordenador las tensiones adecuadas para su funcionamiento; actualmente los ordenadores se alimentan con 5 V y 12 V. El conector de la fuente de alimentación consta de cuatro cables, como muestra la Figura 5.1, y el conector lleva una muesca lo que facilita su correcta colocación. Una fuente de alimentación dispone de varios conectores para alimentar lodos los elementos internos que componen la unidad central. El consumo de un ordenador personal puede llegar hasta los 300W, con todos los elementos y accesorios instalados, aunque en la práctica se comprueba que el funcionamiento normal de un ordenador es aproximadamente de 125W y 130VA. Amarillo Negro Negro Rojo Amarillo Negro Rojo 12 V Masa Masa 5V Figura 5.1. Conector de la fuente de alimentación. 5.1.2. LA PLACA BASE. La placa base es el elemento más importante de un ordenador, dependiendo del tipo de placa base que tenga un determinado ordenador, tendremos diferentes tipos de arquitecturas. El elemento principal de la placa base es el microprocesador, aunque la calidad del sistema informático resultante sea la suma del conjunto de todos los elementos instalados en el ordenador. Es más, podemos encontrarnos con rendimientos bastante diferentes en ordenadores basados en el mismo microprocesador y con el mismo tipo de placa base. En la Figura 5.2, podemos ver un dibujo de una placa base basada en un microprocesador del tipo Pentium, en esta placa se distinguen las siguientes zonas : - Zócalo para el microprocesador : en donde se colocará el microprocesador más adecuado para la placa base elegida. - Zócalos para la memoria : lugar para alojar la memoria de tipo RAM que el ordenador utilizará para su funcionamiento normal. Existen dos tipos : DIMM de 168 patillas y SIMM de 72 patillas, las primeras son las usadas actualmente. - Ranuras (o Slots) de expansión : para conectar las tarjetas de los periféricos de ampliación de conexión interna (módem, escáner, tarjeta de sonido, etc.). - Conectores de periféricos : conectores para la impresora (PRN1), el ratón (COM1), de tipo USB para periféricos con esta norma, los discos (FDC1, disquetes; IDE, disco duro y CD-ROM), etc. – Circuiteria adicional : Formado por todos los circuitos integrados necesarios para el funcionamiento del ordenador. Destacamos la BIOS, circuito integrado en el que se graba la configuración del ordenador; la CACHE, memoria de acceso rápido en que se graban las instrucciones de uso más frecuente del sistema operativo y de los programas en uso, etc. Página 18 K/B BIOS Socket 7 Zócalo para el microprocesador Figura 5.2. Placa base basada en el microprocesador Pentium. Página 19 5.1.3. LAS UNIDADES DE DISCO. Por lo general todas las unidades de disco irán alojadas dentro de la unidad central. excepto aquéllas que pueden ir en el exterior (ver sección anterior). El mueble que contiene la unidad central está debidamente mecanizado para alojar los tipos de unidades de disco normalmente empleados (disco duro, unidad de disquete, CD-ROM. DVD, Zip, etc.). En la placa base de la Figura 5.2, se pueden observar los conectores para cada uno de estos discos (FDC e IDE). Para conectar unidades de disco con otros protocolos (interfaces), por ejemplo el tipo SCSI, necesitamos colocar una tarjeta de este tipo en la ranura de ampliación correspondiente. 5.1.4. OTROS PERIFÉRICOS INTERNOS. Existe una serie de periféricos que pueden conectarse en el exterior del ordenador o dentro de la unidad central. Estos periféricos son, por lo general, el escáner. el módem o las unidades de disco de tipo Zip o similar. A la hora de adquirir uno de estos periféricos elegiremos la forma de conectarlos al ordenador; si es por tarjeta interna requerirá instalar una tarjeta en una ranura de expansión o exteriormente, directamente en el conector de la impresora o en el conector de comunicaciones que tengamos libre; en este caso es necesaria una alimentación externa para que funcione el periférico. 5.2. LA MEMORIA PRINCIPAL. La memoria principal es la encargada de almacenar la configuración del equipo informático, el programa que estemos utilizando y los datos necesarios para su funcionamiento o los que se vayan generando. De toda la memoria principal de que dispone un ordenador, parte de ella la va a utilizar el propio ordenador (memoria ROM), otra parte el sistema operativo; a esta memoria no puede acceder el usuario ni puede disponer de ella. El resto de la memoria será la memoria libre para el usuario (memoria RAM). 5.2.1. LA MEMORIA ROM. La memoria ROM tiene asociada lo que se llama la BIOS (Basic Input/Output System: Sistema básico de entradas y salidas), por lo que en adelante a la memoria ROM la denominaremos genéricamente como ROM-BIOS. Aunque los detalles concretos de cómo funciona la ROMBIOS conciernen solamente a los técnicos de lenguaje ensamblador, las bases de cómo está organizada y cómo funciona son de gran interés para entender nuestro ordenador. Para empezar. necesitamos saber que la ROM-BIOS está dividida, a grandes rasgos, en tres partes funcionales, cuyo diagrama aparece en la Figura 5.3. La primera parte de la ROM-BIOS son las rutinas de arranque, que consiguen que el ordenador arranque cuando lo encendemos. Hay dos partes principales para las rutinas de arranque: una son las rutinas Power On Self-Test (o POST), que comprueban si el ordenador está en buen estado de funcionamiento. Verifican los fallos de la memoria y ejecutan otras comprobaciones para verificar el funcionamiento del ordenador. La otra parte del procedimiento de arranque es la inicialización. La inicialización implica la preparación del equipo informático. Muchas partes del ordenador necesitan inicialización de registros, carga de parámetros y otras cosas que los preparan para funcionar. Dentro de este paso está la parte en que la ROM-BIOS debe comprobar qué componentes y periféricos tenemos instalados en nuestro ordenador. Por lo general cualquier periférico que instalemos será reconocido por la ROM-BIOS; sin embargo, si queremos instalar un periférico que no es conocida por la ROM-BIOS, será necesario cambiar la ROM-BIOS o reprogramarla mediante un software especial ofrecido por el fabricante de la placa. Página 20 Arranque Autotest de arranque Extensión a la inicializacion Inicialización carga del disco Manejo de interrupciones (hardware) Interrupción Petición de servicios desde programas Servicios Figura 5.3. Organización de la ROM-BIOS. La última parte de las rutinas de arranque de la ROM-BIOS es la rutina boot, que intenta arrancar el DOS, o cualquier otro sistema operativo que tengamos en nuestro ordenador. El proceso de arranque implica que la ROM-BIOS intenta leer un disco de arranque desde el principio. Primero intentará leer la unidad de disco A y, si no tiene éxito, lo intenta en el disco duro. 5.2.2. LA MEMORIA RAM. Los programas de la ROM-BIOS generan una serie de tablas y datos que deben almacenarse para que el propio sistema operativo pueda acceder a ellos cuando sea necesario: es el caso. por ejemplo, de la tabla de los vectores de interrupción. Una interrupción es considerada como un programa que tiene prioridad en el ordenador, el microprocesador recibe la señal de interrupción e inmediatamente, interrumpe el trabajo que estaba realizando y buscará en la tabla de los vectores de interrupción, la dirección de la memoria en la que se encuentra el programa que ejecuta esa interrupción. Las interrupciones mas comunes son las lecturas/escrituras en discos. acceso al ratón, impresora y otros periféricos. etc. Toda esta información se almacena en la memoria de tipo RAM (Random Access Memory o memoria de acceso aleatorio), esta memoria es muy rápida, por lo que la hace muy efectiva para almacenar el programa que estemos utilizando y las variables que necesitemos para su funcionamiento y, además, tiene un acceso aleatorio, es decir, se puede acceder a cualquier posición de la memoria desde cualquier otra posición. El tamaño de la memoria RAM va a determinar el tamaño de los programas que podamos utilizar. Algunos sistemas y entornos operativos utilizan un comando que permite usar el disco duro como memoria RAM, lo que permite usar programas que de otra forma no cabrían en la memoria RAM convencional; esta operación ralentiza el uso del programa. Actualmente la cantidad de memoria RAM de que dispone un ordenador aumenta continuamente debido al incremento de las necesidades en los programas actuales. Cualquier dato recomendado de necesidades de memoria RAM en un ordenador quedaría obsoleto en pocos meses, por lo que este punto debe ser especificado en el momento de la compra del ordenador por el propio vendedor. 5.3. PUERTOS DE EXPANSIÓN. Las ranuras de expansión de que disponemos en la placa base sirven para ampliar el ordenador con la gama de periféricos que necesitemos. Hasta hace poco tiempo las unidades de disco también se conectaban a través de una unidad controladora a las ranuras de expansión (todavía podemos encontrar modelos con controladora para discos y puertos). En la actualidad tanto la controladora de discos como de puertos están integrados en la propia placa base (ver Figura 5.2). De todas formas, la clase de conexión de los discos y los puertos de comunicación siguen las mismas normas que el resto de las ranuras de expansión. Básicamente la conexión de periféricos necesita un Bus de direcciones, otro de datos y un tercero de control (sección 2), la forma de conexión, las líneas de cada Bus y su velocidad de proceso es lo que decide el tipo de protocolo de utilización. A continuación estudiamos los tipos de buses más importantes actualmente. Página 21 5.3.1. EL BUS PCI. Aunque en el pasado ha habido varios tipos de buses que han tenido éxito (PC, ISA, EISA, MCA y VL), sin duda en la actualidad el bus más empleado es el bus PCI (Peripheral Component lnterconnect), sobre todo por su elevada velocidad. Originalmente se diseñó como una autopista en paralelo, capaz de funcionar con un bus ISA, EISA o VL. El microprocesador y la memoria están directamente conectados a él, mientras que a través de un puente PCI se conecta el segundo bus del sistema. En términos técnicos se puede decir que el PCI más que un bus es una extensión del microprocesador, por lo que puede trabajar a una velocidad más cercana a la de éste que cualquier otro bus anterior. Permite que los dispositivos asuman el gobierno del bus, con arbitraje. incorporando un control de paridad para los periféricos. Además, tiene la capacidad de configurar automáticamente el sistema, sin necesidad de utilizar puentes ni conmutadores, y ofrece cierta compatibilidad con los buses ISA y EISA. Desde el principio el bus PCI se diseñó para migrar desde una anchura de trabajo de 32 bits a la de 64 bits. con velocidades de transferencia de hasta 132 Mbytes y 264 Mbytes por segundo. respectivamente. Las tarjetas de 32 bits tienen conectores de 120 contactos activos más otros cuatro de identificación, es decir, un total de 124 contactos. La extensión para tarjetas de 64 bits añade otros 60 bits más. En la Figura 5.4 se muestra un diagrama con los bloques de las conexiones al bus PCI. Procesador CACHE Controlador de Memoria AUDIO DRAM TARJETA DE VIDEO BUS PCI RED SCSI EXTENSION DEL BUS GRÁFICOS ISA/EISA Figura 5.4. Diagrama de bloques de la conexión del bus PCI. Una de las características del bus PCI es la configuración automática de las tarjetas, lo que se conoce como PnP (Plug and Play: enchufar y usar), que es un método que permite que el procesador obtenga la información necesaria de cada tarjeta para incorporarla a los datos de configuración del ordenador. Los dispositivos PCI pueden ser subordinados (es decir, que aceptan comandos) o maestros (que pueden realizar algunos procesos de manera independiente, sin necesidad de que intervenga el procesador ni el bus). Sin embargo, este bus sólo permite al usuario instalar dispositivos internos, así es que queda pendiente la asignatura de dotar al ordenador de un bus que haga posible la conexión de periféricos externos de forma sencilla y eficiente. Aunque los puertos serie y paralelo permiten realizar esta tarea, al menos hasta cierto punto, era necesario contar con un bus que permitiera la conexión simultánea al ordenador de varios dispositivos, cuya configuración se realizara automáticamente. La solución a estos problemas llega con el bus USB. Existen varias versiones y diseños evolutivos del bus PCI que manejan diferentes canales simultáneos y velocidades , que de forma resumida se muestran a continuación : PCI 133/266 Mbs PCI-X hasta un máximo de 1014 MBs PCI-X 2.0 hasta un máximo de 2035 MBs PCI-Express 1.1 250MBs en cada dirección por carril (numero máximo carriles 16) 4 GBs máximo bidireccional PCI-Express 2.0 500MBs en cada dirección por carril (numero máximo carriles 16) 8 GBs máximo bidireccional PCI-Express 3.0 1000MBs en cada dirección por carril (numero máximo carriles 16) 16 GBs máximo bidireccional 5.3.2. EL BUS USB. El Universal Serial Bus (USB, bus serie universal) es un bus serie a través del que pueden realizarse transferencias a una velocidad máxima de 12 Mbits/s. Además, ofrece la posibilidad de conectar al sistema un máximo de 127 dispositivos, que pueden operar simultáneamente. El hardware encargado de implementar la controladora para el bus USB se suele encontrar Página 22 integrado en el chipset (conjunto de chips) de la placa base. El chipset es el conjunto de circuitos integrados que implementan, controlan y coordinan las funciones de los buses y los dispositivos conectados a ellos (CPU, memoria principal y caché, tarjetas. etc.). El ordenador suele disponer de dos a cuatro conectores USB al que se pueden conectar directamente los dispositivos. Los dispositivos USB tienen dos conectores: uno de ellos para el cable que une el periférico al ordenador y otro al que se puede conectar el siguiente periférico (al estilo SCSI, veasé Apartado 5.3), formando una cadena. Existen varias versiones del bus USB que se describen a continuación : USB 1.0 0,19MB/s USB 1.5 1,5MB/s USB 2.0 60MB/s USB 3.0 600MB/s 5.3.3. LAS PC CARDS (PCMCIA) Son dispositivos extraíbles, con un tamaño aproximado de una tarjeta de crédito, que se pueden utilizar en muchos ordenadores portátiles y en algunos de sobremesa. Este tipo de tarjetas puede contener en ese reducido tamaño casi cualquier elemento principal o periférico: memoria, disco, tarjeta de sonido, etcétera. La mayoría de estas tarjetas puede insertarse y extraerse del ordenador sin necesidad de apagar ni reinicializar el ordenador y éste los detecta y activa inmediata y automáticamente. Su conector es de 68 patillas y en la actualidad existen tres tipos de tarjetas, que dependen del grosor Las tarjetas del tipo III son las más gruesas y admiten, también, tarjetas del tipo 1 y del tipo II. Las del tipo II admiten de tipo 1, que son las más estrechas. Este tipo de tarjetas parece que está desapareciendo, aprovechando la gran velocidad de los dispositivos USB, etc. 5.3.4. CONTROLADORAS DE DISCOS. Los avances en la tecnología de discos duros se pueden definir en particular con cuatro nombres, que describen cuatro familias de controladoras que se emplean en el ámbito del ordenador personal: ST506, ESDI, SCSI e IDE, SATA. Ya que de la controladora no sólo depende el formato en que se guardan los datos en el disco duro, sino la tasa de transferencia entre el ordenador y el disco duro. Finalmente, la controladora es la responsable de la capacidad de un disco duro, y de su velocidad, ya que un disco duro más rápido no sirve de nada, cuando la controladora no aguanta la velocidad. Las tasas de transferencia de datos máximas, que se pueden alcanzar con las diferentes controladoras se muestran en la Tabla 5.1. Sin embargo es importante notar que estos son valores máximos teóricos, que se alcanzan con poca frecuencia y que en la realidad dependen de toda una serie de otros factores, ya que en el camino de las informaciones del disco duro a la pantalla (por ejemplo al cargar un documento de texto) se ha de pasar por (aparte de la controladora y el BIOS) la aplicación en sí, y posiblemente por algunos programas residentes en memoria (antivirus, por ejemplo). Al fin y al cabo está el bus, que limita la velocidad de las controladoras de disco duro, ya que sigue trabajando a una velocidad que es inferior a la del procesador que se utiliza. Por lo general el bus trabaja a 66Mhz,100Mhz, y en la actualidad existen muchos a 133MHz. Los valores indicados se reducen rápidamente, en algún caso concreto de carga de archivos, a menos de una quinta parte. Controladora Tasa de transferencia máxima ST506 1 MB por segundo ESDI 2,5 MB por segundo IDE 4 MB por segundo SCSI 1 5 MB por segundo SCSI 2 16 MB por segundo SCSI 3 (Ultra/UltraWide/Ultra 2) 20/40/80 MB por segundo ATA 100 MB por segundo (UltraDMA 5) PATA 133 MB por segundo (UltraDMA 6) SATA I 150 MB/s SATA II 300 MB/s SATA III 600 MB/s Tabla 5.1 Página 23 En los siguientes apartados se presentan las diferentes controladoras de disco duro. 5.3.4.1. CONTROLADORA ST506. Los primeros discos duros que encontraron aplicación en el ámbito del ordenador personal PC, se desarrollaron para el trabajo con las controladoras ST506 o compatibles. Esta controladora procede de la casa Seagate, que aún hoy juega un papel importante como fabricante de discos duros en el negocio de los ordenadores personales. La controladora ST506 ha fijado varios estándares en referencia al control del hardware gracias a su gran difusión, a lo que también ha aportado la predisposición unilateral del BIOS a este tipo de controladora. Las consecuencias se pueden notar aún hoy, y se han encargado por ejemplo, de que las controladoras IDE y ESDI sean compatibles en diferentes aspectos con las controladoras ST506 (y deben serlo). 5.3.4.2. CONTROLADORAS ESDI. Después de la controladora ST506 vino primero la ESDI, la Enhanced Small Devices Interface o Interfaz para pequeños dispositivos mejorado, a la que apostó sobre todo IBM con sus modelos PS/2. En muchos aspectos representa un desarrollo del estándar ST506, sin que se haya cambiado por ejemplo el interfaz de programación. Por ello se pueden utilizar los discos ESDI sin problemas con ordenadores en los que el BIOS fue programado simplemente para controladoras ST506. 5.3.4.3. SCSI. El estándar SCSI (pronunciado escasi) no sólo pone a disposición un interfaz dedicado para el disco duro, sino para poder conectar hasta ocho dispositivos totalmente diferentes, ya que aparte de discos duros, también se ofrecen unidades Zip o magneto-ópticas, unidades CD-ROM o escáner, que están preparados para este interfaz. A diferencia de los estándares de controladora actuales, el Small Computer System Interfaz no sólo se encuentra en el ámbito del PC, sino también en muchos sistemas 68000 (Mac. Atari ST) y Workstations (estaciones de trabajo). Su mérito está en que desacoplan los dispositivos conectados del ordenador en sí, ya que los dispositivos se comunican con la controladora mediante un bus de sistema propio, que se separa del Bus del PC. Ya no sólo la ocupación de líneas del Bus SCSI está estandarizada, sino también los comandos que se envían a través de él a los dispositivos; los dispositivos SCSI se pueden intercambiar libremente entre diferentes sistemas. y sólo la controladora SCSI en sí ha de estar adaptada al sistema en que se encuentra. Tipos de SCSI : SCSI 1 : 8 bits, 5 Mbps, conector 50 pines, 7 m longitud máxima y 7 dispositivos máximo. SCSI 2 Fast : 8 bits, 10 Mbps, conector 50 pines, 3 m longitud máxima y 7 dispositivos máximo. SCSI 2 Wide : 16 bits, 10 Mbps, conector 68 pines, 3 m longitud máxima y 16 dispositivos máximo. SCSI 3.1 Ultra : 16 bits, 20 Mbps, conector 34 pines, 10 cm longitud máxima y 15 dispositivos máximo. SCSI 3.1 Ultra Wide : 16 bits, 40 Mbps, conector 68 pines, 1,5 m longitud máxima y 15 dispositivos máximo. SCSI 3.1 Ultra 2 : 16 bits, 80 Mbps, conector 34 pines, 10 cm longitud máxima y 15 dispositivos máximo. SCSI 3.2 : Firewire (IEEE 1394) SCSI 3.3 : SSA (Serial Storage Arquitecture) SCSI 3.4 : FC-AL (Fiber Channel Arbitrared Loop) Usa cables de fibra óptica (hasta 10km), o coaxial (hasta 24m), con una velocidad máxima de 100 MBps. 5.3.4.4. IDE. La estrella entre las controladoras de disco duro es sin duda el interfaz IDE (Intelligent Drive Electronics), que hoy se puede encontrar en casi cualquier ordenador algo antiguo. El desarrollo de este estándar se remonta sólo al año 1984, cuando el fabricante de PC Compaq le encargó al especialista de discos duros Western Digital el desarrollo de una controladora compatible ST506, que, a causa de la falta de espacio, tuviera la electrónica de control directamente en el disco duro. Así hemos llegado hasta hoy, y en realidad, la unión de la controladora a la unidad de disco es la característica más destacable de los discos IDE. Así que, el que compre un disco IDE, ya está comprando directamente la controladora. Esta es también la razón por la cual en los discos IDE no se necesitan líneas de datos y de control separadas, sino simplemente un cable de 40 polos, que se une directamente al bus del sistema. Además de ello, los discos IDE se caracterizan, en comparación con otros conjuntos de disco-controladora, por un consumo muy bajo, lo que la hace ideal para ser utilizada en ordenadores portátiles y de tipo agenda. Especialmente para el trabajo con estos sistemas, muchos discos IDE reconocen comandos especiales, que los conmutan a un estado de hibernación (stand-by), con lo que se reduce aún más el consumo de corriente. Estos comandos normalmente sólo se pueden utilizar en conexión con controladores especiales o con un BIOS, que esté diseñado especialmente para el trabajo conjunto con discos IDE. Ya que desde el punto de vista del BIOS, los discos IDE se comportan como controladoras normales ST-506, lo que hace mucho más sencilla la integración de estos discos en sistemas existentes. Página 24 Hoy en día se está definiendo un estándar único para discos IDE, que en un futuro hará posible un soporte directo de discos IDE con muchos sistemas de BIOS. Entonces se podrán utilizar mejor las posibilidades ampliadas de estos discos, que hoy por hoy no se utilizan en muchos de los sistemas. Los términos IDE (Integrated device Electronics), enhanced IDE (EIDE) y ATA (hoy en día PATA) se han usado como sinónimos ya que generalmente eran compatibles entre sí. Por otro lado, aunque hasta el 2003 se utilizó el término ATA, con la introducción del Serial ATA se le acuñó el retronimo Parallel ATA. Existen diferentes versiones con diferentes velocidades que llegan hasta los 166MBps. 5.3.4.5. SATA o Serial ATA. Es una interfaz de transmisión de datos entre la placa base y algunos dispositivos de almacenamiento, como pueden ser Discos duros, lectores y regrabadores de CD/DVD/BR (BlueRay), unidades de estado sólido y dispositivos de altas prestaciones que se están desarrollando. Actualmente está en todas las placas de ordenador, y también han pasado junto al conector USB a formar parte de portátiles para conexión de periféricos externos de alta velocidad. Las velocidades de los dispositivos SATA son las siguientes : SATA 150 MB/seg 1500MHz 8 bits/byte SATA II 300 MB/seg 3000MHz 8 bits/byte SATA III 600 MB/seg 6000MHz 8 bits/byte La topología SATA es una arquitectura "punto a punto". Es decir, la conexión entre puerto y dispositivo es directa, cada dispositivo se conecta directamente a un controlador SATA, así, cada dispositivo disfruta la totalidad del ancho de banda, de la conexión, sin que exista la sobrecarga inherente a los mecanismos de arbitraje y detección de colisiones como sucedía en los viejos PATA que las interfaces se segmentaban en maestras y esclavas. El controlador host se encuentra embebido en la placa-base o instalado como una tarjeta en uno de sus zócalos, que actúa como puente entre los datos paralelos del bus y el dispositivo SATA. Existen controladores con más de una salida (generalmente 4 u 8) de forma que pueden conectarse varios dispositivos. También se han diseñado multiplicadores de puerto que permiten aumentar el número de conexiones en un puerto del controlador, con el fin de aumentar el número de dispositivos conectados. Además de la tarea de serializar/paralelizar los datos, una parte importante del trabajo del controlador está relacionada con los protocolos de conexión y desconexión del periférico, que son bastante sofisticados en este tipo de interfaz, ya que está prevista la capacidad de conexión en caliente. El protocolo de conexión es capaz de identificar el tipo de dispositivo conectado; detectar si funciona correctamente; negociar la velocidad de la conexión, etc. La interfaz Serial ATA guarda ciertas similitudes con la interfaz USB, aunque SATA es mucho más rápida que aquella, y los dispositivos no se alimentan del propio bus. 5.3.5. El bus AGP Accelerated Graphics Port o AGP (en español "Puerto de Gráficos Acelerados") es un puerto (puesto que sólo se puede conectar un dispositivo, mientras que en el bus se pueden conectar varios) desarrollado por Intel en 1996 como solución a los cuellos de botella que se producían en las tarjetas gráficas que usaban el bus PCI. El diseño parte de las especificaciones del PCI 2.1. El puerto AGP es de 32 bits como PCI pero cuenta con notables diferencias como 8 canales más adicionales para acceso a la memoria de acceso aleatorio (RAM). Además puede acceder directamente a esta a través del puente norte pudiendo emular así memoria de vídeo en la RAM. La velocidad del bus es de 66 MHz. El bus AGP cuenta con diferentes modos de funcionamiento. • • • • AGP 1X: velocidad 66 MHz con una tasa de transferencia de 266 MB/s y funcionando a un voltaje de 3,3V. AGP 2X: velocidad 133 MHz con una tasa de transferencia de 532 MB/s y funcionando a un voltaje de 3,3V. AGP 4X: velocidad 266 MHz con una tasa de transferencia de 1 GB/s y funcionando a un voltaje de 3,3 o 1,5V para adaptarse a los diseños de las tarjetas gráficas. AGP 8X: velocidad 533 MHz con una tasa de transferencia de 2 GB/s y funcionando a un voltaje de 0,7V o 1,5V. Estas tasas de transferencias se consiguen aprovechando los ciclos de reloj del bus mediante un multiplicador pero sin Página 25 modificarlos físicamente.. El puerto AGP se utiliza exclusivamente para conectar tarjetas gráficas, y debido a su arquitectura sólo puede haber una ranura. Dicha ranura mide unos 8 cm y se encuentra a un lado de las ranuras PCI. A partir de 2006, el uso del puerto AGP ha ido disminuyendo con la aparición de una nueva evolución conocida como PCI-Express, que proporciona mayores prestaciones en cuanto a frecuencia y ancho de banda. Así, los principales fabricantes de tarjetas gráficas, como ATI y nVIDIA, han ido presentando cada vez menos productos para este puerto. Página 26 5.4. ARRANQUE DEL ORDENADOR CON DOS. DOS se compone de diferentes componentes., que son responsables de determinadas zonas funcionales de este sistema. Las tres partes más importantes son el BIOS del DOS (no confundir con el ROM-BIOS), el núcleo del DOS y el procesador de comandos, que ya se encuentran separados físicamente, porque se guardan en archivos distintos. 5.4.1. El BIOS DEL DOS El BIOS del DOS se encuentra en un archivo, que en el DOS de IBM se llama IBMIO.SYS, y que en MS-DOS se llama IO.SYS. Este archivo se encuentra en todos los PC como primer archivo en el directorio raíz del disco de arranque y no es visible para el usuario. Contiene los controladores de dispositivos para los siguientes dispositivos : Nombre Controla CON Teclado y pantalla PRN Impresora AUX Puertos serie NUL Dispositivo ficticio $CLOCK Reloj DISK Disquete y disco duro Tabla 5.2. Cuando el DOS se quiere comunicar con uno de estos dispositivos, utiliza los controladores de dispositivos contenidos en este módulo, que a su vez emplean las rutinas del ROMBIOS. 5.4.2. EL NÚCLEO DEL DOS. El núcleo del DOS, el llamado Kernel, se encuentra en el archivo IBMDOS.SYS (en el IBM-DOS) o MSDOS.SYS (en MS-DOS). Se encuentra inmediatamente después del archivo IMBIO.SYS o IO.SYS en el directorio raíz de la unidad de arranque. Al igual que su predecesor normalmente no es visible para el usuario, ya que lleva los atributos de archivo SYSTEM y HIDDEN. Y naturalmente -al igual que su predecesor- no se puede borrar, porque además se marcó con el atributo READONLY. En este archivo se encuentran las innumerables funciones del DOS-API. que se pueden alcanzar a través de la interrupción 21h, pero aquí también se realiza la gestión interna completa, que es opaca para el programador y el usuario. Todas las rutinas están formuladas de forma independiente del hardware, y utilizan, para el acceso a otros dispositivos, como teclado, pantalla y disquete, los controladores de dispositivos del BIOS del DOS. Por esta razón, este módulo no se ha de adaptar al hardware de los diferentes ordenadores. 5.4.3. EL PROCESADOR DE COMANDOS. Al contrario que en el caso de los dos módulos presentados hasta ahora, el procesador de comandos del DOS, el llamado SHELL, se encuentra en un archivo visible, con el nombre COMMAND.COM. Este es el programa que se llama automáticamente durante el arranque del ordenador, que lleva el prompt (apuntador, literalmente) del DOS A> o C> a la pantalla, y que toma las entradas del usuario. Como representa el único componente visible del DOS. muchos usuarios lo consideran erróneamente como el sistema operativo en sí. En realidad es sólo un programa normal, que funciona bajo el control del DOS. El procesador de comandos no es sin embargo un bloque monolítico, sino que se encuentra dividido en tres módulos, una parte residente, una parte transiente y la rutina de inicialización. - La parte residente, es decir, la parte que se queda constantemente en la memoria del ordenador; contiene diferentes controladores de interrupciones del DOS, y por ello queda claro por qué esta parte se ha de quedar siempre en memoria, ya que de lo contrario, el sistema se quedaría colgado como muy tarde durante la llamada de la siguiente interrupción de hardware, cuyo controlador de interrupciones se encuentra en esta parte. - La parte transiente contiene el código de programa para la salida del indicador del sistema, para leer las entradas de usuario del teclado y su ejecución. Este módulo debe su nombre al hecho de que puede ser sobreescrito por programas de usuario, ya que se encuentra en la parte superior de la memoria, por encima de estos programas. Pero esto no importa, ya que la ejecución del programa, después de la finalización de un programa de usuario, se vuelve a pasar a la parte residente. Este comprueba si la parte transiente fue sobreescrita, y la vuelve a cargar de la unidad de arranque, si éste fuera el caso. - La parte de inicialización se carga durante el arranque del sistema y acoge la tarea de inicializar el sistema DOS. Página 27 Cuando finaliza su trabajo, ya no se necesita, y la memoria RAM ocupada por ella se puede sobreescribir por otro programa. 5.4.4. EVALUACIÓN DE LAS ENTRADAS DE USUARIO. Los comandos, que toma el procesador de comandos, se dividen en tres grupos : comandos internos, comandos externos y archivos batch. Los primeros son comandos cuyo código de programa se encuentra en la parte transiente del procesador de comandos. Ejemplos para esta categoría de comandos son los comandos COPY. REM y DIR. Al llamar estos comandos, el procesador no ha de llamar a ningún programa, sino que ejecuta estos comandos como subprogramas en la memoria. Al contrario de estos comandos, los comandos externos no son parte de procesador de comandos y por ello se encuentran grabados en un archivo de programa en disquete y disco duro. Antes de su ejecución se han de cargar en la memoria. Son ejemplos los comandos FORMAT y CHKDSK. Después de su ejecución, la memoria RAM que ocupan, se libera para la utilización por otros programas, y por ello puede ser sobreescrita. En un archivo batch (proceso por lotes), que es un archivo de texto, se encuentran nombres de archivos ejecutables o comandos del DOS. Si el usuario introduce el nombre de uno de estos archivos, se carga y se ejecuta por el llamado intérprete batch que se encuentra en la parte transiente del procesador de comandos. Cada línea leída se trata como si el usuario la hubiera tecleado directamente con ayuda de la línea de comandos del DOS. El archivo batch más conocido es seguramente el archivo AUTOEXEC.BAT, que se carga por el DOS inmediatamente después de su arranque, ejecutándola a continuación. Al igual que en la introducción manual de comandos, la entrada se analiza primero, para ver si se trata de un comando DOS interno o externo, o si es uno de los diferentes comandos batch, que sólo se pueden especificar en archivos batch. Si se trata de un comando DOS interno, se puede ejecutar inmediatamente, ya que su código ya se encuentra en la memoria. Si es lo contrario, se trata de un comando externo, y primero se busca en el directorio actual un chivo con el nombre especificado. Si en este directorio no existe un archivo así, se busca por orden en los directorios que se han determinado adicionalmente mediante el comando PATH. Durante la búsqueda sólo se tienen en cuenta los archivos con las extensiones .COM. .EXE o .BAT. Como el procesador del comandos no puede buscar las tres extensiones simultáneamente, se buscan primero los archivos COM, después los EXE y finalmente los BAT. Si la búsqueda continúa siendo infructuosa, se da un mensaje de error en la pantalla, y se esperan nuevas entradas. 5.5. ARRANQUE DEL ORDENADOR CON LINUX. El Proceso de arranque en Linux es el proceso de inicialización del Sistema Operativo Linux. Es en muchos aspectos similar a los procesos de arranque de BSD y otros sistemas Unix, de los cuales deriva. 5.5.1. DESCRIPCIÓN GENERAL DEL PROCESO TÍPICO. En Linux, el flujo de control durante el arranque es desde el BIOS , al gestor de arranque y al núcleo (kernel). El núcleo inicia el planificador (para permitir la multitarea) y ejecuta el primer espacio de usuario (es decir, fuera del espacio del núcleo) y el programa de inicialización (que establece el entorno de usuario y permite la interacción del usuario y el inicio de sesión), momento en el que el núcleo se inactiva hasta que sea llamado externamente. La etapa del cargador de arranque no es totalmente necesaria. Determinadas BIOS pueden cargar y pasar el control a Linux sin hacer uso del cargador. Cada proceso de arranque será diferente dependiendo de la arquitectura del procesador y el BIOS. 1. El BIOS realiza las tareas de inicio específicas de la plataforma de hardware. 2. Una vez que el hardware es reconocido y se inicia correctamente, el BIOS carga y ejecuta el código de la partición de arranque del dispositivo de arranque designado, que contiene la fase 1 de un gestor de arranque Linux. La fase 1 carga la fase 2 (la mayor parte del código del gestor de arranque). Algunos cargadores pueden utilizar una fase intermedia (conocida como la fase 1.5) para lograr esto, ya que los modernos discos de gran tamaño no pueden ser totalmente leídos sin código adicional. 3. El gestor de arranque a menudo presenta al usuario un menú de opciones posibles de arranque. A continuación, carga el sistema operativo, que descomprime en la memoria, y establece las funciones del sistema como del hardware esencial y la paginación de memoria, antes de llamar a la función start_kernel(). 4. La función start_kernel() a continuación realiza la mayor parte de la configuración del sistema (interrupciones, el resto de la gestión de memoria, la inicialización del dispositivo, controladores, etc), antes de continuar por separado el proceso inactivo y planificador, y el proceso de Init (que se ejecuta en el espacio de usuario). 5. El planificador toma control efectivo de la gestión del sistema, y el núcleo queda dormido (inactivo). 6. El proceso Init ejecuta secuencias de comandos (Scripts) necesarios para configurar todos los servicios y estructuras Página 28 que no sean del sistema operativo, a fin de permitir que el entorno de usuario sea creado y pueda presentarse al usuario con una pantalla de inicio de sesión. En el apagado, Init es llamado a cerrar toda las funcionalidades del espacio de usuario de una manera controlada, de nuevo a través de secuencias de comandos, tras lo cual el Init termina y el núcleo ejecuta el apagado. 5.5.2. ESPACIO DE USUARIO TEMPRANO. El espacio de usuario temprano se utiliza en las versiones más recientes del kernel de Linux para sustituir tantas funciones como sea posible que originalmente se harían en el núcleo durante el proceso de inicio. Los usos típicos del espacio de usuario temprano son para detectar que controladores de dispositivos (Drivers) son necesarios para cargar el sistema de archivos del espacio de usuario principal y cargarlos desde un sistema de archivos temporal. 5.5.3. FASE DEL CARGADOR DE ARRANQUE. Un cargador de arranque (boot loader en inglés) es un programa diseñado exclusivamente para cargar un sistema operativo en memoria. La etapa del cargador de arranque es diferente de una plataforma a otra. Como en la mayoría de arquitecturas este programa se encuentra en el MBR, el cual es de 512 bytes, este espacio no es suficiente para cargar en su totalidad un sistema operativo. Por eso, el cargador de arranque consta de varias etapas. Las primeras operaciones las realiza el BIOS. En esta etapa se realizan operaciones básicas de hardware. En esta primera etapa se localiza el sector de arranque (o MBR) y se carga el cargador de este sector (normalmente una parte de LILO o GRUB). A partir de ese momento, el proceso de arranque continúa de la siguiente manera : La primera etapa del cargador de arranque carga el resto del gestor de arranque, que normalmente da un mensaje que pregunta que sistema operativo (o tipo de sesión) el usuario desea inicializar. Bajo LILO, esto se hace a través del mapa instalado que lee el archivo de configuración /etc/lilo.conf para identificar los sistemas disponibles. Incluye datos como la partición de arranque y la localización del kernel para cada uno, así como las opciones personalizadas en su caso. El sistema operativo seleccionado es cargado en la memoria RAM, un sistema de archivos mínimo inicial se establece en la memoria RAM desde un archivo de imagen (" initrd "), y junto con los parámetros adecuados, el control se pasa al sistema operativo activado recientemente. LILO y GRUB difieren en algunos aspectos : • LILO no entiende los sistemas de archivos, por lo que utiliza desplazamientos de disco sin procesar y el BIOS para cargar los datos. Se carga el código del menú y, a continuación, en función de la respuesta, carga, o el sector MBR del disco de 512 bytes como en Microsoft Windows, o la imagen del kernel de Linux. • GRUB por el contrario comprende los sistemas de archivos comunes ext2 , ext3 y ext4. Debido a que GRUB almacena sus datos en un archivo de configuración en vez de en el MBR y a que contiene un interfaz de línea de comandos, a menudo es más fácil rectificar o modificar GRUB si está mal configurado o corrupto. 5.5.4. GRUB. GRUB se carga y se ejecuta en 4 etapas : 1. La primera etapa del cargador la lee el BIOS desde el MBR. 2. La primera etapa carga el resto del gestor de arranque (segunda etapa). Si la segunda etapa está en una unidad grande, en ocasiones se carga una fase intermedia 1.5, que contiene código adicional para permitir que los cilindros por encima de 1024, o unidades tipo LBA, puedan leerse. El gestor de arranque 1.5 es almacenado (si es necesario) en el MBR o en la partición de arranque. 3. La segunda etapa del gestor de arranque ejecuta y muestra el menú de inicio de GRUB que permite al usuario elegir un sistema operativo y examinar y modificar los parámetros de inicio. 4. Después de elegir un sistema operativo, se carga y se le pasa el control. GRUB soporta métodos de arranque directo, arranque chain-loading, LBA, ext2, ext3, ext4 y hasta "un pre-sistema operativo en máquinas x86 totalmente basado en comandos". Contiene tres interfaces: un menú de selección, un editor de configuración, y una consola de línea de comandos. 5.5.5. LILO LILO es más antiguo. Es casi idéntico a GRUB en su proceso, excepto que no contiene una interfaz de línea de comandos. Por lo tanto todos los cambios en su configuración deben ser escritos en el MBR y luego reiniciar el sistema. Un error en la configuración puede dejar el disco inservible para el proceso de arranque hasta tal grado, que sea necesario usar otro dispositivo (disquete, etc) que contenga un programa capaz de arreglar el error. Además, no entiende el sistema de archivos. En su lugar, la ubicación de los archivos de imagen se almacenan directamente en el MBR y el BIOS se utiliza para acceder a ellos directamente. Página 29 5.5.6. Loadlin Otra forma de cargar Linux es desde DOS o Windows 9x, donde el núcleo de Linux reemplaza completamente la copia de funcionamiento de estos sistemas operativos. Esto puede ser útil en el caso de hardware que necesita ser conectado a través del software y la configuración de estos programas sólo está disponible para DOS y no para Linux, debido a cuestiones de secretos industriales y código propietario. Sin embargo, esta tediosa forma de arranque ya no es necesaria en la actualidad ya que Linux tiene drivers para multitud de dispositivos hardware. Aun así, esto era muy útil en el pasado. Otro caso es cuando Linux se encuentra en un dispositivo que el BIOS no lo tiene disponible para el arranque. Entonces, DOS o Windows pueden cargar el driver apropiado para el dispositivo superando dicha limitación del BIOS, y cargar Linux desde allí. 5.5.7. Fase del kernel El kernel de Linux se encarga de todos los procesos del sistema operativo, como la gestión de memoria, planificador de tareas, I/O, comunicación entre procesos, y el control general del sistema. Este se carga en dos etapa : en la primera etapa el kernel (como un archivo imagen comprimido) se carga y se descomprime en memoria, y algunas funciones fundamentales como la gestión de memoria de base se establecen. El control entonces se cambia a la etapa final para iniciar el kernel principal. Una vez que el núcleo está en pleno funcionamiento - y como parte de su puesta en marcha, después de ser cargado y ejecutado - el kernel busca un proceso de inicio para ejecutar, que (separadamente) fija un espacio de usuario y los procesos necesarios para un entorno de usuario y ultimar la entrada . Al núcleo en sí entonces se le permite pasar a inactivo, sujeto a las llamadas de otros procesos. 5.5.8. Fase de carga del kernel El kernel es cargado normalmente como un archivo imagen, comprimido dentro de otro con zlib como zImage o bzImage. Contiene una cabecera de programa que hace una cantidad mínima de instalación del hardware, descomprime la imagen completamente en la memoria alta , teniendo en cuenta cualquier disco RAM si está configurado. A continuación, lleva a cabo su ejecución. Esto se realiza llamando la función startup del kernel (en los procesadores x86) a través de la función startup_32() del archivo /arch/i386/boot/head). 5.5.9. Fase de inicio del kernel La función de arranque para el kernel (también llamado intercambiador o proceso 0) establece la gestión de memoria (tablas de paginación y paginación de memoria), detecta el tipo de CPU y cualquier funcionalidad adicional como capacidades de punto flotante, y después cambia a las funcionalidades del kernel para arquitectura no específicas de Linux, a través de una llamada a la función start_kernel(). start_kernel ejecuta una amplia gama de funciones de inicialización. Establece el manejo de interrupciones (IRQ), configura memoria adicional, comienza el proceso de inicialización (procesa el espacio del primer usuario), y luego comienza la tarea inactiva a través de cpu_idle(). En particular, el proceso de inicio del kernel también monta el disco RAM inicial ("initrd") que se ha cargado anteriormente como el sistema raíz temporal durante la fase de arranque. Esto permite que los módulos controladores se carguen sin depender de otros dispositivos físicos y drivers y mantiene el kernel más pequeño. El sistema de archivos raíz es cambiado más tarde a través de la llamada a pivot_root(), que desmonta el sistema de archivos temporal y lo reemplaza por el real una vez que éste sea accesible. La memoria utilizada por el sistema de archivos temporal es entonces recuperada. Por lo tanto, el núcleo inicializa los dispositivos, monta el sistema de archivos raíz especificado por el gestor de arranque como de sólo lectura , y se ejecuta Init (/sbin/init), que es designado como el primer proceso ejecutado por el sistema (PID=1). También puede ejecutar opcionalmente initrd para permitir instalar y cargar dispositivos relacionados (disco RAM o similar), para ser manipulados antes de que el sistema de archivos raíz está montado. En este punto, con las interrupciones habilitadas, el programador puede tomar el control de la gestión general del sistema, para proporcionar multitarea preventiva, e iniciar el proceso para continuar con la carga del entorno de usuario en el espacio de usuario. 5.5.10. El proceso de inicio El trabajo de Init es "conseguir que todo funcione como debe ser" una vez que el kernel está totalmente en funcionamiento. En esencia, establece y opera todo el espacio de usuario. Esto incluye la comprobación y montaje de sistemas de archivos, la puesta en marcha los servicios de usuario necesarios y, en última instancia, cambiar al entorno de usuario cuando el inicio del sistema se ha completado. Es similar a los procesos Init de Unix y BSD, de la que deriva, pero en algunos casos se ha apartado o se hicieron a la medida. En un sistema Linux estándar, Init se ejecuta con un parámetro, conocido como nivel de ejecución, que tiene un valor entre 1 y 6, y que determina que subsistemas pueden ser operacionales. Cada nivel de Página 30 ejecución tiene sus propios scripts que codifican los diferentes procesos involucrados en la creación o salida del nivel de ejecución determinado, y son estas secuencias de comandos los necesarios en el proceso de arranque. Los scripts de Init se localizan normalmente en directorios con nombres como "/etc/rc...". El archivo de configuración de más alto nivel para Init es /etc/inittab. Durante el arranque del sistema, se verifica si existe un nivel de ejecución predeterminado en el archivo /etc/inittab, si no, se debe introducir por medio de la consola del sistema. Después se procede a ejecutar todos los scripts relativos al nivel de ejecución especificado. Después de que se han dado lugar todos los procesos especificados, Init se aletarga, y espera a que uno de estos tres eventos sucedan:- que procesos comenzados finalicen o mueran; un fallo de la señal de potencia (energía); o una petición a través de /sbin/telinit para cambiar el nivel de ejecución. Página 31