Anda di halaman 1dari 21

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

FACULTAD DE INGENIERA CIVIL, SISTEMAS Y ARQUITECTURA

Taller de computacin e informtica bsica grupo B

Alumno:

FRANCO CHUGDN, Jorge Miguel

Docente:

OLAVARRIA PAZ, Jess

Lambayeque, septiembre del 2017


SISTEMAS OPERATIVOS

Qu es un sistema operativo?

El sistema operativo es el principal programa que se ejecuta en toda computadora de


propsito general.

Los hay de todo tipo, desde muy simples hasta terriblemente complejos, y entre ms
casos de uso hay para el cmputo en la vida diaria, ms variedad habr en ellos.

Un sistema operativo es un programa, o conjunto de programas que torna amigable,


eficiente y productivo el uso de un computador (hardware), permitiendo la ejecucin
aplicaciones de usuario. Es el intermediario entre las aplicaciones de usuario y el
hardware.

Metas:

Brindar un ambiente de realizacin y ejecucin de aplicaciones

Proveer un entorno sin interferencias a cada usuario (interferencia: Lo que un


usuario modifica en su entorno, no interfiera ni modifique lo de otro usuario)

Administrar en forma equitativa los recursos (hardware y software)

Hacerlo de la forma ms amigable e intuitiva posible Todas las aplicaciones de


usuario requieren un conjunto comn de operaciones que son incorporadas al
sistema operativo.

Tareas principales:

Implementar diferentes entornos para diferentes usos (interfaz grfica, shells,


tipo web, etc) Proveer una o ms interfaces con el usuario.

Proveer a las aplicaciones un conjunto de servicios (a travs de los system


services)

Eficiencia y equidad en la administracin de recursos.

Se Puede decir que el Sistema operativo es un:

Administrador de recursos. Su tarea consiste en administrar los recursos


disponibles y decidir como asignar estos recursos segn los pedidos y
asignaciones que tenga.
Programa de Control: Controla la ejecucin de los programas para la prevencin
de errores y mal uso del sistema. Frecuentemente la porcin residente (el cdigo
incambiable. Cuanto ms cdigo incambiable, ms inflexible es) del propio
sistema operativo se denomina ncleo del sistema (Kernel).

HISTORIA DE LOS SISTEMAS OPERATIVOS

Todo empez en la dcada de los 40.

AOS 40

A finales de los aos 1940, con lo que podramos llamar la aparicin de la primera
generacin de computadoras, se acceda directamente a la consola de la computadora
desde la cual se actuaba sobre una serie de micro interruptores que permitan introducir
directamente el programa en la memoria de la computadora (en realidad al existir tan
pocas computadoras todos podran considerarse prototipos y cada constructor lo haca
sin seguir ningn criterio predeterminado). Por aquel entonces no existan los sistemas
operativos, y los programadores deban interactuar con el hardware del computador sin
ayuda externa. Esto haca que el tiempo de preparacin para realizar una tarea fuera
considerable. Adems, para poder utilizar la computadora deba hacerse por turnos. Para
ello, en muchas instalaciones, se rellenaba un formulario de reserva en el que se
indicaba el tiempo que el programador necesitaba para realizar su trabajo. En aquel
entonces las computadoras eran mquinas muy costosas lo que haca que estuvieran
muy solicitadas y que slo pudieran utilizarse en periodos breves de tiempo. Todo se
haca en lenguaje de mquina.

AOS 50 (Sistema Batch)

A principios de los aos 50 con el objeto de facilitar la interaccin entre persona y


computador, los sistemas operativos hacen una aparicin discreta y bastante simple, con
conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento
temporal.

Proceso en serie

En los primeros computadores, de finales de los 40 hasta mediados de los 50, el


programador interactuaba directamente con el hardware; no haba sistema operativo. La
operacin con estas mquinas se efectuaba desde una consola consistente en unos
indicadores luminosos, unos conmutadores, algn tipo de dispositivo de entrada y una
impresora. Los programas en cdigo mquina se cargaban a travs del dispositivo de
entrada (un lector de tarjetas, por ejemplo). Si se detiene el programa por un error, la
condicin de error se indicaba mediante los indicadores luminosos. El programador
poda examinar los registros y la memoria principal para determinar la causa del error.
Si el programa continuaba hasta su culminacin normal, la salida aparecera en la
impresora.

Estos primeros sistemas presentaban dos problemas principales:

Planificacin: La mayora de las instalaciones empleaban un formulario de reserva de


tiempo de mquina. Normalmente, un usuario poda reservar bloques de tiempo en
mltiplos de media hora o algo por el estilo. Un usuario poda reservar una hora y
terminar a los 45 minutos; esto daba como resultado un desperdicio del tiempo del
computador. Por el contrario, el usuario poda tener dificultades, no terminar en el
tiempo asignado y verse forzado a parar sin haber solucionado el problema.

