Sistemas operativos modernos

logenia). En otras palabras, después de la fertilización, un embrión humano pasa por las eta­ pas de pez, cerdo, etcétera, antes de convertirse en un bebé humano. Los biólogos modernos consideran esto una simplificación burda, pero no deja de tener un granito de verdad. Algo análogo ha sucedido en la industria de las computadoras. Pareciera que cada nueva especie {mainframe, minicomputadora, computadora personal, computadora integrada, tarje­ ta inteligente, etcétera) pasa por el mismo desarrollo que sus antepasados. Los primeros mam- frames se programaban por completo en lenguaje ensamblador. Incluso programas complejos, como los compiladores y sistemas operativos, se escribían en ensamblador. Para cuando apa­ recieron en escena las minicomputadoras, FORTRAN, COBOL y otros lenguajes de alto ni­ vel eran comunes en los mainframes, pero, las nuevas minicomputadoras se programaban en ensamblador (por la escasez de memoria). Cuando se inventaron las microcomputadoras (las primeras computadoras personales), también se programaban en ensamblador, aunque para entonces las minicomputadoras también se programaban en lenguajes de alto nivel. Las compu­ tadoras de bolsillo ipalmtop) también comenzaron con código ensamblador pero pronto cam­ biaron a lenguajes de alto nivel (sobre todo porque el trabajo de desarrollo se efectuaba en máquinas más grandes), y lo mismo ha sucedido con las tarjetas inteligentes. Veamos ahora los sistemas operativos. Los primeros mainframes no tenían hardware de protección ni soportaban muitiprogramación, así que ejecutaban sistemas operativos sencillos que manejaban un programa a la vez, el cual se cargaba en forma manual. Más adelante, estas computadoras adquirieron el hardware y el apoyo de sistema operativo necesarios para mane­ jar varios programas a la vez, y luego funciones completas de tiempo compartido. Cuando aparecieron las minicomputadoras, tampoco tenían hardware de protección y eje­ cutaban un programa a la vez, también cargado en forma manual, aunque para entonces la muitiprogramación ya estaba bien establecida en el mundo de los mainframes. De manera gra­ dual, estas máquinas adquirieron hardware de protección y la capacidad de ejecutar dos o más programas a la vez. Las primeras microcomputadoras tampoco podían ejecutar más de un pro­ grama a la vez, pero luego adquirieron la capacidad de multiprogramar. Las computadoras de bolsillo y las tarjetas inteligentes siguieron la misma ruta. Los discos aparecieron primero en los mainframes, luego en las minicomputadoras, mi­ crocomputadoras, etc. Incluso ahora, las tarjetas inteligentes no tienen disco duro, pero con la llegada de la ROM flash, pronto tendrán algo equivalente. Cuando aparecieron por prime­ ra vez los discos, nacieron sistemas de archivo primitivos. En la CDC 6600, por mucho el mainframe más potente del mundo durante gran parte de la década de 1960, el sistema de ar­ chivos consistía en usuarios que podían crear un archivo y luego declararlo permanente, lo que significaba que seguiría en el disco aunque el programa que lo había creado ya hubiera termi­ nado. Para tener acceso a tal archivo más adelante, un programa tenía que anexarlo con una instrucción especial y proporcionar su contraseña (que se asignaba cuando el archivo se hacía permanente). En efecto, había un solo directorio que compartían todos los usuarios, y corres­ pondía a los usuarios evitar conflictos de nombres de archivo. Los primeros sistemas de archi­ vos de minicomputadoras tenían un solo directorio compartido por todos los usuarios, y lo mismo sucedió con los sistemas de archivos de las primeras microcomputadoras. La memoria virtual (la capacidad para ejecutar programas más grandes que la memoria fí­ sica) tuvo un desarrollo similar. Su primera aparición fue en los mainframes y continúo en las

RkJQdWJsaXNoZXIy MjI4NDcx