Vous êtes sur la page 1sur 12

1.

1 Introduccin Los computadores nos han llevado a una tercera revolucin de la civilizacin, la revolucin de la informacin, que se sita a la par de las revoluciones agrcola e industrial. El resultado de la multiplicacin de la potencia y el alcance intelectual de la humanidad ha afectado profundamente a nuestras vidas cotidianas y tambin ha cambiado la manera de obtener nuevos conocimientos. Hay ahora una nueva forma de investigacin cientfica, en la cual cientficos informticos trabajan junto a cientficos tericos y experimentales en la exploracin de nuevas fronteras en astronoma, biologa, qumica y fsica entre otras. La revolucin de los computadores contina. Cada vez que el coste de la computacin se mejora en un factor 10, las oportunidades para los computadores se multiplican. Aplicaciones que eran econmicamente inviables repentinamente se convierten en factibles. Hasta hace muy poco, las siguientes aplicaciones eran ciencia ficcin computacional. Computadores en los coches: hasta que los microprocesadores mejoraron drsticamente en precio y prestaciones a principios de la dcada de 1980, el control por computador en los coches era risible. Hoy en da los computadores reducen la contaminacin y mejoran las prestaciones del combustible va controles en el motor, y tambin mejoran la seguridad al prevenir peligrosos patinazos e inflando los air bags para proteger a los ocupantes en caso de colisin. Telfonos porttiles: quin habra podido soar que los avances en sistemas de computacin llevaran al desarrollo de telfonos mviles, permitiendo una comunicacin persona-a-persona casi en cualquier parte del mundo? Proyecto genoma humano: el coste del equipamiento informtico para cartografiar y analizar las secuencias del ADN humano es de centenares de millones de dlares. Es improbable que alguien hubiese considerado este proyecto si los costes de los computadores hubiesen sido entre 10 y 100 veces mayores, tal y como eran hace 10 o 20 aos. Adems, el coste contina bajando; podramos ser capaces de adquirir nuestro propio genoma, permitiendo que los cuidados mdicos se adapten a nosotros. World Wide Web (La telaraa mundial): la World Wide Web, que no exista en la primera edicin de este libro, ha cambiado nuestra sociedad. Para muchos, la www ha reemplazado a las bibliotecas. Motores de bsqueda: Dado que el contenido de la WWW ha crecido en tamao y valor, encontrar informacin relevante es cada vez ms importante. En la actualidad, mucha gente confa tanto en los motores de bsqueda que se veran en apuros si no pudiesen utilizarlos.

Claramente, los avances en esta tecnologa influyen hoy en da en casi todos los aspectos de nuestra sociedad. Los avances en el hardware han permitido a los programadores crear programas maravillosamente tiles, y explican por qu los computadores son omnipresentes. Lo que hoy es ciencia ficcin, sern las aplicaciones normales en el futuro: ya hay mundos virtuales, reconocimiento de voz y asistencia mdica personalizada.