Tiempo de preparacin: Un programa sencillo, llamado trabajo, cargaba un


compilador y un programa en lenguaje de alto nivel (programa fuente) en la memoria,
salvaba el programa compilado (programa objeto) y luego montaba y cargaba el
programa objeto junto con las funciones comunes. Cada uno de estos pasos poda
implicar montar y desmontar cintas o preparar paquetes de tarjetas. Si se produca un
error, el infortunado usuario tena que volver al inicio de este proceso de preparacin.
De este modo, se perda un tiempo considerable en preparar un programa para su
ejecucin.

Este modo de operacin podra denominarse proceso en serie porque refleja el hecho de
que los usuarios tenan que acceder al computador en serie. Con el paso del tiempo se
desarrollaron varias herramientas de software de sistemas para intentar hacer ms
eficiente este proceso en serie. Entre stas se incluan bibliotecas de funciones comunes,
montadores, cargadores, depuradores y rutinas de manejo de E/S que estaban
disponibles como un software comn para todos los usuarios.

Monitor residente

Su funcionamiento era bastante simple, se limitaba a cargar los programas a memoria,


leyndolos de una cinta o de tarjetas perforadas, y ejecutarlos. El problema era
encontrar una forma de optimizar el tiempo entre la retirada de un trabajo y el montaje
del siguiente.

Procesamiento por lotes

Como solucin para optimizar el tiempo de montaje surgi la idea de agrupar los
trabajos en lotes, en una misma cinta o conjunto de tarjetas, de forma que se ejecutaran
uno a continuacin de otro sin perder apenas tiempo en la transicin.

Las primeras mquinas eran muy caras y, por tanto, era importante maximizar la
utilizacin de las mismas. El tiempo desperdiciado por la planificacin y la preparacin
era inaceptable.

Para mejorar el uso, se desarroll el concepto de sistema operativo por lotes (batch). El
primer sistema operativo por lotes fue desarrollado a mediados de los 50 por la General
Motors para usar en un IBM 701 [WEIZ81]. Este concepto fue refinado posteriormente
e implementado en un IBM 704 por una serie de clientes de IBM. A principios de los
60, un conjunto de constructores ya haba desarrollado sistemas operativos por lotes
para sus computadores. IBSYS, el sistema operativo de IBM para las computadoras
7090/7094, es particularmente notable por su amplia influencia en otros sistemas.

La idea central que est detrs del esquema sencillo de proceso por lotes es el uso de un
elemento de software conocido como monitor. Con el uso de esta clase de sistema
operativo, los usuarios ya no tenan acceso directo a la mquina. En su lugar, el usuario
deba entregar los trabajos en tarjetas o en cinta al operador del computador, quien
agrupaba secuencialmente los trabajos por lotes y ubicaba los lotes enteros en un
dispositivo de entrada para su empleo por parte del monitor. Cada programa se
construa de modo tal que volviera al monitor al terminar su procesamiento y, en ese
momento, el monitor comenzaba a cargar automticamente el siguiente programa.

Para entender cmo funciona este esquema, se va a ver desde dos puntos de vista: el del
monitor y el del procesador. Desde el punto de vista del monitor, l es quien controla la
secuencia de sucesos. Para que esto sea posible, gran parte del monitor debe estar
siempre en memoria principal y disponible para su ejecucin (figura 2.3). Esta parte del
monitor se conoce como monitor residente. El resto del monitor consta de utilidades y
funciones comunes que se cargan como subrutinas en los programas de los usuarios al
comienzo de cualquier trabajo que las necesite. El monitor lee los trabajos uno a uno del
dispositivo de entrada (normalmente, un lector de tarjetas o una unidad de cinta
magntica). A medida que lo lee, el trabajo actual se ubica en la zona del programa de
usuario y el control pasa al trabajo. Cuando el trabajo termina, se devuelve el control al
monitor, quien lee inmediatamente un nuevo trabajo. Los resultados de cada trabajo se
imprimen y entregan al usuario.

Considrese ahora esta secuencia desde el punto de vista del procesador. En un cierto
momento, el procesador estar ejecutando instrucciones de la zona de memoria principal
que contiene al monitor. Estas instrucciones hacen que el trabajo siguiente sea ledo en
otra zona de la memoria principal. Una vez que el trabajo se ha ledo, el procesador
encuentra en el monitor una instruccin de desvo que ordena al procesador continuar la
ejecucin en el inicio del programa de usuario. El procesador ejecuta entonces las
instrucciones del programa de usuario hasta que encuentre una condicin de finalizacin
o de error. Cualquiera de estos dos sucesos provoca que el procesador vaya a por la
instruccin siguiente del programa monitor. De este modo, la frase "el control se le pasa
al trabajo" quiere decir simplemente que el procesador pasa a leer y ejecutar
instrucciones del programa de usuario, mientras que la frase "el control vuelve al
monitor" quiere decir que el procesador pasa ahora a leer y ejecutar las instrucciones del
programa monitor.

