You are on page 1of 36

CURSO: INFORMÁTICA E INTERNET

TEMA: “EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS”


ESPECIALIDAD: ENFERMERÍA
TURNO: MAÑANA AULA: C

• Integrantes:
• Katayama romero jarumi
• Queque Sinacay jean Paul
• Perea Vásquez Isiami Wendi
Tatiana
• Fachin cruz Dayanne Nicole
• Lopez Díaz Cinthia Riley
EVOLUCIÓN DE LOS
SISTEMAS OPERATIVOS
• Usar un computador no siempre fue tan fácil. Los sistemas operativos
surgieron como una necesidad para poder utilizar máquinas muy
complejas en tiempos que se necesitaba personal muy especializado
para poder operarlas. La evolución de los sistemas operativos estuvo,
por lo tanto, muy ligada a las características y necesidades particulares
de las máquinas disponibles. Resulta difícil hablar de los sistemas
operativos sin referirse al mismo tiempo a la evolución del hardware,
pues ambos aspectos han avanzado de la mano durante gran parte de
la historia.
PREHISTORIA DE SISTEMA OPERATIVOS

• La primera máquina a la que se puede llamar un computador digital de propósito


general fue diseñada por el matemático inglés Charles Babbage (1791-1871), quien
diseñó una máquina mecánica digital (digital: capaz de trabajar con dígitos), conocida
como la analytical engine, o máquina de Babbage. Si bien desarrolló todos los planos,
nunca pudo terminar de construirla.
• La máquina de Babbage, sin embargo, no tenía ningún tipo de software. La máquina podía
ser "programada" (un concepto nuevo para la época) mediante tarjetas perforadas, método
que ya se usaba para configurar máquinas en la industria textil. Ada Lovelace, matemática,
escribió un conjunto de notas que describían un procedimiento para calcular una secuencia
de números de Bernoulli usando la máquina de Babbage. Se considera este documento
como el primer programa desarrollado para una máquina computacional, y a Ada Lovelace
como la primera programadora. El lenguaje de programación Ada fue nombrado en su
honor.
PRIMERA GENERACIÓN (1945-55): TUBOS DE VACÍO

• Posteriormente al trabajo de Babbage, el desarrollo de máquinas programables quedó


relegado al ámbito de la investigación científica, sin grandes aplicaciones prácticas. Como
ha ocurrido con tantos otros inventos, fue el periodo de la Segunda Guerra Mundial el que
vino a reimpulsar el interés en este tipo de máquinas.
• Se empezaron a desarrollar las primeras máquinas electrónicas, como el Z3 de Konrad Zuse
(1941), y la máquina de Atanasoff-Berry (1942). El flujo de cómputo de estas máquinas era
controlado por switch electrónicos (relay), construidos mediante tubos de vacío (vacuum
tube). Al estar compuestas por cientos o miles de estos tubos, no era extraño que uno o
varios fallaran durante la operación. Algunas de estas máquinas eran programables, si bien
no todas eran de "propósito general" ó Turing-complete.
• En 1944, un grupo de científicos en Bletchley Park, Inglaterra, entre los que se encontraba
Alan Turing, construyó el computador Colossus, cuyo modelo más conocido, el Colossus
Mark 2, utilizaba 2400 tubos de vacío. Este computador, si bien, tampoco era Turing-
complete (lo que demuestra que no basta tener a Alan Turing para ser Turing-complete) ya
que fue diseñado para una tarea criptográfica particular, sí era programable mediante cintas
de papel. Fue importante en el proceso de decrepitación del criptosistema alemán Lorenz.
COLOSSUS MARK 2 

En 1946, William Mauchley y J. Presper Eckert construyeron, en la


Universidad de Pennsylvania uno de los primeros computadores
programables de propósito general: el ENIAC (Electronic Numerical
Integrator and Computer). Poseía 20000 tubos de vacío, pesaba 27
toneladas, ocupaba 167m2 y consumía 150kW de electricidad. Su dispositivo
de entrada era un lector de tarjetas perforadas y su salida era un perforador
de tarjetas (IBM 405). Poseía un clock de 100kHz, y utilizaba 20 registros de
10 dígitos binarios. No existía un lenguaje de programación, ni
siquiera assembler, de manera que toda la computación era descrita en las
tarjetas perforadas mediante código de máquina.
ENIAC (FRAGMENTO) @ SCHOOL OF ENGINEERING AND APPLIED SCIENCE, UNIVERSITY OF PENNSYLVANIA
SEGUNDA GENERACIÓN (1955-65): TRANSISTORES Y SISTEMAS BATCH

