Clasificacion Sistemas Operativos
Clasificacion Sistemas Operativos
Clasificacion Sistemas Operativos
1.2
1.3
1.4
1.5
1-1
Servir como interfaz entre el equipo fsico (hardware) de una computadora y el usuario,
con el fin de presentar una "cara" ms sencilla y amistosa al mismo, en el cual el
usuario pueda ejecutar programas. El objetivo principal de un sistema operativo es
lograr que el sistema de computacin se use de manera cmoda, y el objetivo
secundario es que el hardware del computador se emplee de manera eficiente y
Optimizar los recursos (tanto de software como de hardware) con que cuenta una
computadora y hacer utilizable sta ltima.
Desde el punto de vista del usuario, el sistema operativo consiste en una serie de
programas y funciones que ocultan los detalles del hardware, ofrecindole una va sencilla
y flexible de acceso al mismo, teniendo dos objetivos fundamentales:
Seguridad: El sistema operativo debe actuar contra cualquier manipulacin extraa, ya
sea accidental o premeditada que pudiera daar la informacin, perjudicar a otros usuarios
o provocar un funcionamiento indeseado del sistema. Por ejemplo, hay ciertas
instrucciones que pueden parar la mquina y otras que realizan operaciones directamente
sobre el hardware, que debemos evitar que se utilicen directamente por los programas.
Para ello, algunos sistemas proporcionan dos estados, llamados estado protegido (Sistema
o Kernel), en el cual se ejecuta el sistema operativo, y estado no protegido (Usuario o
User), que es el destinado a la ejecucin de los programas de usuario y de aplicacin. De
esta manera se impide que los programas de los usuarios puedan tener contacto directo
con el hardware, o puedan forzar un incorrecto funcionamiento del sistema.
Abstraccin: La tendencia actual del software y
de los lenguajes de programacin es ocultar lo
ms posible los detalles de ms bajo nivel,
intentando dar a los niveles superiores una visin
ms sencilla, global y abstracta, ofrecindoles
operaciones para manipular dichas estructuras
1-2
ocultas, desconociendo por completo la gestin interna de las mismas. Sobre estas
estructuras se construyen otras que abstraen a las anteriores, y as sucesivamente.
Gracias a la abstraccin, los sistemas operativos enmascaran los recursos fsicos,
permitiendo su manejo con funciones ms generales que ocultan las bsicas,
constituyendo verdaderos recursos ficticios o virtuales, que mejoran y son ms potentes
que los fsicos. Desde el punto de vista de un programa o usuario, la mquina fsica se
convierte, gracias al sistema operativo, en una mquina virtual, tambin conocida como
mquina extendida, que presenta la ventaja respecto a la fsica de ofrecer ms funciones
de las que normalmente soportara esta ltima. Desde el punto de vista del usuario, el
sistema operativo proporciona servicios que no estn presentes en la mquina subyacente.
Estos servicios incluyen las facilidades de carga y ejecucin de programas, interaccin
entre el usuario y los programas, permitiendo que se ejecuten varios al mismo tiempo,
gestin de la contabilidad para facturar los servicios y almacenamiento de datos y
programas.
Como resumen, podemos decir que el sistema operativo persigue alcanzar la mayor
eficiencia posible del hardware y facilitar el uso del mismo a los usuarios y a las
aplicaciones.
Ser eficiente en cuanto a reducir: el tiempo medio que ocupa cada trabajo, el tiempo que
no se usa la CPU, el tiempo de respuesta en sistemas multiacceso y el plazo entre dos
asignaciones de CPU a un mismo programa.
Ser fiable, es decir, un sistema operativo no debe tener errores y debe prever todas las
posibles situaciones.
Permitir compartir entre varios usuarios los recursos de hardware con que cuenta una
computadora.
con los progresos que la tcnica y la informtica han experimentado. Como principales
funciones, podramos enumerar las siguientes:
Gestin de procesos. Hay que diferenciar entre los conceptos programa y proceso. Un
programa es un ente pasivo, que cuando se carga en memoria y comienza a ejecutarse,
puede originar una gran cantidad de procesos.
Gestin de la memoria. La gestin de memoria, suele ir asociada a la gestin de
procesos. Para ejecutar un proceso es necesario asignarle unas direcciones de memoria
exclusivas para l y cargarlo en ellas, cuando el proceso finalice su ejecucin es necesario
liberar las direcciones de memoria que estaba usando.
Gestin de ficheros. Un fichero es una abstraccin para definir una coleccin de
informacin no voltil. Su objetivo es proporcionar un modelo de trabajo sencillo con la
informacin almacenada en los dispositivos de almacenamiento. Estos ficheros deben
tener espacio asignado en los dispositivos, deben estar protegidos entre ellos, deben
organizarse segn unos determinados esquemas todo esto es la gestin de ficheros.
Gestin de los dispositivos de E/S. La gestin de la E/S tiene como objetivo proporcionar
una interfaz de alto nivel de los dispositivos de E/S sencilla de utilizar. En algunos sistemas
esta interfaz es semejante a la de los ficheros (Linux).
Gestin de la red. El sistema operativo es el encargado de gestionar los distintos niveles
de red, los drivers (manejadores) de los dispositivos involucrados en la red, los protocolos
de comunicacin, las aplicaciones de red, etc.
Proteccin y seguridad. Mecanismos para permitir o denegar el acceso a los usuarios y a
sus procesos a determinados recursos (ficheros, dispositivos de E/S, red, etc.).
Para comprender mejor porqu existen dichas funciones y cules son sus objetivos, las
iremos estudiando mientras hacemos un breve recorrido a travs de la meterica historia
de los ordenadores y la informtica. Los objetivos fundamentales de los sistemas
operativos respecto a conseguir la mayor eficiencia y facilidad de uso posibles, no son
siempre compatibles, ya que cualquier sistema que deba ser eficiente, normalmente no
ser fcil de usar, mientras que si es fcil de usar, se deber ofrecer a los usuarios muchas
facilidades y ayudas, incluyendo muchos pasos e informacin que para un usuario experto
no seran necesarias, lo que implica, obviamente, una prdida de eficiencia.
En esta generacin aparece lo que se denomina procesamiento por lotes, que consiste en
que los datos se introducen en la computadora mediante un pequeo componente
hardware que previamente ha sido cargado con la informacin a procesar. Es evidente que
la carga de este pequeo componente hardware todava sigue siendo manual. El
procesamiento por lotes implica tres fases:
Introduccin de los datos a procesar en un componente hardware, que puede ser una
tarjeta perforada, un tambor magntico, etc. La introduccin de datos se realizaba en un
medio fsico distinto de la computadora que procesaba la informacin.
El soporte donde se almacenan los resultados se lleva a otro dispositivo fsico distinto a
la computadora para realizar la generacin de resultados.
Aparece el concepto de perifrico. En la primera generacin todo era una misma cosa.
1-7
Estructura Monoltica
Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un
solo programa, compuesto de un conjunto de rutinas (o procedimientos) entrelazadas de tal
forma que cada una puede llamar a cualquier otra. Las caractersticas fundamentales de
este tipo de estructura son:
Buena definicin de parmetros de enlace entre las distintas rutinas existentes, que
puede provocar mucho acoplamiento.
Estos sistemas tienen la ventaja de ser muy rpidos en su ejecucin (solo hay que
ejecutar un programa) pero cuentan con el inconveniente de carecer de la flexibilidad
suficiente para soportar diferentes ambientes de trabajo o tipos de aplicaciones. Es por
esto que estos sistemas operativos suelen ser hechos a medida, para solucionar un
problema en concreto y no para trabajar de forma generalista.
1-9
En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa
(trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las
zonas ms internas del sistema operativo o ncleo del sistema estarn ms protegidas de
accesos indeseados desde las capas ms externas. Las capas ms internas sern, por
tanto, ms privilegiadas que las externas.
Otra posible clasificacin de los niveles de los SO podra ser:
1-10
Mquina Virtual
En la actualidad la mayora de los sistemas operativos son multiusuario y multitarea, es
decir, pueden trabajar con varios usuarios y varios procesos a la vez. Para ello el ncleo de
estos sistemas operativos gestiona las denominadas mquinas virtuales.
Una mquina virtual es un archivo, o conjuntos de archivos, que reproducen y simulan, de
una forma exacta, el hardware real que gestiona el propio SO.
Estas mquinas virtuales son una rplica de la mquina real, de manera que en cada una
de ellas se pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la
mquina extendida al usuario.
En este sistema se dispone de los niveles de ncleo, ejecutivo, supervisor y usuario, como
1-11
Cliente Servidor
Una tendencia de los sistema operativos modernos es la de trasladar el cdigo a capas
superiores, y eliminar la mayor parte posible del sistema operativo para mantener un
ncleo mnimo. El punto de vista usual es el implantar la mayora de las funciones del
sistema operativo como procesos de usuario. Para solicitar un servicio, como la lectura de
un bloque de cierto fichero, un proceso de usuario (denominado en este caso proceso
cliente) enva la solicitud a un proceso servidor, que realiza el trabajo y devuelve la
respuesta.
El ncleo tiene como misin establecer y controlar la comunicacin entre los clientes y los
servidores. Al separar el sistema operativo en partes, cada una de ellas controla una faceta
del sistema, como el servicio a ficheros, servicio a procesos, servicio a terminales o servicio
a la memoria; cada parte es pequea y controlable. Por ejemplo, un programa de
aplicacin normal es un cliente que llama al servidor correspondiente para acceder a un
archivo o realizar una operacin de entrada/salida sobre un dispositivo concreto. Adems,
puesto que todos los servidores se ejecutan como procesos en modo usuario, y no en
modo ncleo, no tienen acceso directo al hardware. En consecuencia, si hay un error en el
servidor de ficheros ste puede fallar, pero esto no afectar en general a toda la mquina.
1-12
Otra de las ventajas del modelo cliente-servidor es su capacidad de adaptacin para su uso
en sistemas distribuidos (vase la figura 5.4). Si un cliente se comunica con un servidor
mediante mensajes, el cliente no necesita saber si el mensaje se gestiona de forma local,
en su mquina, o si se enva por medio de una red a un servidor en una mquina remota.
En lo que respecta al cliente, lo mismo ocurre en ambos casos: se envi una solicitud y se
recibi una respuesta.
1-13
vez; por tanto, los recursos del sistema estarn dedicados al programa hasta que finalice
su ejecucin. El sistema operativo DOS o Windows 9X es monotarea, ya que, adems de
no saber utilizar ms de un procesador, el hardware que utilizan para ejecutar un programa
est a disposicin slo de ese programa.
El sistema operativo utilizar los procesadores por igual; es decir, alternar el uso de los
procesadores con los que cuente el sistema de forma simultnea.
El SO reparte las tareas que est realizando a los procesadores con los que cuenta el
sistema informtico. Determinados procesos los ejecutar siempre un procesador, y el otro
procesador slo se utilizar para realizar procesos o programas de usuario. En este caso,
es posible que un procesador est siempre trabajando y el otro, en ocasiones, sin
actividad.
Mediante estas dos tcnicas, lo que se consigue es que el tiempo de respuesta de la
ejecucin de varios programas en un mismo ordenador sea similar para todos ellos.
Tiempo compartido
Permiten la simulacin de que el sistema y sus recursos son todos para cada usuario. El
usuario hace una peticin a la computadora, esta la procesa tan pronto como le es posible,
y la respuesta aparecer en la terminal del usuario.
1-17
Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son
continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusin de
que tiene el sistema dedicado para s mismo. Esto trae como consecuencia una gran carga
de trabajo al Sistema Operativo, principalmente en la administracin de memoria principal y
secundaria.
Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.
Caractersticas de los Sistemas Operativos de tiempo compartido:
Tiempo real
Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el
usuario, sino los procesos. Por lo general, estn subutilizados sus recursos con la finalidad
de prestar atencin a los procesos en el momento que lo requieran. Se utilizan en entornos
donde son procesados un gran nmero de sucesos o eventos, as como, dispositivos de
control en aplicaciones especializadas.
Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy
especficas como control de trfico areo, bolsas de valores, control de refineras, control
de laminadores. Tambin en el ramo automovilstico y de la electrnica de consumo, las
aplicaciones de tiempo real estn creciendo muy rpidamente. Otros campos de aplicacin
de los Sistemas Operativos de tiempo real son los siguientes:
Control de trenes.
Telecomunicaciones.
Control de edificios.
Sistemas multimedia.
Comparado con un PC, un ordenador de este tipo es menor, gasta menos energa y disipa
menos calor. La propiedad ms importante es que pueden trabajar en ambientes hostiles.
Los Sistemas Operativos de tiempo real, cuentan con las siguientes caractersticas:
Procesa rfagas de miles de interrupciones por segundo sin perder un solo suceso.
Gestin de memoria menos exigente que tiempo compartido, usualmente procesos son
residentes permanentes en memoria.
Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y
Spectra.
PROPIETARIOS
Los sistemas operativos propietarios son aquellos que son propiedad de alguna empresa.
Caractersticas
LIBRES
Los sistemas operativos libres son aquellos que garantizan las libertades de:
Usar el programa.
Distribuir copias del programa, con lo que se puede ayudar a otros usuarios.
Mejorar el programa y hacer pblicas dichas mejoras, de modo que todos los
usuarios se beneficien de ello.
1-19