Debe quedar claro que es el monitor el que gestiona el problema de la planificacin. Se


pone en cola un lote de trabajos y stos son ejecutados tan rpido como es posible, sin
que haya tiempo alguno de desocupacin.

Qu ocurre con la preparacin de los trabajos? El monitor tambin se encarga de esto.


Con cada trabajo, se incluyen instrucciones de una forma primitiva de lenguaje de
control de trabajos (JCL, Job Control Lenguaje), que es un tipo especial de lenguaje de
programacin empleado para dar instrucciones al monitor. La figura 2.4 muestra un
ejemplo sencillo con entrada de trabajos desde tarjetas. En este ejemplo, el usuario
enva un programa escrito en FORTRAN junto a unos datos que se utilizarn en el
programa. Adems de las tarjetas de FORTRAN y de datos, el paquete incluye
instrucciones de control de trabajos, que se denotan mediante un signo dlar ($) al
comienzo.

Para ejecutar el trabajo, el monitor lee la tarjeta $FTN y carga el compilador adecuado
desde el dispositivo de almacenamiento masivo (generalmente una cinta). El compilador
traduce el programa de usuario en cdigo objeto, que se almacena en memoria o en el
dispositivo de almacenamiento. Si se carga en memoria, la operacin es conocida como
"compilar, cargar y arrancar" (compile, load, and go). Si se almacena en cinta, entonces
se requiere la tarjeta $LOAD. Esta tarjeta es leda por el monitor, quien retoma el
control despus de la operacin de compilacin. El monitor llama al cargador, que carga
el programa objeto en memoria en el lugar del compilador y le transfiere el control. De
esta manera, un segmento grande de memoria se puede compartir entre diferentes
subsistemas, aunque en cada momento slo uno de ellos tiene que estar presente y
ejecutndose.

Durante la ejecucin del programa de usuario, cada instruccin de entrada origina la


lectura de una tarjeta de datos. La instruccin de entrada en el programa del usuario
hace que se invoque una rutina de entrada, que forma parte del sistema operativo. La
rutina de entrada se asegura de que el programa de usuario no ha ledo accidentalmente
una tarjeta JCL. Si esto sucede, se produce un error y el control se transfiere al monitor.
Al terminar un trabajo, con o sin xito, el monitor recorre las tarjetas de entrada hasta
encontrar la prxima tarjeta JCL. De este modo, el sistema se protege contra un
programa que tenga tarjetas de datos de ms o de menos.

Se comprobar que el monitor o el sistema de proceso por lotes es simplemente un


programa de computador. Se basa en la capacidad del procesador para traer y ejecutar
instrucciones desde varias zonas de la memoria principal y as apoderarse y ceder el
control de forma alterna. Para esto serian convenientes algunas otras caractersticas del
hardware, entre las que se encuentran las siguientes:
Proteccin de memoria: Mientras el programa de usuario est ejecutndose, no debe
modificar la zona de memoria en la que est el monitor. Si se hace un intento tal, el
hardware del procesador deber detectar el error y transferir el control al monitor. El
monitor abortar entonces el trabajo, imprimir el mensaje de error y cargar el
siguiente trabajo.

Temporizador: Se utiliza un temporizador para impedir que un slo trabajo


monopolice el sistema. El temporizador se lanza al comenzar cada trabajo. Si expira el
tiempo, se producir una interrupcin y el control volver al monitor.

Instrucciones Privilegiadas: Ciertas instrucciones son designadas como privilegiadas y


pueden ser ejecutadas solo por el monitor. Si el procesador encuentra una instruccin
tal, cuando est ejecutando el programa del usuario, se producir una interrupcin de
error. Entre las instrucciones privilegiadas se encuentran las instrucciones de E/S, de
forma que el monitor retenga el control de todos los dispositivos de E/S. Esto impide,
por ejemplo, que un programa de usuario lea accidentalmente instrucciones de control
que son del trabajo siguiente. Si un programa de usuario desea realizar una E/S, debe
solicitarse al monitor que haga la operacin por l. Si el procesador encuentra una
instruccin privilegiada cuando est ejecutando un programa de usuario, el hardware del
procesador la considera como un error y transfiere el control al monitor.

Interrupciones: Los primeros modelos de computadores no tenan esta capacidad. Esta


caracterstica aporta al sistema operativo ms flexibilidad para ceder y retomar el
control de los programas usuarios.

Naturalmente, se puede construir un sistema operativo sin estas caractersticas, pero los
fabricantes de computadores comprobaron rpidamente que los resultados eran caticos
y, por tanto, incluso los sistemas operativos por lotes ms primitivos ya disponan de
estas caractersticas en el hardware. Por otro lado, hay que decir que el sistema
operativo ms utilizado del mundo, el PC-DOS/MS-DOS, no dispone de proteccin de
memoria ni de instrucciones privilegiadas de E/S. Sin embargo, como este sistema est
destinado a computadores personales de un solo usuario, los problemas que se pueden
originar son menos graves.