Tipos de aplicaciones de computador y sus caractersticas Aunque se usan un conjunto comn de tecnologas hardware que van desde los electrodomsticos caseros inteligentes a los telfonos mviles o celulares o los mayores supercomputadores, estas aplicaciones diferentes tienen diversos requerimientos de diseo y utilizan las tecnologas hardware de manera diferente. Grosso modo, los computadores se utilizan en tres clases diferentes de aplicaciones. Los computadores de sobremesa son posiblemente la forma ms conocida de computacin y estn representados por el computador personal, que muchos lectores de este libro habrn usado extensamente. Los computadores de sobremesa se caracterizan por dar buenas prestaciones a bajo coste a nico usuario, y a menudo se usan para ejecutar programas de terceros, tambin llamado software estndar. La evolucin de muchas tecnologas es impulsada por este tipo de computadores, que slo tiene 30 aos de antigedad! Los servidores son la versin moderna de lo que fueron los computadores centrales, los minicomputadores y los supercomputadores, y generalmente solo se accede a ellos va una red. Los servidores estn pensados para soportar grandes cargas de trabajo, que pueden consistir en una nica aplicacin compleja, generalmente cientfica o de ingeniera, o en muchos trabajos pequeos, como ocurre en un servidor Web. Estas aplicaciones estn basadas en programas de otras fuentes (tales como una base de datos o un sistema de simulacin), pero frecuentemente se modifican o adaptan a una funcin concreta. Los servidores se construyen con la misma tecnologa bsica que los computadores de sobremesa, pero permiten una mayor ampliacin de su capacidad tanto de computacin como de entrada/salida. En general, los servidores tambin ponen gran nfasis en la confiabilidad, puesto que un fallo es generalmente ms costoso que en un computador de sobremesa de un nico usuario. Los servidores abarcan la mayor gama de costes y capacidades. En el extremo ms bajo, un servidor puede ser un poco ms que una mquina de sobremesa sin pantalla ni teclado y con un coste un poco mayor. Estos servidores de gama baja se usan tpicamente para almacenar archivos o ejecutar pequeas aplicaciones de empresas o un servicio web sencillo. En el otro extremo estn los supercomputadores, que en la actualidad disponen de cientos de miles de procesadores, y generalmente terabytes de memoria y petabytes de almacenamiento, y cuestan de millones a cientos de millones de dlares. Los supercomputadores se utilizan para clculos cientficos y de ingeniera de alta calidad, tales como prediccin del clima, prospeccin petrolfera, determinacin de la estructura de protenas, y otros problemas de gran envergadura. Aunque estos supercomputadores representan el pico de la capacidad de computacin, en trminos relativos constituyen una pequea fraccin del nmero total de servidores y

tambin del total del mercado de los computadores en trminos de facturacin. Aunque no se les llama supercomputadores, los centros de datos de internet utilizados por compaas como eBay y Google disponen tambin de miles de procesadores, terabytes de memoria y petabytes de almacenamiento. Habitualmente se consideran como grandes clsteres de computadores. Computador de sobremesa: computador diseado para un nico usuario, y que incorpora una pantalla, un teclado y un ratn. Servidor: computador que se utiliza para ejecutar grandes programas para muchos usuarios, a menudo simultneamente; generalmente slo se accede a l va un red. Supercomputador: computador con la capacidad de computacin y coste ms altos; se configuran como servidores y generalmente su coste es de millones de dlares. Terabyte: originalmente son 1 099 511 627 776 (240) bytes, aunque algunos sistemas de comunicaciones y de almacenamiento secundario lo han redefinido como 1 000 000 000 000 (1012) bytes. Petabyte: 1000 o 1024 terabytes. Centro de datos: una habitacin o edificio diseado con todo lo que se necesita para un nmero elevado de servidores: alimentacin y potencia elctrica, aire acondicionado y red.

Abstracciones y tecnologa de los computadores Los computadores empotrados constituyen la clase de computadores ms amplia y son los que tienen la gama ms amplia de aplicaciones y prestaciones. Los computadores empotrados incluyen los microprocesadores que se encuentran en los coches, los computadores de los telfonos mviles o de los computadores de los videojuegos o de los televisores digitales, y las redes de procesadores que controlan los aviones modernos o los barcos de carga. Los sistemas de computacin empotrada se disean para ejecutar una aplicacin o un conjunto de aplicaciones relacionadas, que normalmente estn integradas con el hardware y se proporcionan como un nico sistema; as, a pesar del gran nmero de computadores empotrados, muchos usuarios nunca ven realmente que estn usando un computador! Las aplicaciones empotradas a menudo tienen un nico requisito de aplicacin que combina unas prestaciones mnimas con fuertes limitaciones en coste o consumo de potencia. Por ejemplo, pensemos en un reproductor de msica: El procesador necesita solamente tener la velocidad suficiente para llevar a cabo esta funcin limitada, y a partir de aqu, los objetivos ms importantes son reducir el coste y el consumo de potencia. A pesar de su coste reducido, los computadores empotrados tienen a menudo menor tolerancia a fallos, porque las consecuencias de un fallo pueden variar desde ser molestas (cuando nuestra televisin nueva se estropea) a devastadoras (algo que puede ocurrir cuando falla el computador de un avin o de un barco de carga). En aplicaciones empotradas orientadas al