• La creación de los transistores en los años 1950 revolucionó la construcción de los dispositivos
electrónicos reduciendo drásticamente las tasas de falla respecto al hardware construido con tubos de
vacío y aumentando la velocidad de respuesta. Se empezaron a construir grandes computadores
basados en transistores, conocidas como mainframes. Debido a su costo de construcción, un
computador de este tipo era solamente accesible para grandes corporaciones, gobiernos y
universidades.
• La operación de un mainframe requería la colaboración de varios actores.
Un mainframe ejecuta jobs (trabajos), que consisten en el código de un programa, o una secuencia de
programas. Los programas se ingresan mediante tarjetas perforadas y se escriben en
lenguaje assembler. En 1953, John W. Backus, de IBM, propone una alternativa para hacer más
práctica la descripción de programas en lugar de assembler y desarrolla el FORmula TRANslating
system, conocido como lenguaje FORTRAN, junto con una herramienta para hacer la traducción
hacia assembler llamada compilador. Este trabajo le otorgaría el Turing Award en 1977.
• Un programa escrito en FORTRAN sobre tarjetas perforadas es entregado como input a un lector de
tarjetas. El lector de tarjetas escribe sobre una cinta que se entrega a la máquina principal, la cual
ejecuta las instrucciones, proceso que podía tardar horas dependiendo de la complejidad del cómputo,
y escribe el resultado sobre otra cinta de salida. La cinta de salida es leída por otro dispositivo capaz
de imprimir el contenido de la cinta a un papel. En ese momento termina la ejecución del job.
IZQUIERDA: IBM1402 (CARD READER), IBM1401 (PROCESSING), IBM1403 (PRINTER). DERECHA: IBM7094

Procesamiento por lotes (batch)


ESTE TIPO DE COMPUTADORES SE USÓ PRINCIPAMENTE PARA CÓMPUTO
CIENTÍFICO Y DE INGENIERÍA. LOS PROGRAMAS QUE PERMITÍAN A ESTOS
COMPUTADORES PROCESAR SECUENCIALMENTE UNA CANTIDAD
DE JOBS FUERON ALGUNOS DE LOS PRIMEROS EN CUMPLIR LA TAREA
DE UN SISTEMA OPERATIVO, COMO FMS (FORTRAN MONITOR SYSTEM,
BÁSICAMENTE UN COMPILADOR DE FORTRAN), Y EL SISTEMA DEL IBM
7094, IBSYS.

Un IBM 1620, como el que está en el DCC. Utiliza words codificados en BCD, y era capaz
de almacenar hasta 20000 digitos. No poseía ALU. Utilizaba tablas de 100 dígitos para
efectuar sumas y restas, y una tabla de 200 dígitos para multiplicaciones. La división se
efectuaba mediante subrutinas de software. Tenía un clock 1MHz, y tiempo de acceso a
memoria de 20usec.
TERCERA GENERACIÓN (1965-1980): CIRCUITOS
INTEGRADOS Y MULTIPROGRAMACIÓN
En los años 1960s, los mainframes de IBM (International Business Machines Corporation), la
compañía constructora de equipamiento computacional más importante de la época, requerían
cada uno un software y periféricos distintos para funcionar, ya que las instrucciones no eran
compatibles. Un programa hecho para un modelo debía ser reescrito ante la introducción de un
nuevo modelo de hardware. La compañía decide unificar el hardware bajo una familia llamada 
System/360. Ésta fue la primera línea importante basada en la nueva tecnología de circuitos
integrados capaz de integrar grandes cantidades de pequeños transistores, lo que
proporcionaba una enorme ventaja precio/rendimiento respecto a los transistores tradicionales.
OS/360, y la multiprogramación
• La idea de tener una línea de hardware mutuamente compatible y de propósito general requería un
sistema capaz de funcionar en todos los modelos. Este sistema fue el OS/360. El software resultante
resultó enormemente grande (millones de líneas de assembler) y complejo de desarrollar, con
numerosos bugs, en tiempos en que la ingeniería de software no se desarrollaba como disciplina aún. El
director del proyecto Fred Brooks describió sus experiencias en el libro "The Mythical Man-Month", un
clásico de la ingeniería de software. Sus contribuciones a esta nueva disciplina le valieron el otorgamiento
del Turing Award en 1999.
IBM360. PRIMERA GRAN LÍNEA EN UTILIZAR CIRCUITOS INTEGRADOS

A pesar de todos sus defectos, OS/360 fue ampliamente usado, e introdujo algunas ideas clave en los sistemas
computacionales. Sistemas como el IBM 7094 eran máquinas que procesaban un trabajo simultáneamente. Si
alguna instrucción de ese trabajo requería una lectura de cinta, o alguna operación de I/O, la CPU debía esperar sin
hacer nada (idle) hasta que la operación terminase. Los trabajos científicos suelen ser intensivos en cómputo (CPU-
bound), por lo que esto no era un problema. Sin embargo las aplicaciones comerciales requerían operaciones de I/O
el 80% a 90% de las veces (I/O-bound) por lo que gran parte del tiempo la CPU se encontraba idle.
La solución fue dividir el espacio de memoria en regiones, y asignar un espacio distinto a cada job. Se introdujo un
mecanismo que permitiera que, cada vez que un job estuviese esperando una operación de I/O, el sistema
permitiera que otro job pudiese ocupar la CPU. De esta manera, si hay suficiente jobs en la memoria, sería posible
mantener a la CPU trabajando casi el 100% del tiempo. Este mecanismo fue un enorme avance que ocupamos
hasta el día de hoy, y se llama multiprogramación.
IMPLEMENTAR MULTIPROGRAMACIÓN REQUIERE QUE CADA JOB PUEDA
FUNCIONAR DE MANERA AISLADA DE LOS DEMÁS. SE AGREGÓ EN EL HARDWARE EL
MECANISMO NECESARIO PARA PROVEER ESTA PROTECCIÓN Y EVITAR QUE
UN JOB MALICIOSO PUDIESE LEER O ESCRIBIR EN MEMORIA ASIGNADA A OTRO JOB.

Multiprogramación. Múltiples procesos en memoria principal.


