Sistemas operativos modernos

ris, XENIX y varios más, y todos ellos han pasado por muchas versiones. Por fortuna, los prin­ cipios fundamentales y las llamadas al sistema son casi los mismos en todos ellos (por diseño). Además, las estrategias de implementación, los algoritmos y las estructuras de datos generales son similares, aunque hay algunas diferencias. En este capítulo daremos varios ejemplos al ha­ blar de implementación, sobre todo de 4.4BSD (que es la base de FreeBSD), System V Relea­ se 4 y Linux. Puede hallar información adicional acerca de las diversas implementaciones en Beck et al. (1998), Goodheart y Cox (1994), Maxwell (1999), McKusick et al. (1996), Pate (1996) y Vahaiia (1996). 10.1 HISTORIADEUNIX UNIX tiene una historia larga e interesante, así que iniciaremos nuestro estudio con ella. Lo que comenzó como un proyecto personal de un joven investigador se ha convertido en una in­ dustria de muchos millones de dólares en la que intervienen universidades, corporaciones mul­ tinacionales, gobiernos y organismos internacionales de estandarización. En las páginas que siguen veremos cómo se ha desarrollado esta historia. 10.1.1 UNICS En las décadas de 1940 y 1950 todas las computadoras eran personales, al menos en el sen­ tido de que el modo normal de usar una computadora era reservar una hora y apoderarse de to­ da la máquina durante ese tiempo. Desde luego, esas máquinas eran físicamente enormes, pero sólo una persona (el programador) podía usarlas en un momento dado. Cuando comenzaron a dominar los sistemas por lotes, en la década de 1960, el programador realizaba un trabajo en tarjetas perforadas y lo llevaba al cuarto de computadoras. Una vez reunidos suficientes traba­ jos, el operador los introducía en la máquina como un solo lote. Por lo regular pasaba una hora o más desde que se presentaba un trabajo hasta que se devolvían las salidas. En estas circuns­ tancias, la depuración de programas era un proceso muy tardado, porque una sola coma fuera de lugar podía hacer que se desperdiciaran varias horas del tiempo del programador Para eliminar lo que casi todo mundo consideraba un esquema insatisfactorio e improduc­ tivo, se inventó el tiempo compartido en Dartmouth College y en MIT. El sistema de Dart- mouth sólo ejecutaba BASIC y disfrutó de un breve éxito comercial antes de desaparecer. El sistema del MIT, CTSS, era de uso general y tuvo un enorme éxito en la comunidad científica. En poco tiempo, investigadores del MIT unieron sus fuerzas a Bell Labs y General Electric (que entonces era un fabricante de computadoras) y comenzaron a diseñar un sistema de se­ gunda generación, MULTICS (Servicio de Información y Cómputo Multiplexado; MULTi- plexed Information and Computing Service), como vimos en el capítulo 1. Aunque Bell Labs fue uno de los socios fundadores del proyecto MULTICS, después se desligó de él. Uno de los investigadores participantes de Bell Labs, Ken Thompson, comenzó a buscar algo interesante que hacer, y por fin decidió escribir él solo un MULTICS austero (es­ ta vez en ensamblador) en una minicomputadora PDP-7 que ya nadie usaba. A pesar de que la

RkJQdWJsaXNoZXIy MjI4NDcx