consumo, como por ejemplo electrodomsticos digitales, la funcionalidad se obtiene principalmente a travs de la sencillez; se intenta hacer una funcin tan perfectamente como sea posible. En grandes sistemas empotrados, se emplean a menudo tcnicas de redundancia desarrolladas para el mundo de los servidores.

Bajo los Programas


Una aplicacin tpica, tal como un procesador de textos o un gran sistema de base de datos, puede consistir de cientos de miles o millones de lneas de cdigo y depender de sofisticadas bibliotecas de software que implementan funciones complejas de soporte a la aplicacin. Tal y como veremos, el hardware de un computador slo puede ejecutar instrucciones extremadamente simples de bajo nivel. Para ir de una aplicacin compleja hasta las instrucciones simples se ven involucradas varias capas de software que interpretan o trasladan las operaciones de alto nivel en instrucciones simples del computador. Estas capas de software estn organizadas principalmente en forma jerrquica, donde las aplicaciones son el anillo ms externo y una variedad de software de sistemas se coloca entre el hardware y las aplicaciones software. Hay muchos tipos de software de sistemas, pero actualmente hay dos tipos que son fundamentales para todos los computadores: un sistema operativo y un compilador. Un sistema operativo interacta entre el programa del usuario y el hardware y proporciona una variedad de servicios y funciones de supervisin. Entre sus funciones ms importantes estn: manejo de las operaciones bsicas de entrada y salida asignacin de espacio de almacenamiento y de memoria facilitar la comparticin del computador entre mltiples aplicaciones simultneas

Ejemplos de sistemas operativos en uso hoy en da son Windows, Linux y MacOS. Los compiladores realizan otra funcin vital: la traduccin de un programa escrito en un lenguaje de alto nivel, como C, C++, Java o Visual Basic a instrucciones que el hardware puede ejecutar. Dada la sofisticacin de los modernos lenguajes de programacin y las instrucciones simples ejecutadas por el hardware, la traduccin desde un programa en un lenguaje de alto nivel a instrucciones hardware es compleja. Daremos una breve visin general del proceso. Del lenguaje de alto nivel al lenguaje del hardware Para hablar realmente a una mquina electrnica es necesario enviar seales elctricas. Las seales elctricas ms fciles de entender para las mquinas son encendido (on) y apagado

(off), y por lo tanto el alfabeto de la mquina tiene slo dos letras. Del mismo modo que las 26 letras del alfabeto ingls no limitan cunto se puede escribir, las dos letras del alfabeto de los computadores no limitan lo que los stos pueden hacer. Los dos smbolos para estas letras son los nmeros 0 y 1 y habitualmente pensamos en el lenguaje de las mquinas como nmeros en base 2, o nmeros binarios. Nos referimos a cada letra como dgito binario o bit.1 Los computadores son esclavos de nuestras rdenes. De ah que el nombre para una orden individual sea instruccin. Las instrucciones, que son simples colecciones de bits que el computador puede comprender, se pueden pensar como nmeros. Por ejemplo, los bits 1000110010100000 indican a un computador que sume dos nmeros. En el captulo 3 explicamos por qu usamos nmeros para instrucciones y datos; no queremos adelantar acontecimientos, pero el uso de nmeros tanto para las instrucciones como para los datos es de importancia capital para la informtica. Los primeros programadores se comunicaban con los computadores mediante nmeros binarios, pero eso era tan laborioso que rpidamente inventaron nuevas notaciones ms prximas a la forma de pensar de los humanos. Al principio estas notaciones se traducan a binario a mano, pero ese proceso an era fatigoso. Usando la propia mquina para ayudar a programar la mquina, los pioneros inventaron programas para traducir de notacin simblica a binario. El primero de estos programas fue llamado ensamblador. Este programa traduce la versin simblica de una instruccin a su versin binaria. Por ejemplo, el programador escribira add A, B y el ensamblador traducira esta notacin a 1000110010100000 Esta instruccin indica al computador que sume los nmeros A y B. El nombre acuado para este lenguaje simblico, an usado hoy en da, es lenguaje ensamblador. Por el contrario, el lenguaje binario que entiende el computador se llama lenguaje mquina. Aunque sea una enorme mejora, el lenguaje ensamblador todava queda muy lejos de la notacin que le gustara usar a un cientfico para simular el flujo de fluidos o la que podra usar un contable para hacer balance de sus cuentas. El lenguaje ensamblador requiere que el programador escriba una lnea para cada instruccin que desee que la mquina ejecute; por tanto, este lenguaje fuerza al programador a pensar como la mquina. El reconocimiento de que se poda escribir un programa para traducir un lenguaje ms potente a instrucciones del computador fue uno de los grandes avances en los primeros das de la computacin. Los programadores de hoy en da deben su productividad (y su cordura) a la creacin de los lenguajes de programacin de alto nivel y los compiladores que traducen los programas en tales lenguajes en instrucciones. Un compilador permiten que un programador escriba esta expresin en lenguaje de alto nivel: A+B El compilador compilara esto en esta sentencia de lenguaje ensamblador:

add A, B El ensamblador traducira esto en la instruccin binaria que indica al computador que sume los nmeros A y B. Los lenguajes de programacin de alto nivel ofrecen varias ventajas importantes. Primero, permiten al programador pensar en un lenguaje ms natural, usando palabras inglesas y notacin algebraica, dando lugar a programas con un aspecto mucho ms parecido a un texto que a una tabla de smbolos crpticos. Por otro lado, permiten que los lenguajes sean diseados de acuerdo con su intencin de uso. De este modo, el Fortran fue diseado para computacin cientfica, Cobol para el procesado de datos comerciales, Lisp para manipulacin simblica, etc. Hay tambin lenguajes de dominio especfico, incluso para pequeos grupos de usuarios, como por ejemplo los interesados en simulacin de fluidos. La segunda ventaja de los lenguajes de programacin es la mejora de la productividad del programador. Una de las pocas cuestiones con amplio consenso en el desarrollo de programas es que toma menos tiempo desarrollar programas cuando se escriben en lenguajes que requieren menos lneas para expresar una idea. La concisin es una ventaja clara de los lenguajes de alto nivel sobre el lenguaje ensamblador. La ventaja final es que los lenguajes de programacin permiten a los programas ser independientes del computador sobre el que se desarrollan, ya que los compiladores y ensambladores pueden traducir programas en lenguaje de alto nivel a las instrucciones binarias de cualquier mquina. Estas tres ventajas son tan decisivas que hoy en da se programa muy poco en lenguaje ensamblador.

Bajo la cubierta
Ahora que hemos mirado debajo de los programas para descubrir la programacin subyacente, abramos la cubierta del computador para aprender sobre la circuitera que hay debajo. El hardware de cualquier computador lleva a cabo las mismas funciones bsicas: introduccin de datos, extraccin de resultados, procesamiento de datos y almacenamiento de datos. El tema principal de este libro es explicar cmo se realizan estas funciones, y los captulos siguientes tratan las diferentes partes de estas cuatro tareas. Cuando llegamos a un punto importante en este libro, un punto tan importante que desearamos que lo recordase para siempre, lo enfatizamos identificndolo con un tem de Idea clave. Tenemos cerca de una docena de Ideas clave en este libro, siendo la primera los cinco componentes de un computador que realizan las tareas de entrada, salida, proceso y almacenamiento de datos. Los cinco componentes clsicos de un computador son entrada, salida, memoria, camino de datos y control, donde las dos ltimas a veces estn combinadas y se llaman el procesador.