TIMESHARING PARA
Hasta el momento todo el avanceMÚLTIPLES
había apuntado aUSUARIOS
mejorar los sistemas de procesamiento por
lotes (batch). El programador entrega sus tarjetas, y espera hasta obtener un resultado. Por
supuesto, los programadores también cometían errores y, una vez entregado el programa, debían
esperar algunas horas hasta recibir el output que indicara que su código había fallado porque le
faltaba un; Medio día perdido antes de corregir el error y reenviar el job. No había ningún tipo de
interactividad con el sistema. Dada la cantidad de usuarios que deseaban utilizar el computador,
asignar horas para que cada usuario interactuara directamente y de manera individual con el
computador era tremendamente ineficiente, pues el computador pasaba la mayor parte del
tiempo idle mientras el usuario ingresaba código. El modelo batch seguía siendo superior.
La siguiente innovación apuntó a mejorar esta situación. Si un usuario escribe código durante un
minuto, y luego piensa (o se para, o toma café) durante 20 segundos, se podría permitir a otro
usuario que interactuara con el computador durante esos 20 segundos. La misma idea de la
multiprogramación, sin embargo los humanos no son tan rápidos para cambiar de posición frente al
teclado. Se le asignó entonces un terminal (consola) online a cada usuario: una cantidad de
dispositivos con teclado conectados al mismo sistema, y se configuró para que, en cuanto un
terminal dejaba de recibir comandos o ejecutar algún trabajo, el sistema pasara a atender al
siguiente terminal. De esta manera, si un usuario no estaba interactuando con el computador, el
procesador podía atender a otro. Nacieron desde aquí los sistemas
de timesharing ("compartición" de tiempo).
MULTICS: UNA NUBE DE CÓMPUTO DEL PASADO