En un sistema operativo por lotes, el tiempo de mquina se reparte entre la ejecucin de


programas de usuario y la ejecucin del monitor. As se tienen dos prdidas: se entrega
al monitor cierta cantidad de memoria principal y ste consume cierto tiempo de la
mquina. Ambas prdidas son una forma de sobrecarga. An con esta sobrecarga, los
sistemas operativos sencillos por lotes mejoran el uso del computador.

Almacenamiento temporal

Su objetivo era disminuir el tiempo de carga de los programas, haciendo simultnea la


carga del programa o la salida de datos con la ejecucin de la siguiente tarea. Para ello
se utilizaban dos tcnicas, el buffering y el spooling.

La dcada de 1960

En los aos 60 se produjeron cambios notorios en varios campos de la informtica, con la


aparicin del circuito integrado la mayora orientados a seguir incrementando el potencial de los
ordenadores. Para ello se utilizaban tcnicas de lo ms diversas.

Los Sistemas multiprogramados

A lo largo de su ejecucin, un programa normalmente pasa por etapas con muy distintas
caractersticas: durante un ciclo fuertemente dedicado al clculo numrico, el sistema
opera limitado por el CPU (CPU-bound), mientras que al leer o escribir resultados a
medios externos (incluso mediante spools) el lmite es impuesto por los dispositivos,
esto es, opera limitado por entrada-salida (I-O bound). La programacin multitareas o
los sistemas multiprogramados buscaban maximizar el tiempo de uso efectivo del
procesador ejecutando varios procesos al mismo tiempo. El hardware requerido cambi
fuertemente. Si bien se esperaba que cada usuario fuera responsable con el uso de
recursos, result necesario que apareciera la infraestructura de proteccin de recursos:
un proceso no debe sobrescribir el espacio de memoria de otro (ni el cdigo, ni los
datos), mucho menos el espacio del monitor. Esta proteccin se encuentra en la Unidad
de Manejo de Memoria (MMU), presente en todas las computadoras de uso genrico
desde los aos noventa. Ciertos dispositivos requieren bloqueo para ofrecer acceso
exclusivo/nico: cintas e impresoras, por ejemplo, son de acceso estrictamente
secuencial, y si dos usuarios intentaran usarlas al mismo tiempo, el resultado para
ambos se corrompera. Para estos dispositivos, el sistema debe implementar otros spools
y mecanismos de bloqueo.
Sistemas de tiempo compartido El modo de interactuar con las computadoras se
modific drsticamente durante los aos sesenta, al extenderse la multitarea para
convertirse en sistemas interactivos y multiusuarios, en buena medida diferenciados de
los anteriores por la aparicin de las terminales (primero teletipos seriales,
posteriormente equipos con una pantalla completa como se conocen hasta hoy). En
primer trmino, la tarea de programacin y depuracin del cdigo se simplific
fuertemente al poder hacer el programador directamente cambios y someter el programa
a la ejecucin inmediata. En segundo trmino, la computadora nunca ms estara
simplemente esperando a que est listo un programa: mientras un programador editaba o
compilaba su programa, la computadora segua calculando lo que otros procesos
requirieran. Un cambio fundamental entre el modelo de multiprogramacin y de tiempo
compartido es el tipo de control sobre la multitarea (se ver en detalle en el captulo 3).
Multitarea cooperativa o no apropiativa (Cooperative multitasking). La implementaron
los sistemas multiprogramados: cada proceso tena control del CPU hasta que ste haca
una llamada al sistema (o indicara su disposicin a cooperar por medio de la llamada
yield: ceder el paso). Un clculo largo no era interrumpido por el sistema operativo, en
consecuencia, un error de programador poda congelar la computadora completa.
Multitarea preventiva o apropiativa (Preemptive multitasking). En los sistemas de
tiempo compartido, el reloj del sistema interrumpe peridicamente a los diversos
procesos, transfiriendo forzosamente el control nuevamente al sistema operativo. ste
puede entonces elegir otro proceso para continuar la ejecucin. Adems, fueron
naciendo de forma natural y paulatina las abstracciones que se conocen hoy en da,
como los conceptos de archivos y directorios, y el c- digo necesario para emplearlos
iba siendo enviado a las bibliotecas de sistema y, cada vez ms (por su centralidad)
hacia el ncleo mismo del, ahora s, sistema operativo. Un cambio importante entre los
sistemas multiprogramados y de tiempo compartido es que la velocidad del cambio
entre una tarea y otra es mucho ms rpido: si bien en un sistema multiprogramado un
cambio de contexto poda producirse slo cuando la tarea cambiaba de un modo de
ejecucin a otro, en un sistema interactivo, para dar la ilusin de uso exclusivo de la
computadora, el hardware emita peridicamente al sistema operativo interrupciones
(seales) que le indicaban que cambie el proceso activo (como ahora se le denomina a
una instancia de un programa en ejecucin). Diferentes tipos de proceso pueden tener
distinto nivel de importancia ya sea porque son ms relevantes para el
funcionamiento de la computadora misma (procesos de sistema), porque tienen mayor
carga de interactividad (por la experiencia del usuario) o por diversas categoras de
usuarios (sistemas con contabilidad por tipo de atencin). Esto requiere la
implementacin de diversas prioridades para cada uno de stos.