Esta organizacin es independiente de la tecnologa del hardware: se puede colocar cada parte de cada computador, pasado y presente, en una de estas cinco categoras. Tal como sugiere su nombre, la entrada alimenta al computador y la salida es el resultado de la computacin enviado al usuario. Algunos dispositivos, tales como las redes y discos, ofrecen al computador tanto entrada como salida. Anatoma de un ratn Aunque muchos usuarios no se imaginaran ahora un computador sin ratn, la idea de un dispositivo para sealar, como es el ratn, fue mostrada por primera vez por Engelbart usando un prototipo de investigacin en 1967. El Alto, que fue la inspiracin para todas las estaciones de trabajo (workstations) y para los sistemas operativos Macintosh y Windows, inclua un ratn como dispositivo para sealar en 1973. En la dcada de 1990, todos los computadores de sobremesa incluan este dispositivo y se hicieron populares nuevas interfaces basadas en presentaciones grficas y ratones. El primer ratn era electromecnico y usaba una bola grande que cuando rodaba a lo largo de una superficie haca que unos contadores x e y se incrementasen. La cantidad de incremento de cada contador deca cunto se haba movido el ratn. La mayora de los ratones electromecnicos fueron reemplazados por el novedoso ratn ptico, que en realidad es un procesador ptico en miniatura que incluye un diodo luminoso (Light Emitting Diode, LED) para proporcionar iluminacin, una minscula cmara en blanco y negro y un procesador ptico sencillo. El LED ilumina la superficie que hay debajo del ratn; la cmara toma 1500 fotografas de muestra por segundo de la zona iluminada. Las sucesivas fotografas se envan al procesador ptico que compara las imgenes y determina si el ratn se ha movido y en qu medida. La sustitucin del ratn electromecnico por el ratn electro-ptico es una ilustracin de un fenmeno comn: los costes decrecientes y la mayor fiabilidad de la electrnica hace que una solucin electrnica reemplace a una solucin electromecnica ms antigua. A travs del cristal de observacin El dispositivo de E/S ms fascinante es probablemente la pantalla grfica. Los computadores porttiles y los de mano, las calculadoras, los telfonos mviles o celulares y casi todos los computadores de sobremesa usan una pantalla de cristal lquido (liquid crystal display, LCD) o de panel plano, para conseguir una pantalla delgada y de bajo consumo. La diferencia principal es que el pxel del LCD no es la fuente de luz; en su lugar controla la transmisin de la luz. Un LCD tpico consiste en molculas en forma de bastoncillos suspendidos en un lquido. Estas molculas forman una hlice retorcida que refractan la luz que entra en la pantalla, habitualmente de una fuente de luz situada detrs de ella o, menos frecuentemente, de una luz reflejada. Las barras se alinean cuando se aplica una corriente y dejan de refractar la luz; puesto que el material del cristal lquido est entre dos pantallas polarizadas a 90 grados, la luz no puede pasar si no es refractada.

Hoy en da, muchas pantallas de LCD usan una matriz activa que tiene un minsculo transistor que acta como interruptor en cada pxel para controlar con precisin la corriente y as formar imgenes ms ntidas. La intensidad de los tres colores rojo, verde, azul de la imagen final se obtiene a partir de una mscara roja-verde-azul asociada a cada punto de la pantalla; en una matriz activa LCD de color, hay tres transistores en cada punto. La imagen se compone de una matriz de elementos, o pxels,1 que se pueden representar en una matriz de bits, llamada mapa de bits (bit map). Dependiendo de la medida de la pantalla y de la resolucin, la matriz vara en tamao desde 640 480, hasta 2560 1600 pxeles en 2008. Una pantalla en color puede usar 8 bits para cada uno de los tres colores primarios (rojo, azul y verde), 24 bits por pxel en total, y permite ver millones de colores diferentes en la pantalla. El soporte del hardware del computador para grficos consiste principalmente en un bfer de refresco, o bfer de pantalla, para almacenar el mapa de bits. La imagen que se va a representar se almacena en el bfer de pantalla y el patrn de bits de cada pxel se leen hacia la pantalla grfica a la velocidad de refresco. El objetivo del mapa de bits es representar fielmente lo que est en la pantalla. Los problemas en sistemas grficos aparecen debido a que el ojo humano es muy bueno detectando cambios sutiles. Apertura de la caja Si se abre la caja del computador, se ve una placa fascinante de plstico verde delgado, cubierta con docenas de pequeos rectngulos grises o negros. La placa consta de tres partes: la parte que conecta con los dispositivos de E/S antes mencionados, la memoria y el procesador. La memoria es el lugar donde se guardan los programas mientras se ejecutan; tambin contiene los datos requeridos por stos. La DRAM es la memoria dinmica de acceso aleatorio (dynamic random access memory). Se usan conjuntamente varias DRAMs para contener las instrucciones y los datos de los programas. En contraste con las memorias de acceso secuencial, como las cintas magnticas, la parte RAM del trmino DRAM significa que los accesos a memoria toman el mismo tiempo independientemente de la posicin de memoria que se lea. El procesador es la parte activa de la placa y se encarga de seguir las instrucciones de un programa al pie de la letra. Suma nmeros, comprueba nmeros, indica la activacin de dispositivos de E/S, etc. El procesador es el cuadrado grande que se encuentra debajo del ventilador y est cubierto por un disipador trmico. A veces, al procesador se le llama CPU, porque el trmino suena ms oficial: unidad central de proceso (central processing unit, CPU). El procesador comprende dos componentes principales: el camino de datos (datapath) y el control, la fuerza y el cerebro del procesador, respectivamente. El camino de datos realiza las operaciones aritmticas. El