Ante las posibilidades que prometía el timesharing MIT, Bell Labs, y General Electric,
deciden crear un sistema que soporte cientos de usuarios. De la misma manera que
múltiples casas podían tener acceso a la red eléctrica, en este sistema múltiples usuarios
tendrían acceso a tiempo de cómputo (en la actualidad esto se llamaría "Computing Time
as a Service") con tan solo conectarse a este mainframe (una nube de cómputo). El
sistema fue bautizado como MULTICS (MULTiplexed Information and Computing Service).
• MULTICS tuvo un éxito parcial. Además de ser escrito en PL/I, un lenguaje poco popular
y con un compilador deficiente, el proyecto resultó ser sumamente ambicioso para la
época (como la máquina de Babbage) y demasiado complejo, lo que demoró el
desarrollo al punto que Bell Labs y General Electric abandonaron el proyecto. MIT
persistió y el sistema eventualmente fue terminado. Honeywell, la compañía que
continuó las operaciones de General Electric en el área de los computadores, lo adquirió
y consiguió suficientes clientes para hacerlo viable. No alcanzó mucha popularidad pero
su desarrollo tuvo una gran influencia en sus sucesores.
MULTICS. MULTIPLEXED INFORMATION AND COMPUTING SERVICE.

UNIX: una simplificación de MULTICS


• El desarrollo de la tecnología de transistores en circuitos integrados cada vez más
pequeños y confiables (reliable) permitió que se construyeran computadores más
pequeños tanto o más poderosos que los de la época. Se les llamó minicomputadores y
uno de los más famosos fue el PDP-1 (Programmed Data Processor) de la compañía 
DEC (Digital Equipment Corporation), competidora de IBM y que fue comprada por
Compaq (luego HP) en 1998. El DEC PDP-1 usaba words de 18-bit y soportaba
4096 words, con ciclos de acceso a memoria de 5.35 usec. DEC construyó modelos
sucesivos de la línea PDP, no compatibles entre sí, hasta el PDP-16.
• DEC PDP-1. Picture by Matthew Hutchinson, CC BY 2.0
Panel de control. Picture by fjarlq / Matt CC BY 2.0

• En Bell Labs, 1969, Ken Thompson y Dennis Ritchie (1941-2011), dos de los científicos que
habían trabajado en MULTICS decidieron desarrollar una versión "reducida" de MULTICS para un
PDP-7 que no estaba siendo usado. Esta versión tendría un diseño mucho más simple y en sus
inicios soportaba solamente a un usuario (uni-task) en contraposición a MULTICS que era multi-
task. Este trabajo fue bautizado como UNICS por UNIplexed Information and Computing
Service como un juego de palabras respecto a MULTICS, y finalmente simplificado como 
UNIX.
LA VERSIÓN ORIGINAL DE UNIX, PARA EL PDP-7 Y POSTERIORMENTE PARA EL PDP-11 ESTABA ESCRITA
EN ASSEMBLER. FUE EN ESTE SISTEMA QUE SE DECIDIÓ REESCRIBIRLO EN OTRO LENGUAJE DE MÁS ALTO
NIVEL. INICIALMENTE SE CONSIDERÓ EL LENGUAJE B, UNA VERSIÓN SIMPLIFICADA DE BPCL, OTRO
LENGUAJE YA EXISTENTE. SIN EMBARGO, B NO PODÍA APROVECHAR TODAS LAS CARACTERÍSTICAS DEL PDP-
11, Y SE UTILIZÓ OTRO LENGUAJE DESARROLLADO POR DENNIS RITCHIE: EL LENGUAJE C, CONCEBIDO COMO
UN SUCESOR DE B. EN 1972, DENNIS RITCHIE REESCRIBE UNIX EN EL LENGUAJE C. DE ESTA MANERA UNIX SE
CONVIRTIÓ EN UNO DE LOS PRIMEROS SISTEMAS OPERATIVOS MASIVOS EN SER IMPLEMENTADO EN UN
LENGUAJE DE MAYOR NIVEL QUE ASSEMBLER, Y EL DESARROLLO DE C CONTINUÓ ESTANDO ÍNTIMAMENTE
LIGADO AL KERNEL DE UNIX. THOMPSON Y RITCHIE OBTUVIERON EL TURING AWARD EN 1983.
EL CÓDIGO FUENTE DE UNIX ESTABA DISPONIBLE PÚBLICAMENTE LO QUE PERMITIÓ A
DISTINTAS INSTITUCIONES Y UNIVERSIDADES DESARROLLAR SU PROPIA VERSIÓN
PARA SUS SISTEMAS, CADA UNO INSPIRADO EN LOS MISMOS PRINCIPIOS PERO
INCOMPATIBLES ENTRE SÍ. DE ESTAS VERSIONES, DOS DE LAS MÁS IMPORTANTES QUE
PERDURARON FUERON LA VERSIÓN COMERCIAL DE AT&T LLAMADA SYSTEM V (1983), Y LA VERSIÓN DE LA
UNIVERSIDAD DE CALIFORNIA EN BERKELEY, BSD (BERKELEY SOFTWARE DISTRIBUTION, 1977).

AT&T's System V, y Beastie, la mascota clásica de los sistemas basados en BSD


Bajo esta situación no era posible escribir programas que funcionaran correctamente bajo las
distintas versiones de UNIX. Para ello, la IEEE propuso una interfaz estándar de llamadas al
sistema (syscalls) conocida como Portable Operating System Interface ó POSIX. La X viene
del hecho que se tomó la interfaz existente en UNIX como base para la propuesta (es por esto
que la mayoría de las llamadas suenan UNIX-like). Al implementar POSIX (o ser "POSIX-
conformant"), los sistemas se hicieron más interoperables. Más aún, otros sistemas operativos
no basados en UNIX también han implementado POSIX (ejemplo).

GNU, el software libre, y Linux


En 1983, todas las versiones de UNIX utilizaban licencias comerciales. En MIT, Richard Stallman inicia el
proyecto GNU (GNU is Not UNIX, un acrónimo recursivo) con el objetivo de desarrollar una versión
completamente gratuita y de código abierto de un sistema "UNIX-like". Como parte de su proyecto se
definió la GNU General Public License, GPL, se publicó el GNU Manifesto y se desarrollaron múltiples
herramientas como 
(GNU COMPILER COLLECTION), (GNU C LIBRARY), (GNU CORE UTILITIES),  (GNU BINARY
UTILITIES),  (GNU BASH SHELL), Y EL ENTORNO DE ESCRITORIO GNOME
(ORIGINALMENTE GNU NETWORK OBJECT MODEL ENVIRONMENT). SIN EMBARGO
EL MICROKERNEL, DENOMINADO GNU HURD (DONDE "HURD" SE DEFINE COMO HIRD
OF UNIX-REPLACING DAEMONS, Y "HIRD" COMO HURD OF INTERFACES REPRESENTING
DEPTH, Y QUE EN EL FONDO SUENA SIMILAR A HERD OF GNUS), DEMORÓ EN SER
TERMINADO (AÚN AL AÑO 2018 NO HAY UNA VERSIÓN 1.0).
• En 1987, Andrew S. Tanenbaum desarrolló un clon de UNIX llamado MINIX con fines
educacionales (POSIX-compliant), un microkernel modular de código abierto con la
capacidad de detectar y reemplazar dinámicamente módulos defectuosos. Todo en
13000 líneas de código.
• En 1991, ante la ausencia de un kernel gratuito de UNIX, y bajo la inspiración de
MINIX, Linus Torvalds desarrolla un clon monolítico "just for fun", al cual llama Linux e
incluye gran parte de las herramientas desarrolladas por el proyecto GNU. Los
puristas suelen denominar al sistema operativo GNU/Linux, pues se trata de un
"kernel Linux con herramientas GNU", de la misma manera que GNU/Hurd sería un
kernel Hurd con herramientas GNU".
Rocky Racoon, la mascota de MINIX 3. La cabeza de GNU por Aurelio Heckert. Tux, creado por Larry Ewing, la mascota de Linux

• Componentes del sistema operativo Linux, indicando elementos en user space y en kernel space.
Arquitectura simplificada del kernel de Linux, by ScotXW Own work, CC BY-SA 4.0
EN 1992, ANDREW S. TANENBAUM PUBLICÓ UN MENSAJE EN EL NEWSGROUP COMP.OS.MINIX
CON EL SUBJECT "LINUX IS OBSOLETE", HACIENDO REFERENCIA A LA NATURALEZA MONOLÍTICA
DEL RECIENTEMENTE PUBLICADO LINUX EN CONTRAPOSICIÓN A LA ARQUITECTURA
MICROKERNEL DE MINIX. ESTE MENSAJE MARCÓ EL INICIO DE UN INTERESANTE Y CLÁSICO
DEBATE CONOCIDO COMO TANENBAUM-TORVALDS DEBATE.

Con el tiempo se desarrollaron múltiples distribuciones de Linux. Si no está seguro qué


distribución de Linux utilizar, aquí puede encontrar una guía.
CUARTA GENERACIÓN (1980-PRESENTE): COMPUTADORES
PERSONALES
El desarrollo tecnológico de los circuitos integrados llegó al nivel conocido como VLSI (Very Large Scale Integration),
capaz de integrar hasta 1 millón de transistores en un chip de 1cm2, lo que permitía hasta 100000 celdas lógicas.
Surgieron sistemas computacionales de uso personal denominados microcomputadores, que en principio no eran
tecnológicamente muy superiores al PDP-11, pero a un precio notablemente inferior.

Intel 8080, CP/M y el despegue de los microcomputadores


• En 1974, Intel presenta el chip Intel 8080, una CPU de propósito general de 8-bit con un clock de
2MHz, sucesora del 4004 y el 8008, los primeros microprocesadores del mercado. Fue parte del
popular MITS Altair 8800, que dió inicio a la era de los microcomputadores.
INTEL DESEABA UN SISTEMA OPERATIVO PROPIO PARA EL INTEL 8080, POR LO CUAL GARY KILDALL
 CONSTRUYÓ UN SISTEMA OPERATIVO BASADO EN DISCO (CONTENIDO EN UN FLOPPY DISK DE 8")
CONECTADO AL 8080, Y LLAMADO CP/M (CONTROL PROGRAM FOR MICROCOMPUTERS). CP/M ERA UN
SISTEMA SINGLE-TASK DE 8-BIT Y CAPAZ DE UTILIZAR HASTA 64 KB DE MEMORIA. SI BIEN EL SISTEMA FUE
ADOPTADO POR INTEL, NO LE VEÍAN MUCHO FUTURO A UN SISTEMA OPERATIVO RESIDENTE EN DISCO, Y
LOS DERECHOS QUEDARON EN MANOS DE GARY KILDALL QUIEN FORMÓ LA COMPAÑÍA DIGITAL RESEARCH
INC. PARA DESARROLLAR Y VENDER CP/M. DIGITAL RESEARCH ADAPTÓ CP/M PARA DIVERSOS
MICROCOMPUTADORES USANDO EL INTEL 8080, PERO TAMBIÉN PARA OTROS MICROPROCESADORES DE LA
ÉPOCA COMO EL ZILOG Z80, DOMINANDO EL MERCADO DURANTE UNOS 5 AÑOS. EN ESTE PERIODO SE
DESARROLLARON VERSIONES MULTITASKING Y DE 16-BIT. APLICACIONES QUE SURGIERON BAJO CP/M
FUERON WORDSTAR (PROCESADOR DE TEXTO), DBASE (BASE DE DATOS), MULTIPLAN (PLANILLA DE
CÁLCULO), Y TURBO PASCAL (IDE Y COMPILADOR PARA PASCAL).

IBM PC y la masificación de Microsoft DOS


IBM, por su parte, que había dominado el mercado de los mainframes se estaba quedando atrás en el nuevo mercado de
los microcomputadores y empezó a desarrollar su propia versión: el IBM Personal Computer (IBM PC) basado en el 
Intel 8088 de 16-bit, 4.77MHz de clock, y hasta 256 kB de RAM. En 1980, IBM contactó a una pequeña compañía de
nombre Microsoft fundada por Bill Gates y Paul Allen en 1975, y conocida por desarrollar un intérprete del lenguaje 
BASIC para el popular Altair 8800. Sin embargo, IBM deseaba un sistema operativo completo, y Bill Gates les sugirió
contactar a Digital Research, que con CP/M era el dominador absoluto de los sistemas operativos. La negociación con
Digital Research fracasó al no llegar a un NDA (Non-Disclosure Agreement) respecto al IBM PC. Si bien las 
razones no son claras, se dice que Gary Kildall no quiso reunirse con IBM, que envió a Dorothy McEwen (co-fundadora de
Digital Research, y su esposa) en su lugar, que no estuvo de acuerdo con el espacio de tiempo que se le otorgaba para
desarrollar una versión de CP/M para el Intel 8088 (que sería el futuro CP/M-86, ya que el set de instrucciones era Intel
8086), o que simplemente no se llegó a acuerdo económico. Varios artículos discuten cómo ocurrió esta curiosa serie de
eventos. (1), (2). Gary Kildall murió en 1994, a los 52 años, bajo circunstancias que tampoco quedaron totalmente claras (
3), (4)
LO CIERTO ES QUE IBM REGRESÓ CON MICROSOFT PARA SOLICITAR EL DESARROLLO DE UN SISTEMA
OPERATIVO PARA SU IBM PC. BILL GATES ADQUIRIÓ UN CLON DE CP/M DE UNA COMPAÑÍA MÁS PEQUEÑA AÚN
LLAMADA SEATTLE COMPUTER PRODUCTS (SCP). SCP TAMBIÉN SE ENCONTRABA CONSTRUYENDO UN
SISTEMA BASADO EN EL 8088, Y ANTE LA DEMORA EN LA SALIDA DE CP/M-86, UNO DE SUS EMPLEADOS, 
TIM PATERSON HABÍA DESARROLLADO EN 4 MESES UN CLON LLAMADO QDOS (QUICK AND DIRTY OPERATING
SYSTEM) QUE FUE RENOMBRADO A 86-DOS. MICROSOFT LOGRÓ UN ACUERDO CON SCP PARA DISTRIBUIR, Y
POSTERIORMENTE ADQUIRIR TODOS LOS DERECHOS SOBRE 86-DOS LLAMÁNDOLO MICROSOFT DISK
OPERATING SYSTEM (MS-DOS). ESTE SISTEMA OPERATIVO, JUNTO AL INTÉRPRETE DE BASIC FUERON
OFRECIDOS A IBM. MICROSOFT CONTRATÓ A TIM PATERSON PARA REALIZAR ALGUNAS MODIFICACIONES Y
FINALMENTE EL IBM PC FUE LANZADO JUNTO AL SISTEMA OPERATIVO RENOMBRADO POR IBM COMO PC-DOS.
DEBIDO A QUE, EN EL FONDO, PC-DOS HABÍA NACIDO COMO UN CLON DE CP/M Y PARA EVITAR PROBLEMAS
LEGALES, IBM EVENTUALMENTE DISTRIBUYÓ SU IBM PC TAMBIÉN CON CP/M-86. SIN EMBARGO, CP/M-86 HABÍA
LLEGADO 6 MESES TARDE Y EN ESE TIEMPO LA POPULARIDAD DE PC-DOS CRECIÓ RÁPIDAMENTE.

Doug Engelbart y la interactividad: "The Mother of All Demos"


Aún a inicios de los años 1980s, tanto MS-DOS como CP/M-86 seguían interactuando con el usuario a través de líneas
de comando y teclado. Esto cambiaría debido a una investigación en interacción humano-computador que venía
siendo desarrollada desde los años 1960s por Doug Engelbart (1925-2013) en el Stanford Research Institute (SRI),
quien creó las GUI (Graphical User Interface) como medio de interactuar con el computador mediante un conjunto de
abstracciones gráficas como ventanas, íconos, menúes, hipertexto (sí, hipertexto, ahí quedaste Tim Berners-Lee
#conrespeto), y un novedoso dispositivo llamado mouse capaz de controlar un puntero en pantalla. Su trabajo, el
sistema NLS (oN-Line System) fue presentado en un evento histórico que se conoció posteriormente como The Mother
of All Demos (vale la pena verlo con los ojos de 1968). Tuvo tanta influencia que este tipo de interfaces se empezó a
usar en el centro de investigación de Xerox PARC (Xerox Palo Alto Research Center) y en particular en su computador 
Xerox Alto. El trabajo de Doug Engelbart le otorgaría el Turing Award 1997 por su visión del futuro de la computación
interactiva.
APPLE Y LA EVOLUCIÓN DE MACOS
No sería, hasta el desarrollo del Apple Lisa (1983) y el Apple Macintosh (1984), los primeros computadores
personales en incluir una interfaz gráfica, que las GUIs se harían populares al acercar el uso del computador al
público general e incorporar el concepto de user friendliness. Se dice que Steve Jobs, co-fundador de Apple
Computer Inc. habría tenido la idea incorporar la GUI a su próximo computador (Lisa) luego de una visita que
realizó en 1979 a Xerox PARC, sin embargo hay testimonios que indican que el plan de incorporar una GUI al
Apple Lisa existía de manera previa a dicha visita (Steve Jobs y los ingenieros de Apple tenían suficientes
motivos para visitar Xerox PARC, en cualquier caso, y la visita efectivamente ocurrió). En cualquier caso el
Apple Macintosh fue ampliamente popular en particular en el ámbito del diseño gráfico.
HASTA 1999, EL SISTEMA OPERATIVO DE LOS COMPUTADORES DE APPLE (LLAMADO AHORA "CLASSIC MAC OS") SE TRATABA
DE UN KERNEL MONOLÍTICO DESARROLLADO PARA CHIPS MOTOROLA 68K. SU ÚLTIMA VERSIÓN FUE EL MAC OS 9. EL
PRÓXIMO KERNEL TOMA COMO PUNTO DE ORIGEN A MACH, UNA REIMPLEMENTACIÓN DE BSD UNIX CON ARQUITECTURA
DE MICROKERNEL DESARROLLADO EN CARNEGIE MELLON UNIVERSITY. LA COMPAÑÍA NEXT, FUNDADA POR STEVE JOBS
DURANTE SU PERIODO FUERA DE APPLE, HABÍA DESARROLLADO EL SISTEMA OPERATIVO NEXTSTEP A PARTIR DE MACH, Y
ESCRITO EN C Y OBJECTIVE-C. CUANDO APPLE ADQUIRIÓ NEXT (Y A STEVE JOBS DE REGRESO), SE INTRODUJO
EL KERNEL HÍBRIDO XNU (XNU IS NOT UNIX) COMBINANDO IDEAS DEL KERNEL MACH 2.5 Y DE UNIX BSD 4.3. SE INCORPORÓ
CÓDIGO DEL KERNEL DE NEXTSTEP (Y SU SIGUIENTE VERSIÓN OPENSTEP), Y DEL PROYECTO FREEBSD UNA
IMPLEMENTACIÓN OPENSOURCE DE BSD UNIX. CON BASE EN EL KERNEL XNU SE CONSTRUYÓ EL SISTEMA OPERATIVO
QUE SE CONOCE COMO DARWIN (OPENSOURCE Y POSIX-COMPLIANT), QUE JUNTO CON HERRAMIENTAS PROPIETARIAS DE
APPLE (COMO FINDER Y LA INTERFAZ GRÁFICA AQUA) CONFORMARON EL SISTEMA OPERATIVO MAC OS X.

Microsoft y la evolución de Windows


Fuertemente influenciado por el éxito del Apple Macintosh, a inicios de 1980s Microsoft planeaba un sucesor
para MS-DOS que tuviera su propia GUI. Su primer intento fue un sistema administrador de ventanas llamado 
Windows 1.0 (1985) que funcionaba como una aplicación sobre MS-DOS. La versión que consiguió mayor
adopción fue Windows 3.11, para sistemas de 16-bit. Fue en 1995, con el lanzamiento de Windows 95 y luego
Windows 98, que se incorporó código para aprovechar las nuevas CPU de 32-bit, aun cuando parte del sistema
operativo debía soportar aún aplicaciones de 16-bit por retrocompatibilidad. MS-DOS seguía siendo usado para
iniciar el sistema y como soporte subyacente para aplicaciones antiguas.
Ya desde 1987, Microsoft había trabajado en conjunto con IBM para construir un sistema operativo con GUI. Este
sistema se conoció como OS/2, sin embargo nunca alcanzó gran popularidad ante Macintosh y los mismos
Windows 9x. Eventualmente Microsoft tomó parte del trabajo desarrollado para OS/2 y reimplementó Windows
usando código completamente de 32-bit. Este nuevo sistema se llamó Windows NT (Windows New Technology),
mientras OS/2 fue eventualmente abandonado por IBM.
Quinta Generación (1990-Presente): Computadores Móviles
• Hasta 1993, los dispositivos telefónicos móviles no era más que dispositivos de comunicación que
usaban sistemas embebidos, dedicados, para administrar su hardware. El concepto de utilizar estos
dispositivos para realizar actividades más allá de la telefonía surgió con los dispositivos conocidos
como PDA (Personal Digital Assistant), entre los cuales se encuentra el Apple Newton que incluía un
sistema operativo Newton OS escrito en C++, y con un pionero uso de reconocimiento de escritura
manual. Poseía una API para aplicaciones desarrolladas por terceros, sin embargo no obtuvo gran
adopción.
• Talvez el primer dispositivo llamado un smartphone fue el IBM Simon, con una interfaz de
pantalla touch (con stylus) y un sistema operativo ROM-DOS, compatible con MS-DOS y desarrollado
por la empresa Datalight. Su batería de una hora de duración no le permitió competir con los nuevos
dispositivos.
FUE EN 1997 QUE LA YA EXTINTA COMPAÑÍA PALM, INC. POPULARIZÓ LOS DISPOSITIVOS PDA MEDIANTE SU 
PALMPILOT, Y SU SISTEMA OPERATIVO PALM OS 2.0 COMO EL PRIMER SISTEMA OPERATIVO MÓVIL EXITOSO.
INCORPORABA EL SISTEMA GRAFFITI DE RECONOCIMIENTO DE ESCRITURA MANUAL, Y EL STACK DE
PROTOCOLOS TCP/IP PARA SOPORTAR SINCRONIZACIÓN POR RED EN LUGAR DE CABLE SERIAL. PALM OS
INTRODUJO PAULATINAMENTE CARACTERÍSTICAS MODERNAS ACORDE A LA EVOLUCIÓN DE LOS
DISPOSITIVOS COMO SOPORTE PARA EL STACK WIFI (IEEE 802.11), BLUETOOH, Y DESDE 2004 CON PALM OS 6.0
(COBALT), UN KERNEL CON MULTITASKING Y PROTECCIÓN DE MEMORIA. EN 2009, PALM, INC. INTENTÓ
PONERSE AL DÍA EN LA COMPETENCIA POR EL MERCADO MÓVIL CON EL DESARROLLO DE WEBOS. PALM, INC.
SERÍA ADQUIRIDO POR HP AL AÑO SIGUIENTE Y EL DESARROLLO DE WEBOS NO SE VERÍA IMPULSADO HASTA
AL MENOS DOS AÑOS MÁS CUANDO EL CÓDIGO DE WEBOS SE PUBLICÓ DE MANERA ABIERTA. FINALMENTE HP
LICENCIA EL USO DE WEBOS A LG PARA INCORPORARLO EN SUS DISPOSITIVOS SMARTTV.
NOKIA Y SYMBIANOS
El éxito de Palm llevó a otros protagonistas de la telefonía móvil como Nokia a co-fundar y posteriormente
adquirir completamente a Symbian Ltd.. El consorcio fundador incluía a Psion, una compañía que estaba
detrás de EPOC, un sistema operativo single-user de 32-bit con preemptive multitasking del año 1998, que
bajo Symbian se convertiría en Symbian OS cuya primera versión (6.0) fue utilizada en el 
Nokia 9210 Communicator. Symbian OS corría sobre procesadores ARM, una arquitectura RISC. En su mejor
momento, Symbian OS fue el sistema preferido por manufacturadores como Samsung, Motorola, Sony
Ericsson, y principalmente Nokia. Poseía un microkernel llamado EKA2 que soportaba preemptive
multithreading, protección de memoria, y scheduling para tareas de tiempo real (RTOS). Poseía un diseño
orientado a objetos y estaba escrito en C++. Symbian OS dominó gran parte del mercado de los sistemas
operativos móviles hasta su abandono paulatino por Samsung, Sony Ericsson y eventualmente Nokia (que lo
reemplazaría por Windows Phone), lo que lo hizo perder terreno ante la irrupción de iOS y Android.

• Durante los años 2005 al 2010 y previo a la consolidación de Android existieron diversos esfuerzos por
generar una plataforma opensource basada en el kernel de Linux. Nokia tuvo su intento propio con 
Maemo, un kernel monolítico basado en Debian GNU/Linux y con interfaz basada en GNOME para
arquitecturas ARM. Previo a la adopción de Windows Phone, Nokia abandona Maemo y, en conjunto
con Linux Foundation e Intel crea la distribución MeeGo con la intención de servir de plataforma para
dispositivos como smartphones, tablets, smartTVs y netbooks. MeeGo nace como una mezcla de las
plataformas de Nokia (Maemo) y una que estaba desarrollando Intel (Moblin, que a su vez estaba
basado en Fedora). Sin embargo, en 2011, cuando Nokia adopta Windows Phone, abandona MeeGo.
A partir de MeeGo, Intel se une con Samsung y Linux Foundation para desarrollar Tizen. En una línea
paralela, la compañía finlandesa Jolla aprovecha el código opensource de Mer, un fork de MeeGo y
desarrolla Sailfish OS, un kernel monolítico con compatibilidad para Android mediante APIs, soporte
para ARM y x86-64, y un fuerte énfasis en multitasking.
MICROSOFT Y EL WINDOWS PHONE
Microsoft había desarrollado desde 1996 un sistema operativo embebido llamado Windows CE (actualmente
Windows Embedded Compact) diseñado para una especificación de plataformas incialmente denominado 
Pocket PC. Los primeros dispositivos con Windows CE se lanzaron en 2002. Windows CE contenía un kernel
híbrido escrito en C y soportaba arquitecturas x86, ARM, MIPS y PowerPC. La serie de sistemas operativos
móviles basados en Windows CE fue conocida como Windows Mobile (incluyendo el media player Zune) y
fue desarrollado hasta 2010. Posteriormente Microsoft reimplementaría su sistema operativo móvil basado en
la línea de Windows NT, dando inicio a Windows Phone, línea que fue descontinuada en 2017 debido al poco
interés de los desarrolladores en generar aplicaciones para esta plataforma ante la dominancia de iOS y
Android.
RIM Y BLACKBERRY OS
En 2002 la compañía canadiense Research In Motion (RIM) desarrolló su propia línea de dispositivos móviles
conocidos como BlackBerry y su propio sistema operativo BlackBerry OS (RIM con el tiempo cambiaría su nombre a
BlackBerry Ltd.). BlackBerry OS era un sistema multitasking con soporte para aplicaciones mediante la plataforma
especial para dispositivos embebidos Java Micro Edition (JavaME). Incluía soporte para WAP, un stack de protocolos
de comunicación para móviles que dejó de ser adoptado cuando los dispositivos móviles fueron suficientemente
poderosos para procesar el tradicional stack TCP/IP. En 2010, BlackBerry OS fue reemplazado por BlackBerry 10, un
sistema basado en el microkernel de tiempo real (RTOS) QNX. Desde 2016, los dispositivos producidos por BlackBerry
empezaron a usar Android en lugar de BlackBerry 10, cuyo soporte ha sido anunciado al menos hasta 2019.
APPLE: EL IPHONE Y IOS
El año 2007 ocurrió la entrada de uno de los principales competidores cuando Apple presentó su 
iPhone junto con su sistema operativo iOS (originalmente iPhone OS). iOS, al igual que MacOSX
se basa en el kernel híbrido XNU y el sistema operativo (UNIX-like) Darwin. Desde el año 2010,
con iOS 4, el sistema añadió soporte de APIs para multitasking por parte de aplicaciones de
usuario. Previamente el multitasking estaba restringido solo a ciertos servicios del sistema. La
disponibilidad del iOS SDK (Software Development Kit) atrajo el desarrollo de múltiples
aplicaciones nativas disponibles desde una tienda online (App Store), popularizando rápidamente
el uso del iPhone y posicionándolo como uno de los principales competidores.
ANDROID, LA ENTRADA DE GOOGLE
Meses después del lanzamiento del primer iPhone, un conjunto de compañías lideradas por Google,
incluyendo a HTC, Sony, Dell, Intel, Motorola, Samsung, LG, Nvidia, entre otros, forman la Open Handset
Alliance (OHA). Con el soporte de OHA, Google lanza en 2008 la primera versión de Android, un sistema
operativo monolítico (UNIX-like) de código abierto basado en el kernel Linux. Android inició su desarrollo bajo
la compañía Android, Inc. fundada en 2003. El año 2005 Google adquirió Android, Inc. y fue bajo su alero que
el equipo de desarrollo terminó la primera versión Android 1.0. De manera similar a App Store, Android lanzó
el Android Market (más tarde Google Play Store), y el Android SDK para el desarrollo de aplicaciones
(escritas principalmente en Java, y recientemente en Kotlin) para terceros. El soporte de OHA, integrado por
importantes actores del mercado smartphone fue clave para posicionar a Android como el sistema operativo
dominador en los dispositivos móviles desde el año 2010, con iOS como su único (y distante) competidor real.

You might also like