Tiempo Real

Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy
breves un gran nmero de sucesos, en su mayora externos al ordenador. Si el sistema
no respeta las restricciones de tiempo en las que las operaciones deben entregar su
resultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir para
resolver el problema o hecho planteado. El procesamiento de archivos se hace de una
forma continua, pues se procesa el archivo antes de que, entre el siguiente, sus primeros
usos fueron y siguen siendo en telecomunicaciones.

Multiprocesador

Permite trabajar con mquinas que poseen ms de un microprocesador. En un


multiprocesador los procesadores comparten memoria y reloj.

Sistemas Operativos Desarrollados

Adems del Atlas Supervisor y el OS/360, los sesenta marcaron el inicio de UNIX, a
mediados de los 60 aparece Multics, sistema operativo multiusuario multitarea
desarrollado por los laboratorios Bell de AT&T y programado en PL/1 uno de los pocos
SO desarrollados en un lenguaje de alto nivel en aquel tiempo, luego del fracaso del
proyecto UNIX comienza a desarrollarse a partir de este a finales de la dcada.

AOS 70

Debido al avance de la electrnica, pudieron empezar a crearse circuitos con miles de


transistores en un centmetro cuadrado de silicio, lo que llevara, pocos aos despus, a
producirse los primeros sistemas integrados. sta dcada se podra definir como la de
los sistemas de propsito general y en ella se desarrollan tecnologas que se siguen
utilizando en la actualidad. Es en los aos 1970 cuando se produce el boom de los
miniordenadores y la informtica se acerca al nivel de usuario. En lo relativo a
lenguajes de programacin, es de sealar la aparicin de Pascal y C, el ltimo de los
cuales se cre especficamente para reescribir por completo el cdigo del sistema
operativo Unix, convirtindolo en uno de los pocos SO escritos en un lenguaje de alto
nivel. En el campo de la programacin lgica se dio a luz la primera implementacin de
Prolog, y en la revolucionaria orientacin a objetos, Smalltalk.

Inconvenientes De Los Sistemas Existentes

Se trataba de sistemas grandes y costosos, pues antes no se haba construido nada


similar y muchos de los proyectos desarrollados terminaron con costos muy por encima
del presupuesto y mucho despus de lo que se marcaba como fecha de finalizacin.
Adems, aunque formaban una capa entre el hardware y el usuario, ste deba conocer
un complejo lenguaje de control para realizar sus trabajos. Otro de los inconvenientes es
el gran consumo de recursos que ocasionaban, debido a los grandes espacios de
memoria principal y secundaria ocupados, as como el tiempo de procesador
consumido. Es por esto que se intent hacer hincapi en mejorar las tcnicas ya
existentes de multiprogramacin y tiempo compartido.

Caractersticas De Los Nuevos Sistemas

Para solventar los problemas antes comentados, se realiz un costossimo trabajo para
interponer una amplia capa de software entre el usuario y la mquina, de forma que el
primero no tuviese que conocer ningn detalle de la circuitera.

Sistemas operativos desarrollados

* MULTICS (Multiplexed Information and Computing Service): Originalmente era un


proyecto cooperativo liderado por Fernando Corbat del MIT, con General Electric y
los laboratorios Bell, que comenz en los 60, pero los laboratorios Bell abandonaron en
1969 para comenzar a crear el sistema UNIX. Se desarroll inicialmente para el
mainframe GE-645, un sistema de 36 bits; despus fue soportado por la serie de
mquinas Honeywell 6180.

Fue uno de los primeros sistemas operativos de tiempo compartido, que implement un
solo nivel de almacenamiento para el acceso a los datos, desechando la clara distincin
entre los ficheros y los procesos en memoria, y uno de los primeros sistemas
multiprocesador.
* MVS (Multiple Virtual Storage): Fue el sistema operativo ms usado en los modelos
de mainframes -ordenadores grandes, potentes y caros usados principalmente por
grandes compaas para el procesamiento de grandes cantidades de datos- System/370 y
System/390 de IBM, desarrollado tambin por IBM y lanzado al mercado por primera
vez en 1974. Como caractersticas destacables, permita la ejecucin de mltiples tareas,
adems de que introdujo el concepto de memoria virtual y finalmente aadi la
capacidad de que cada programa tuviera su propio espacio de direccionamiento de
memoria, de ah su nombre.