control indica al camino de datos, a la memoria y a los dispositivos de E/S lo que deben hacer, de acuerdo con la voluntad de las instrucciones del programa. Introducirse en las profundidades de cualquier componente del hardware supone comprender lo que hay en la mquina. Dentro del procesador hay otro tipo de memoria: la memoria cache. La memoria cache es una memoria pequea y rpida que acta como un bfer para la memoria DRAM. (Esta definicin no tcnica de cache es una buena forma de ocultar detalles que se vern posteriormente.) La memoria cache se construye usando una tecnologa de memoria diferente, memoria de acceso aleatorio esttico (static random acces memory, SRAM). La SRAM es ms rpida pero menos densa, y por lo tanto, ms cara que la DRAM. Se observa fcilmente un aspecto comn en las descripciones tanto del software como del hardware: penetrar en las profundidades revela ms informacin, o a la inversa, los detalles de bajo nivel se ocultan para ofrecer un modelo ms simple a los niveles ms altos. El uso de estos niveles o abstracciones es una tcnica fundamental para disear computadores muy complejos. Una de las abstracciones ms importantes es la interfaz entre el hardware y el nivel ms bajo del software. Por su importancia recibe un nombre especial: arquitectura del repertorio de instrucciones (instruction set architecture), o simplemente arquitectura, de una mquina. La arquitectura del repertorio de instrucciones incluye todo lo que los programadores puedan necesitar para construir un programa correcto en lenguaje mquina binario, incluidas las instrucciones, los dispositivos de E/S, etc. Tpicamente, el sistema operativo se encarga de realizar los detalles de las operaciones de E/S, de asignacin de memoria y de otras funciones de bajo nivel del sistema, de manera que los programadores de aplicaciones no necesitan preocuparse de esos detalles. La combinacin del repertorio de instrucciones bsico y la interfaz del sistema operativo proporcionados para los programadores de aplicaciones se llama la interfaz binaria de las aplicaciones (application binary interface, ABI). Una arquitectura del repertorio de instrucciones permite a los diseadores de computadores hablar de las funciones independientemente del hardware que las lleva a cabo. Por ejemplo, se puede hablar de las funciones de un reloj digital (mantener y mostrar la hora, establecer alarmas) independientemente de la circuitera del reloj (cristal de cuarzo, pantalla LED, botones de plstico). Los diseadores de computadores hacen una distincin entre arquitectura e implementacin de una arquitectura: una implementacin es el hadware que obedece a una abstraccin arquitectnica. Un lugar seguro para los datos Hasta ahora hemos visto cmo se pueden introducir datos, hacer clculos con ellos y mostrarlos en pantalla. No obstante, si se fuera la corriente del computador, lo perderamos todo porque su memoria interna es voltil; esto es, cuando se va la corriente, olvida su

