Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
La primer computadora digital real fue diseada por Charles Babbage, aunque Babbage
consumi gran parte de su vida y fortuna en el intento por construir su maquina analtica,
nunca logro que funcionara de manera adecuada, sobra decir que esta maquina careca
de sistema operativo.
1.2.1 La primera generacin (1945 1955): Bulbos y Conexiones.
El profesor John Atanasoff y su estudiante graduado Clifford Berry construyeron lo que
ahora se conoce como la primera computadora digital funcional en Iowa State University.
Utilizaba 300 tubos de vaco (bulbos). Aproximadamente al mismo tiempo, Konrad Zuse
en Berln construy la computadora Z3 a partir de relevadores. En 1944, la mquina
Colossus fue construida por un equipo de trabajo en Bletchley Park, Inglaterra; la Mark I,
por Howard Aiken en Harvard, y la ENIAC, por William Mauchley y su estudiante graduado
J. Presper Eckert en la Universidad de Pennsylvania. Algunas fueron binarias, otras
utilizaron bulbos, algunas eran programables, pero todas eran muy primitivas y tardaban
segundos en realizar incluso hasta el clculo ms simple.
En estos primeros das, un solo grupo de personas diseaban, construan, programaban,
operaban y daban mantenimiento a cada mquina. Toda la programacin se realizaba
exclusivamente en lenguaje mquina o, peor an, creando circuitos elctricos mediante la
conexin de miles de cables a tableros de conexiones para controlar las funciones
bsicas de la mquina. Los lenguajes de programacin eran desconocidos). Los sistemas
operativos tambin se desconocan. El modo usual de operacin consista en que el
programador trabajaba un periodo dado, registrndose en una hoja de firmas, y despus
entraba al cuarto de mquinas, insertaba su tablero de conexiones en la computadora e
inverta varias horas esperando que ninguno de los cerca de 20,000 bulbos se quemara
durante la ejecucin. Prcticamente todos los problemas eran clculos numricos
bastante simples, como obtener tablas de senos, cosenos y logaritmos.
1.2.2. La segunda generacin (1955 a 1965): transistores y sistemas de
procesamiento por lotes
La introduccin del transistor a mediados de la dcada de 1950 cambi radicalmente el
panorama. Las computadoras se volvieron lo bastante confiables como para poder
fabricarlas y venderlas a clientes dispuestos a pagar por ellas, Por primera vez haba una
clara separacin entre los diseadores, constructores, operadores, programadores y el
personal de mantenimiento.
Estas mquinas (mainframes) estaban encerradas en cuartos especiales con aire
acondicionado y grupos de operadores profesionales para manejarlas. Slo las empresas
grandes, universidades o agencias gubernamentales importantes podan financiar el costo
multimillonario de operar estas mquinas.
Para ejecutar un trabajo, el programador primero escriba el programa en papel y despus
lo pasaba a tarjetas perforadas. Luego llevaba el conjunto de tarjetas al cuarto de entrada
de datos y lo entregaba a uno de los operadores; cuando la computadora terminaba el
trabajo que estaba ejecutando en un momento dado, un operador iba a la impresora y
arrancaba las hojas de resultados para llevarlas al cuarto de salida de datos, para que el
programador pudiera recogerlas posteriormente. Entonces, el operador tomaba uno de los
conjuntos de tarjetas que se haban trado del cuarto de entrada y las introduca en la
mquina.
Despues se utilizo el sistema de procesamiento por lotes, la idea detrs de este concepto
era recolectar una bandeja llena de trabajos en el cuarto de entrada de datos y luego
pasarlos a una cinta magntica mediante el uso de una pequea computadora
relativamente econmica, despus de aproximadamente una hora de recolectar un lote de
trabajos, las tarjetas se lean y se colocaban en una cinta magntica, la cual se llevaba al
cuarto de mquinas, en donde se montaba en una unidad de cinta. Despus, el operador
cargaba un programa especial que lea el primer trabajo de la cinta y lo ejecutaba. Los
resultados se escriban en una segunda cinta, en vez de imprimirlos.
Las computadoras grandes de segunda generacin se utilizaron para resolver clculos
cientficos y de ingeniera.
1.2.3 La tercera generacin (1965 a 1980): circuitos integrados y multiprogramacin.
A principio de la dcada de 1960, la mayora de los fabricantes de computadoras tenan
dos lneas de productos distintas e incompatibles. Por una parte estaban las
computadoras cientficas a gran escala orientadas a palabras, como la 7094, que se
utilizaban para clculos numricos en ciencia e ingeniera. Por otro lado, estaban las
computadoras comerciales orientadas a caracteres, como la 1401, que se utilizaban
ampliamente para ordenar cintas e imprimir datos en los bancos y las compaas de
seguros, desarrollar y dar mantenimiento a dos lneas de productos completamente
distintos era una propuesta costosa para los fabricantes, IBM intent resolver ambos
problemas de un solo golpe con la introduccin de la lnea de computadoras System/360.
La 360 era una serie de mquinas compatibles con el software, que variaban desde un
tamao similar a la 1401 hasta algunas que eran ms potentes que la 7094. Las
mquinas slo diferan en el precio y rendimiento.
La IBM 360 fue la primera lnea importante de computadoras en utilizar circuitos
integrados (ICs), con lo cual se pudo ofrecer una mayor ventaja de precio/rendimiento en
comparacin con las mquinas de segunda generacin, las cuales fueron construidas a
partir de transistores individuales.
La solucin que surgi fue particionar la memoria en varias piezas, con un trabajo distinto
en cada particin, como se muestra en la figura 1-5. Mientras que un trabajo esperaba a
que se completara una operacin de E/S, otro poda estar usando la CPU. Si pudieran
contenerse suficientes trabajos en memoria principal al mismo tiempo, la CPU poda estar
ocupada casi 100 por ciento del tiempo. Para tener varios trabajos de forma segura en
memoria a la vez, se requiere hardware especial para proteger cada trabajo y evitar que
los otros se entrometan y lo malogren; el 360 y los dems sistemas de tercera generacin
estaban equipados con este hardware.
Otra caracterstica importante de los sistemas operativos de tercera generacin fue la
capacidad para leer trabajos en tarjetas y colocarlos en el disco tan pronto como se
llevaban al cuarto de computadoras. As, cada vez que terminaba un trabajo en ejecucin,
el sistema operativo poda cargar un nuevo trabajo del disco en la particin que entonces
estaba vaca y lo ejecutaba. A esta tcnica se le conoce como spooling y tambin se
utiliz para las operaciones de salida. Con el spooling, las mquinas 1401 no eran ya
necesarias y desapareci la mayor parte del trabajo de transportar las cintas.
Este deseo de obtener un tiempo rpido de respuesta allan el camino para el tiempo
compartido donde cada usuario tena una terminal en lnea. En un sistema de tiempo
compartido, si 20 usuarios estn conectados y 17 de ellos estn pensando en dar un
paseo o tomar caf, la CPU se puede asignar por turno a los tres trabajos que desean ser
atendidos. El primer sistema de tiempo compartido de propsito general, conocido como
CTSS
1.2.4 La cuarta generacin (1980 a la fecha): las computadoras personales.
Con el desarrollo de los circuitos LSIa), que contienen miles de transistores en un
centmetro cuadrado de silicio (chip), naci la era de la computadora personal. En
trminos de arquitectura, las computadoras personales no eran del todo distintas de las
minicomputadoras de la clase PDP-11, pero en trminos de precio sin duda eran distintas.
Mientras que la minicomputadora hizo posible que un departamento en una compaa o
universidad tuviera su propia computadora, el chip microprocesador logr que un individuo
tuviera su propia computadora personal. Cuando Intel present el microprocesador 8080
en 1974, deseaba un sistema operativo, en parte para poder probarlo. Intel pidi a uno de
sus consultores, Gary Kildall, que escribiera uno. Kildall y un amigo construyeron primero
un dispositivo controlador para el disco flexible de 8 pulgadas de Shugart Associates que
recin haba sido sacado al mercado, y conectaron el disco flexible con el 8080, con lo
cual produjeron la primera microcomputadora con un disco.
En 1977, Digital Research redise el CP/M para adaptarlo de manera que se pudiera
ejecutar en todas las microcomputadoras que utilizaban los chips 8080, Zilog Z80 y otros.
Se escribieron muchos programas de aplicacin para ejecutarse en CP/M, lo cual le
permiti dominar por completo el mundo de la microcomputacin durante un tiempo
aproximado de 5 aos.
1.3 REVISIN DEL HARDWARE DE COMPUTADORA
Un sistema operativo est ntimamente relacionado con el hardware de la computadora
sobre la que se ejecuta. Extiende el conjunto de instrucciones de la computadora y
administra sus recursos. Para trabajar debe conocer muy bien el hardware, por lo menos
en lo que respecta a cmo aparece para el programador. Por esta razn, revisaremos
brevemente el hardware de computadora como se encuentra en las computadoras
personales modernas. Despus de eso, podemos empezar a entrar en los detalles acerca
de qu hacen los sistemas operativos y cmo funcionan.
1.3.1 Procesadores.
El cerebro de la computadora es la CPU, que obtiene las instrucciones de la memoria y
las ejecuta. El ciclo bsico de toda CPU es obtener la primera instruccin de memoria,
decodificarla para determinar su tipo y operandos, ejecutarla y despus obtener,
decodificar y ejecutar las instrucciones subsiguientes. El ciclo se repite hasta que el
programa termina. De esta forma se ejecutan los programas.
Chips con multihilamiento y multincleo: La ley de Moore establece que el nmero de
transistores en un chip se duplica cada 18 meses. Esta ley no es ningn tipo de ley de
fsica, como la de la conservacin del momento, sino una observacin hecha por Gordon
Moore, cofundador de Intel, acerca de la velocidad con la que los ingenieros de procesos
en las compaas de semiconductores pueden reducir sus transistores. La ley de Moore
ha estado vigente durante tres dcadas hasta hoy y se espera que siga as durante al
menos una dcada ms.
1.3.2 Memoria.
El segundo componente importante en cualquier computadora es la memoria. En teora,
una memoria debe ser en extremo rpida (ms rpida que la velocidad de ejecucin de
una instruccin, de manera que la memoria no detenga a la CPU), de gran tamao y muy
econmica. Ninguna tecnologa en la actualidad cumple con todos estos objetivos, por lo
que se adopta una solucin distinta. El sistema de memoria est construido como una
jerarqua de capas, las capas superiores tienen mayor velocidad, menor capacidad y
mayor costo por bit que las capas inferiores, a menudo por factores de mil millones o ms.
La capa superior consiste en los registros internos de la CPU. Estn compuestos del
mismo material que la CPU y, por ende, tienen la misma rapidez. En consecuencia no hay
retraso a la hora de utilizarlos. La capacidad de almacenamiento disponible en estos
registros es generalmente de 32 32 bits en una CPU de 32 bits y de 64 64 bits en una
CPU de 64 bits. Menos de 1 KB en ambos casos. Los programas deben administrar los
registros (es decir, decidir qu deben guardar en ellos) por su cuenta, en el software.
1.3.3 Discos.
El siguiente lugar en la jerarqua corresponde al disco magntico (disco duro). El
almacenamiento en disco es dos rdenes de magnitud ms econmico que la RAM por
cada bit, y a menudo es dos rdenes de magnitud ms grande en tamao tambin. El
nico problema es que el tiempo para acceder en forma aleatoria a los datos en ella es de
cerca de tres rdenes de magnitud ms lento. Esta baja velocidad se debe al hecho de
que un disco es un dispositivo mecnico, un disco consiste en uno o ms platos que giran
a 5400, 7200 o 10,800 rpm. Un brazo mecnico, con un punto de giro colocado en una
esquina, se mueve sobre los platos de manera similar al brazo de la aguja en un viejo
tocadiscos. La informacin se escribe en el disco en una serie de crculos concntricos.
En cualquier posicin dada del brazo, cada una de las cabezas puede leer una regin
anular conocida como pista (track). En conjunto, todas las pistas para una posicin dada
del brazo forman un cilindro (cylinder). Cada pista se divide en cierto nmero de sectores,
por lo general de 512 bytes por sector. En los discos modernos, los cilindros exteriores
contienen ms sectores que los interiores. Para desplazar el brazo de un cilindro al
siguiente se requiere aproximadamente 1 milisegundo. Para desplazar el brazo a un
cilindro aleatoriamente se requieren por lo general de 5 a 10 milisegundos, dependiendo
de la unidad. Una vez que el brazo se encuentra en la pista correcta, la unidad debe
esperar a que el sector necesario gire hacia abajo de la cabeza, con un retraso adicional
de 5 a 10 milisegundos, dependiendo de las rpm de la unidad. Una vez que el sector est
bajo la cabeza, la lectura o escritura ocurre a una velocidad de 50 MB/seg en los discos
de bajo rendimiento hasta de 160 MB/seg en los discos ms rpidos.
1.3.4 Cintas.
La ltima capa de la jerarqua en la memoria es la cinta magntica. Este medio se utiliza
con frecuencia como respaldo para el almacenamiento en disco y para contener conjuntos
de datos muy extensos. Para acceder a una cinta, primero debe colocarse en un lector de
cinta, ya sea que lo haga una persona o un robot). Despus la cinta tal vez tenga que
embobinarse hacia delante para llegar al bloque solicitado. En general, este proceso
podra tardar varios minutos. La gran ventaja de la cinta es que es en extremo econmica
por bit y removible, lo cual es importante para las cintas de respaldo que se deben
almacenar fuera del sitio de trabajo para que puedan sobrevivir a los incendios,
inundaciones, terremotos y otros desastres.
1.3.5 Dispositivos de E/S.
La CPU y la memoria no son los nicos recursos que el sistema operativo debe
administrar. Los dispositivos de E/S tambin interactan mucho con el sistema operativo.
Como vimos en la figura 1-6, los dispositivos de E/S generalmente constan de dos partes:
un dispositivo controlador y el dispositivo en s. El dispositivo controlador es un chip o
conjunto de chips que controla fsicamente el dispositivo.
1.3.6 Buses.
El sistema tiene ocho buses (cach, local, memoria, PCI, SCSI, USB, IDE e ISA),
cada uno con una velocidad de transferencia y funcin distintas. El sistema
operativo debe estar al tanto de todos estos buses para su configuracin y
administracin. Los dos buses principales son el bus ISA (Industry Standard
Architecture, Arquitectura estndar de la industria) de la IBM PC original y su
sucesor, el bus PCI (Peripheral Component Interconnect, Interconexin de
componentes perifricos). El bus ISA (el bus original de la IBM PC/AT) opera a
8.33 MHz y puede transferir 2 bytes a la vez, para una velocidad mxima de
16.67 MB/seg. Se incluye para mantener compatibilidad hacia atrs con las
tarjetas de E/S antiguas y lentas. Los sistemas modernos lo omiten con
frecuencia, pues ya es obsoleto. El bus PCI fue inventado por Intel como
sucesor para el bus ISA. Puede operar a 66 MHz y transferir 8 bytes a la vez,
para lograr una velocidad de transferencia de datos de 528 MB/seg. La mayora
de los dispositivos de E/S de alta velocidad utilizan el bus PCI en la actualidad.
Incluso algunas computadoras que no emplean procesadores Intel usan el bus
PCI, debido al extenso nmero de tarjetas de E/S disponibles para este bus. Las
nuevas computadoras estn saliendo al mercado con una versin actualizad
del bus PCI, conocida como PCI Express.
1.3.7 Arranque de la computadora En forma muy breve, el proceso de arranque
del Pentium es el siguiente. Cada Pentium contiene una tarjeta madre
(motherboard). En la tarjeta madre o padre hay un programa conocido como
BIOS (Basic Input Output System, Sistema bsico de entrada y salida) del
sistema. El BIOS contiene software de E/S de bajo nivel, incluyendo
procedimientos para leer el teclado, escribir en la pantalla y realizar
operaciones de E/S de disco, entre otras cosas. Hoy en da est contenido en
una RAM tipo flash que es no voltil pero el sistema operativo puede
actualizarla cuando se encuentran errores en el BIOS. Cuando se arranca la
computadora, el BIOS inicia su ejecucin. Primero hace pruebas para ver
cunta RAM hay instalada y si el teclado junto con otros dispositivos bsicos
estn instalados y responden en forma correcta. Empieza explorando los buses
ISA y PCI para detectar todos los dispositivos conectados a ellos. Comnmente,
algunos de estos dispositivos son heredados (es decir, se disearon antes de
inventar la tecnologa plug and play), adems de tener valores fijos para los
niveles de interrupciones y las direcciones de E/S (que posiblemente se
establecen mediante interruptores o puentes en la tarjeta de E/S, pero que el
sistema operativo no puede modificar). Estos dispositivos se registran; y los
dispositivos plug and play tambin. Si los dispositivos presentes son distintos
de los que haba cuando el sistema se inici por ltima vez, se configuran los
nuevos dispositivos. Despus, el BIOS determina el dispositivo de arranque,
para lo cual prueba una lista de dispositivos almacenada en la memoria CMOS.