* CP/M (Control Program/Monitor): Desarrollado por Gary Kildall para el


microprocesador 8080/85 de Intel y el Zilog Z80, sali al mercado en 1976,
distribuyndose en disquetes de ocho pulgadas. Fue el SO ms usado en las
computadoras personales de esta dcada. Su xito se debi a que era porttil,
permitiendo que diferentes programas interactuasen con el hardware de una manera
estandarizada. Estaba compuesto de dos subsistemas:


CCP (Comand Control Processor): Intrprete de comandos que permita
introducir los mandatos con sus parmetros separados por espacios. Adems, los
traduca a instrucciones de alto nivel destinadas a BDOS.

BDOS (Basic Disk Operating System): Traductor de las instrucciones en
llamadas a la BIOS.

El hecho de que, aos despus, IBM eligiera para sus PCs a MS-DOS supuso su mayor
fracaso, por lo que acab desapareciendo.

AOS 80

Con la creacin de los circuitos LSI -integracin a gran escala-, chips que contenan
miles de transistores en un centmetro cuadrado de silicio, empez el auge de los
ordenadores personales. En stos se dej un poco de lado el rendimiento y se busc ms
que el sistema operativo fuera amigable, surgiendo mens, e interfaces grficas. Esto
reduca la rapidez de las aplicaciones, pero se volvan ms prcticos y simples para los
usuarios. En esta poca, siguieron utilizndose lenguajes ya existentes, como Smalltalk
o C, y nacieron otros nuevos, de los cuales se podran destacar: C++ y Eiffel dentro del
paradigma de la orientacin a objetos, y Haskell y Miranda en el campo de la
programacin declarativa. Un avance importante que se estableci a mediados de la
dcada de 1980 fue el desarrollo de redes de computadoras personales que corran
sistemas operativos en red y sistemas operativos distribuidos. En esta escena, dos
sistemas operativos eran los mayoritarios: MS-DOS, escrito por Microsoft para IBM PC
y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que
dominaba en los ordenadores personales que hacan uso del Motorola 68000.

Apple Macintosh

El lanzamiento oficial se produjo en enero de 1984, al precio de 2495 dlares. Muchos


usuarios, al ver que estaba completamente diseado para funcionar a travs de una GUI
(Graphic User Interface), acostumbrados a la lnea de comandos, lo tacharon de juguete.
A pesar de todo, el Mac se situ a la cabeza en el mundo de la edicin a nivel grfico.

MS-DOS

En 1981 Microsoft compr un sistema operativo llamado QDOS que, tras realizar unas
pocas modificaciones, se convirti en la primera versin de MS-DOS (MicroSoft Disk
Operating System). A partir de aqu se sucedieron una serie de cambios hasta llegar a la
versin 7.1, a partir de la cual MS-DOS dej de existir como tal y se convirti en una
parte integrada del sistema operativo Windows.

Microsoft Windows
Familia de sistemas operativos propietarios desarrollados por la empresa de software
Microsoft Corporation, fundada por Bill Gates y Paul Allen. Todos ellos tienen en
comn el estar basados en una interfaz grfica de usuario basada en el paradigma de
ventanas, de ah su nombre en ingls. Las versiones de Windows que han aparecido
hasta el momento se basan en dos lneas separadas de desarrollo que finalmente
convergen en una sola con la llegada de Windows XP. La primera de ellas conformaba
la apariencia de un sistema operativo, aunque realmente se ejecutaba sobre MS-DOS.

Actualmente existe Windows Vista.

AOS 90

GNU/Linux

En 1991 aparece la primer versin del ncleo de Linux. Creado por Linus Torvalds y
un sinfn de colaboradores a travs de Internet. Este sistema se basa en Unix, un sistema
que en principio trabajaba en modo comandos, estilo MS-DOS. Hoy en da dispone de
Ventanas, gracias a un servidor grafico y a gestores de ventanas como KDE, GNOME
entre muchos. Recientemente GNU/Linux dispone de un aplicativo que convierte las
ventanas en un entorno 3D como por ejemplo Beryl. Lo que permite utilizar linux de
una forma muy visual y atractiva.

BeOS

BeOS es un sistema operativo para PC desarrollado por Be Incorporated en 1990,


orientado principalmente a proveer alto rendimiento en aplicaciones multimedia. A
pesar de la creencia comn fomentada por la inclusin de la interfaz de comandos Bash
en el sistema operativo, el diseo de BeOS no estaba basado en UNIX.

Originalmente (1995-1996) el sistema operativo se corra sobre su propio hardware,