contenido. En cambio, un DVD no pierde la pelcula grabada cuando se apaga el aparato, porque es una tecnologa de memoria no voltil. Para distinguir entre la memoria usada para almacenar programas mientras se ejecutan y esta memoria no voltil, usada para guardar programas entre ejecuciones, se utiliza el trmino memoria principal para la primera y memoria secundaria para la ltima. Las DRAMs predominan como memoria principal desde 1975, pero los discos magnticos predominan como memoria secundaria desde 1965. La memoria Flash, una memoria semiconductora no voltil, es utilizada en sustitucin de discos mviles en dispositivos tales como telfonos mviles y est reemplazando a gran velocidad a los discos en reproductores de msica e incluso en porttiles. Un disco duro magntico consiste en una coleccin de platos que giran a una velocidad de entre 5400 y 15 000 revoluciones por minuto. Los discos de metal estn recubiertos de material magntico grabable en ambas caras, similar al material de las cintas de casete o de vdeo. Para leer y escribir informacin en un disco duro, sobre cada superficie hay un brazo mvil que en su extremo tiene una pequea bobina electromagntica llamada cabezal de lectura/escritura. El disco entero est sellado permanentemente para controlar el ambiente de su interior y, adems, para permitir que a los cabezales del disco estn mucho ms cerca de la superficie del disco. Hoy en da, los dimetros de los discos duros varan aproximadamente en un factor de 3, desde menos de 1 pulgada hasta 3.5 pulgadas, y su tamao se ha ido reduciendo a lo largo de los aos para caber en nuevos aparatos; las estaciones de trabajo servidoras, los computadores personales, los porttiles, los computadores de bolsillo y las cmaras digitales han inspirado nuevos formatos de discos. Tradicionalmente, los discos ms grandes tienen mejores prestaciones, mientras que los ms pequeos tienen un menor coste; sin embargo, el mejor coste por gigabyte vara. Aunque la mayora de los discos duros estn dentro del computador, tambin pueden estar conectados mediante interfaces externas tales como USB. El uso de componentes mecnicos hace que el tiempo de acceso de los discos magnticos sea mucho ms lento que el de las DRAMs. Tpicamente, el tiempo de acceso de los discos es de unos 5 a 20 milisegundos, mientras que el de las DRAMs est entre los 50 y los 70 nanosegundos, por lo que stas ltimas son unas 100 000 veces ms rpidas que los primeros. En contrapartida, el coste por megabyte de los discos es muy inferior al de las DRAMs, ya que los costes de produccin de una determinada capacidad en disco son ms bajos que para la misma capacidad en circuitos integrados. En 2008, el coste por megabyte de los discos era unas 30 a 100 veces ms barato que el de las DRAMs. Ha habido muchos intentos de desarrollar una tecnologa ms barata que la DRAM y ms cara que los discos para llenar el hueco entre ambos, pero la mayora han fracasado. Los contendientes no fueron nunca capaces de hacer llegar el producto al mercado en el momento adecuado. Cuando un nuevo producto poda estar listo para comercializarse,