conocido como BeBox. Ms tarde (1997) fue extendido a la plataforma PowerPC y
finalmente (1998) se aadi compatibilidad con procesadores x86.
Solaris

Solaris es un sistema operativo de tipo Unix desarrollado desde 1992 inicialmente por
Sun Microsystems y actualmente por Oracle Corporation como sucesor de SunOS. Es
un sistema certificado oficialmente como versin de Unix. Funciona en arquitecturas
SPARC y x86 para servidores y estaciones de trabajo.

ReactOS

ReactOS (React Operating System) es un sistema operativo de cdigo abierto destinado


a lograr la compatibilidad binaria con aplicaciones de software y controladores de
dispositivos hechos para Microsoft Windows NT versiones 5.x en adelante (Windows
XP y sus sucesores).

En 1996 un grupo de programadores y desarrolladores de software libre comenzaron un


proyecto llamado FreeWin95 el cual consista en implementar un clon de Windows 95.
El proyecto estuvo bajo discusin por el diseo del sistema ya habiendo desarrollado la
capa compatible con MS-DOS, pero lamentablemente esta fue una situacin que no se
complet. Para 1997 el proyecto no haba lanzado ninguna versin, por lo que los
miembros de ste, coordinados por Jason Filby, pudieron revivirlo. Se decidi cambiar
el ncleo del sistema compatible con MS-DOS y de ahora en adelante basarlo en uno
compatible con Windows NT, y as el proyecto pudo seguir adelante con el nombre
actual de ReactOS, que comenz en febrero de 1998, desarrollando las bases del kernel
y algunos drivers bsicos.

FreeDOS

FreeDOS es un proyecto que aspira a crear un sistema operativo libre que sea totalmente
compatible con las aplicaciones y los controladores de MS-DOS.

El programa ya ha alcanzado un alto grado de madurez y tiene algunas caractersticas


que no existan en MS-DOS. Algunos comandos de FreeDOS son idnticos o mejores
que sus equivalentes de MS-DOS, pero an faltan algunos del sistema operativo
original.
El intrprete de lnea de comandos usado por FreeDOS se llama FreeCOM.

La dcada de 2000

SymbOS

SymbOS es un sistema operativo desarrollado originalmente en 2001 para los


ordenadores Amstrad CPC. Se trata de un sistema operativo grfico con una esttica e
interfaz similar a Windows 95. A pesar de la baja potencia que desarrollan estos
ordenadores, alrededor de 4MHz, est minuciosamente optimizado para el hardware en
el cul funciona, por lo que el rendimiento es ms que aceptable.

Debido a su cuidada programacin modular, ha sido migrado posteriormente a los


ordenadores MSX, Amstrad PCW y Enterprise 128 que, con versiones adaptadas y
recompiladas en cada caso, son capaces de ejecutar las mismas aplicaciones sin
modificacin alguna.

Aunque parezca un sistema obsoleto, existe una extensa comunidad implicada en el


proyecto. Los programadores originales continan actualizando y dando soporte al
sistema en la actualidad.

SymbOS es un claro ejemplo de software optimizado, de tal manera que con un mnimo
hardware se obtienen prestaciones similares a otros grandes sistemas operativos
actuales. Esto lo convierte en el antagonista de los modernos sistemas operativos, que
derrochan la mayor parte de los recursos apoyndose en la alta potencia del hardware
actual.

MorphOS

MorphOS es un sistema operativo, en parte propietario y en parte de cdigo abierto,


producido para ordenadores basados en los procesadores PowerPC (PPC). El sistema
operativo en s es propietario, pero muchas de sus bibliotecas y otros componentes son
de cdigo abierto, como Ambient (la interfaz del escritorio). La mariposa azul es el logo
caracterstico de este sistema operativo. Est basado en el Microncleo de Quark.

Darwin

Darwin es el sistema que subyace en Mac OS X, cuya primera versin final sali en el
ao 2001 para funcionar en computadoras Macintosh.

Integra el microncleo XNU y servicios de sistema operativo de tipo UNIX basados


en BSD 4.4 (en particular FreeBSD) que proporcionan una estabilidad y un rendimiento
mayor que el de versiones anteriores de Mac OS. Se trata de una evolucin del sistema
operativo NEXTSTEP (basado en Mach 2.5 y cdigo BSD 4.3) desarrollado
por NeXT en 1989comprado por Apple Computer en diciembre de 1996.

Darwin proporciona al Mac OS X prestaciones modernas, como la memoria protegida,


la multitarea por desalojo o expulsiva, la gestin avanzada de memoria y
el multiprocesosimtrico.

MAC OS

Mac OS, antes llamado Mac OS X, es un sistema operativo basado en Unix,


desarrollado, comercializado y vendido por Apple Inc.

La primera versin del sistema fue Mac OS X Server 1.0 en 1999, y en cuanto al
escritorio, fue Mac OS X v10.0 Cheetah (publicada el 24 de marzo de 2001).

La variante para servidores, Mac OS X Server, es arquitectnicamente idntica a su


contraparte para escritorio, adems de incluir herramientas para administrar grupos de
trabajo y proveer acceso a los servicios de red. Estas herramientas incluyen un servidor
de correo, un servidor Samba, un servidor LDAP y un servidor de dominio entre otros.
Haiku

Haiku es un sistema operativo de cdigo abierto actualmente en desarrollo que se centra


especficamente en la informtica personal y multimedia. Inspirado por BeOS (Be
Operating System), Haiku aspira a convertirse en un sistema rpido, eficiente, fcil de
usar y fcil de aprender, sin descuidar su potencia para los usuarios de todos los niveles.

OpenSolaris

OpenSolaris fue un sistema operativo libre publicado en 2005 a partir de la versin


privativa de Solaris de Sun Microsystems, ahora parte de Oracle Corporation.
OpenSolaris es tambin el nombre de un proyecto iniciado en 2005 por Sun para
construir y desarrollar una comunidad de usuarios alrededor de las tecnologas del
sistema operativo del mismo nombre. Despus de la adquisicin de Sun Microsystems,
en agosto de 2010, Oracle decidi interrumpir la publicacin y distribucin de
OpenSolaris, as como su modelo de desarrollo, basado en la disponibilidad de
versiones de desarrollo compiladas cada dos semanas y versiones estables cada seis
meses. Sin embargo, los trminos de su licencia libre no han sido modificados, por lo
que el cdigo fuente afectado por ella ser publicado cuando Oracle publique nuevas
versiones de Solaris.

La dcada de 2017

IllumOS

Illumos es un proyecto de software libre derivado de OpenSolaris. Fue anunciado por


conferencia web desde Nueva York el 3 de agosto de 2010. El nombre del proyecto es
un neologismo procedente del latn "Illum" (la luz) y de "OS" (operating system,
sistema operativo).

Se trata del cdigo base a partir del cual cualquiera podr crear su propia distribucin de
software basada en el sistema operativo OpenSolaris. Pero Illumos no es una
distribucin, ni una bifurcacin (fork), al menos por el momento, en la medida que no
pretende separarse del tronco principal, sino un derivado de la "consolidacin" OS/Net
(ms conocida como ON), que consiste bsicamente en el cdigo fuente del kernel
(SunOS), los drivers, los servicios de red, las bibliotecas del sistema y los comandos
bsicos del sistema operativo.

OpenIndiana

OpenIndiana Es un sistema operativo tipo Unix liberado como software libre y de


cdigo abierto. Es una bifurcacin de OpenSolaris concebida despus de la compra de
Sun Microsystems por parte de Oracle y tiene como objetivo continuar con el desarrollo
y la distribucin del cdigo base de OpenSolaris. El proyecto opera bajo el patrocinio de
la Illumos Foundation (Fundacin Illumos). El objetivo declarado del proyecto es
convertirse en la distribucin de OpenSolaris de facto instalada en servidores de
produccin donde se requieren soluciones de seguridad y errores de forma gratuita.

ESTRUCTURA DEL SISTEMA OPERATIVO

Las estructuras internas de los sistemas operativos pueden ser muy diferentes, ya que se
deben tener en cuenta las metas de los usuarios (fcil uso, confiable, rpido, etc.) y las
del sistema (fcil de disear, implementar y mantener, eficiente, etc.). Veremos 3
posibles diseos del sistema.

Sistema Monoltico

Estos sistemas no tienen una estructura definida, sino que son escritos como una
coleccin de procedimientos donde cualquier procedimiento puede invocar a otro.
Ejemplos de estos sistemas pueden ser MS-DOS o Linux (aunque incluye algo de
capas). Es importante tener en cuenta que ningn sistema es puramente de un tipo.

Sistema en capas

El diseo se organiza en una jerarqua de capas, donde los servicios que brinda una capa
son consumidos solamente por la capa superior. La capa 0 es del Hardware y la N es la
de los procesos de Usuario.
Estos sistemas tienen como ventaja que son
modulares y la verificacin se puede hacer a
cada capa por separado (son ms
mantenibles). Sin embargo, el diseo es muy
costoso y es menos eficiente que el sistema
monoltico ya que pierde tiempo pasando por
cada capa.

Sistema con microncleo

La idea consiste en tener un ncleo que brinde los servicios mnimos de manejo de
procesos, memoria y que provea la comunicacin entre procesos. Todos los restantes
servicios se construyen como procesos separados del microncleo, que ejecutan en
modo usuario. Estos sistemas tienen como ventaja un diseo simple y funcional, que
aumenta la portabilidad y la escalabilidad. Para agregar un nuevo servicio no es
necesario modificar el ncleo, y es ms seguro ya que los servicios corren en modo
usuario.

Anda mungkin juga menyukai