DRAMs y discos haban continuado su evolucin, los costes haban disminuido y el producto rival qued obsoleto inmediatamente. La tecnologa de los discos pticos funciona de una manera totalmente diferente a la de los discos duros. En un CD, los datos se graban en forma de espiral, y los bits individuales se graban quemando pequeos hoyos de aproximadamente 1 micra (10-6 metros) de dimetro en la superficie del disco. El disco se lee radiando una luz lser en la superficie del CD y determinando si hay un hoyo o una superficie plana (reflectante) cuando se examina la luz reflejada. Los DVDs usan el mismo mtodo para hacer rebotar un rayo lser sobre una serie de hoyos y superficies planas; pero adems, el rayo lser se puede enfocar sobre mltiples capas y el tamao de cada bit es mucho menor, lo cual incrementa significativamente la capacidad. En Blu-Ray se utiliza un lser con longitud de onda ms corta que disminuye el tamao de los bits y, por lo tanto, incrementa la capacidad. Las grabadoras de CD y DVD de los computadores personales usan un lser para hacer los hoyos en la capa de grabacin de la superficie del CD o del DVD. Este proceso de escritura es relativamente lento: desde unos minutos (para un CD completo) hasta cerca de 10 minutos (para un DVD completo). Por ello, para grabar cantidades grandes se usa una tcnica de planchado diferente, que slo cuestaunos pocos cntimos por cada CD o DVD. Los CDs y DVDs regrabables tienen una superficie de grabacin diferente, constituidapor un material reflectante cristalino; los hoyos se forman de manera que no son reflectantes, al igual que en los CDs o DVDs de una sola escritura. Para borrar un CD o DVD regrabable, la superficie se calienta y enfra lentamente, permitiendo un proceso de templado que devuelve a la capa de grabacin su estructura cristalina. Los discos regrabables son ms caros que los de una sola escritura; para discos de solo lectura usados para distribuir software, msica o pelculas tanto el coste del disco como el de la grabacin son mucho menores. Comunicacin con otros computadores Ya hemos explicado cmo se pueden introducir, calcular, mostrar y guardar datos, pero an nos queda por ver un elemento presente en los computadores de hoy en da: las redes de computadores. Del mismo modo que un procesador se conecta con la memoria y los dispositivos de E/S, las redes conectan computadores enteros y permiten que los usuarios aumenten su capacidad de computacin mediante la comunicacin. Las redes se han hecho tan populares que se han convertido en la columna vertebral de los sistemas informticos actuales. Una mquina nueva sin una interfaz para red sera ridcula. Los computadores en red tienen algunas ventajas importantes: Comunicacin: la informacin se intercambia entre computadores a gran velocidad. Comparticin de recursos: en lugar de tener dispositivos de E/S para cada computador, los computadores de la red pueden compartir sus dispositivos.

Acceso no local: conectando computadores separados a grandes distancias, los usuarios no necesitan estar cerca del computador que estn usando.

Las redes varan en longitud y rendimiento, y el coste de comunicacin aumenta en funcin de la velocidad de comunicacin y de la distancia a la que debe viajar la informacin. Quiz la red ms popular sea Ethernet. Su longitud est limitada a un kilmetro y transfiere hasta 10 gigabytes por segundo. Por su longitud y velocidad, Ethernet es til para conectar computadores de un mismo edificio, y de ah que sea un buen ejemplo de lo que genricamente se llaman red de rea local, o LAN (local area network). Las redes de rea local se interconectan mediante conmutadores que pueden proporcionar tambin servicios de encaminamiento y de seguridad. Las redes de rea extensa, o WAN (wide area network), que cruzan continentes, son la espina dorsal de Internet, que soporta la World Wide Web; se basan tpicamente en fibras pticas y son gestionadas por empresas de telecomunicaciones. Las redes han cambiado la fisonoma de la computacin en los ltimos 25 aos, tanto por haberse extendido por todas partes como por su expectacular incremento en prestaciones. En la dcada de 1970, muy pocas personas tenan acceso al correo electrnico, e Internet y la Web no existan; as, el envo fsico de cintas magnticas era la principal manera de transferir grandes cantidades de datos entre dos sitios. En esa misma dcada, las redes de rea local eran casi inexistentes, y las pocas redes de gran mbito que existan tenan una capacidad limitada y eran de acceso restringido.

Tecnologas para construir procesadores y memorias Los procesadores y la memoria han mejorado a un ritmo increble porque los diseadores de computadores han aprovechado la tecnologa electrnica ms avanzada para intentar ganar la carrera de disear un computador mejor. Un transistor es simplemente un interruptor de encendido/apagado, controlado elctricamente. El circuito integrado combina desde docenas hasta cientos de ellos en un solo chip. Para describir el enorme incremento de integracin desde cientos a millones de transistores, se utiliza el adjetivo a muy gran escala, que da lugar a la expresin circuito a muy gran escala de integracin, o circuito VLSI (very large scale of integration). La industria, prcticamente, ha cuadruplicado la capacidad cada 3 aos, un incremento total que excede las 16 000 veces en unos 20 aos! Este incremento en el nmero de transistores en un circuito integrado se conoce popularmente como la ley de Moore, que establece que la capacidad en transistores se dobla cada 18 24 meses. La ley de Moore es el resultado de una prediccin del crecimiento en la capacidad de los circuitos integrados hecha por Gordon Moore, uno de los fundadores de Intel, durante los aos sesenta del siglo pasado.