Está en la página 1de 28

IMPLANTACIÓN DE SISTEMAS OPERATIVOS

UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo


Podríamos definir el concepto de Sistema Operativo como un
programa, o un conjunto de programas que colaboran entre ellos
para administrar los elementos físicos de un sistema informático,
optimizando su uso y ofreciendo determinados servicios a los
programas de aplicación.
Un sistema operativo se encargará de aspectos como el uso
compartido ordenado de los recursos entre diferentes usuarios o
la protección de recursos, evitando que un usuario acceda a
recursos para los que no está autorizado.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo


Para que esta protección sea posible, el sistema informático debe ser
capaz de ejecutar instrucciones en dos niveles diferentes:
 En modo usuario: es el modo menos privilegiado de funcionamiento
del sistema. En este modo no se permite el acceso directo al hardware.
Las instrucciones que se ejecutan en este modo sólo pueden acceder a
su propio espacio de direcciones de memoria y utilizan el API del
sistema para requerir los servicios del sistema operativo. Este es el
modo de ejecución que utilizan todos los programas de aplicación que
tengamos instalados.
 En modo núcleo (también llamado modo kernel) o modo supervisor: En
él, las instrucciones se ejecutan en un modo privilegiado, teniendo
acceso directo a toda la memoria (incluidos los espacios de direcciones
de todos los procesos que estén ejecutándose). También podrán acceder
a todo el hardware disponible. En este modo sólo se ejecutan algunas
partes del sistema operativo.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo

Desde un punto de vista comercial, los sistemas operativos se


ofrecen como un software que incluye diferentes
herramientas para proporcionar funcionalidades básicas al
usuario.
Esto hace que el usuario piense en el navegador web o en el
editor de textos como partes del sistema operativo. Sin
embargo, esta creencia es errónea, ya que el navegador web,
el procesador de textos e incluso la propia interfaz gráfica que
estamos utilizando forman parte del concepto de software de
aplicación.
El verdadero sistema operativo se encuentra oculto bajo estas
y otras herramientas, haciendo de intermediario entre ellas y
el hardware del ordenador.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo


Como podemos imaginar, un sistema operativo es un programa muy complejo
que debe estar muy bien organizado y estructurado internamente para llevar a
cabo su trabajo de una forma muy eficiente. En este sentido, los sistemas
operativos se subdividen en diferentes componentes que se encuentran
especializados en aspectos muy concretos del mismo. Los elementos que
constituyen la mayoría de los sistemas operativos son lo siguientes:
 Gestor de procesos.
 Gestor de memoria virtual.
 Gestor de almacenamiento secundario.
 Gestor de entrada y salida.
 Sistema de archivos.
 Sistemas de protección.
 Sistema de comunicaciones.
 Programas de sistema.
 Gestor de recursos.
Como puede suponerse, cada uno de los elementos que componen el sistema
operativo se encarga de una función particular. Más adelante estudiaremos las
principales funciones que resuelve un sistema operativo.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo


Estructura de un sistema operativo
Ahora que ya sabemos que el sistema operativo se divide en distintos
elementos, podemos plantearnos el modo en el que dichos elementos se
organizan dentro del sistema operativo para llevar a cabo su cometido.
También será importante para el diseño del sistema establecer qué
componentes del mismo se ejecutan en modo núcleo y cuáles en modo
usuario.
El núcleo de un sistema operativo también suele recibir el nombre de
kernel.
En este sentido, los planteamientos que se aplican en los sistemas
operativos más conocidos son los siguientes:
 Monolítico.
 Micronúcleo.
 Núcleo híbrido.
Y para comprender sus diferencias, a continuación vamos a incluir algunos
detalles sobre cada uno de ellos.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo


Estructura de un sistema operativo

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo


Sistemas operativos con estructura monolítica
En este tipo de sistemas, el núcleo concentra la mayor parte de la funcionalidad del
sistema operativo (sistema de archivos, gestión de memoria, etc), de modo que todos
sus componentes principales se ejecutarán en modo núcleo. Aunque estos
componentes se programen de forma separada se unen durante el proceso de
compilación mediante un enlazador (linker).
Para añadir flexibilidad a esta estructura, los sistemas operativos modernos que la
utilizan (como es el caso de GNU/Linux) pueden cargar módulos ejecutables de forma
dinámica, permitiéndole actuar, en cierto modo, como un micronúcleo.
En una estructura monolítica pura tendríamos un núcleo complejo y de gran tamaño
que debería ser recompilado por completo ante cualquier modificación. Sin embargo,
cuando se utiliza la carga dinámica de módulos, éstos pueden compilarse por separado
y cargarse durante la ejecución del sistema. En cualquier caso, seguirán ejecutándose
en modo núcleo, lo que, comparado con un sistema con estructura de micronúcleo, lo
hace más rápido, pero más vulnerable a errores de programación.
Como ejemplos de sistemas con estructura monolítica podemos nombrar Solaris,
FreeBSD, OSX (versiones anteriores a la 9), GNU/Linux y las versiones de escritorio de
Windows anteriores a XP.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo


Sistemas operativos con estructura monolítica

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo


Sistemas operativos con estructura de micronúcleo (microkernel)
En este tipo de sistemas, el núcleo sólo contiene la implementación de servicios básicos
como el soporte de acceso a memoria de bajo nivel, la administración de tareas y la
comunicación entre procesos (también conocida como IPC, del inglés, Inter-Process
Communication).
En este tipo de arquitectura, el micronúcleo es el único componente que se ejecuta en
modo privilegiado.
El resto de las funciones del sistema, como los controladores de dispositivos (drivers), el
sistema de archivos, la gestión de E/S, etc., se ejecutan en modo usuario.
De esta forma, es más difícil que un error de programación en uno de los módulos afecten
al funcionamiento del resto (haciendo que el sistema sea más fiable). Además, los
módulos se pueden programar compilar y cargar por separado.
Sin embargo, pueden presentar dificultades en la sincronización de sus componentes,
pueden ocasionar una mayor complejidad del código resultante y puede ofrecer un bajo
rendimiento por las continuas llamadas entre módulos y los constantes cambios en el
modo de ejecución.
Como ejemplos de sistemas con estructura de micronúcleo podemos nombrar AIX,
AmigaOS, Minix, Symbian (aunque en algunos textos aparece como monolítico con carga
dinámica de módulos) y NeXTStep (aunque a veces lo encontramos entre los sistemas con
núcleo híbrido).

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo


Sistemas operativos con estructura micronúcleo

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.1 - Elementos y estructura del sistema operativo


Sistemas operativos con estructura de núcleo híbrido
Este tipo de arquitectura consiste
básicamente en un esquema de
micronúcleo que incluye algo de
código complementario para
hacerlo más rápido, aunque
buena parte de las funciones del
sistema operativo siguen
ejecutándose en modo usuario.
Se trata de una solución de
compromiso que han adoptado
muchos de los sistemas
operativos modernos, como las
versiones de escritorio de
Microsoft Windows, a partir de
XP, y todas las versiones de
Servidor. También se encuentra
en esta categoría Mac OSX.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN INTERNA
Según el número de usuarios que soporta concurrentemente:
 Monousuario. Los sistemas operativos monousuario son aquéllos que soportan
a un usuario a la vez, sin importar el número de procesadores que tenga la
computadora o el número de procesos o tareas que el usuario pueda ejecutar
en un mismo instante de tiempo. Las ordenadores personales en los años 80 y
90 se clasificaban en esta sección (MS-DOS, Windows 3.0, Windows 95/98/me).
 Multiusuario. Los sistemas operativos multiusuario son capaces de dar servicio
a más de un usuario a la vez, ya sea por medio de varias terminales conectadas
a la computadora o por medio de sesiones remotas en una red de
comunicaciones. No importa el número de procesadores en la máquina ni el
número de procesos que cada usuario puede ejecutar simultáneamente. De
hecho prácticamente todos los sistemas operativos actuales soportan esta
característica.
No hay que confundir la capacidad de ser multisesión de un sistema operativo
con el multiusuario, ya que un sistema Monousuario como lo era Windows 98
permitía tener varios usuarios con distintas sesiones diferentes pero no permitía
que funcionaran a la vez.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


Monousuario Multiusuario

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN INTERNA
Según el número de tareas que puede ejecutar concurrentemente:
 Monotarea. Los sistemas monotarea son aquellos que sólo permiten
una tarea a la vez por usuario. Puede darse el caso de un sistema
multiusuario y monotarea, en el cual se admiten varios usuarios al
mismo tiempo pero cada uno de ellos puede estar haciendo solo una
tarea a la vez.
 Multitarea. Un sistema operativo multitarea es aquél que le permite
al usuario estar realizando varias labores al mismo tiempo. Por
ejemplo, puede estar editando el código fuente de un programa
durante su depuración mientras compila otro programa, a la vez que
está recibiendo correo electrónico en un proceso en background
(segundo plano). Es común encontrar en ellos interfaces gráficas
orientadas al uso de menús y el ratón, lo cual permite un rápido
intercambio entre las tareas para el usuario, mejorando su
productividad.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN INTERNA
Según el número de procesadores que puede gestionar:
 Uniproceso (Sistemas obsoletos). Un sistema operativo uniproceso es
aquél que es capaz de manejar solamente un procesador de la
computadora, de manera que si la computadora tuviese más de uno le
sería inútil. Por ejemplo Windows 98 es un sistema operativo
Uniproceso.
 Multiproceso (Sistemas actuales). Un sistema operativo multiproceso es
capaz de manejar más de un procesador en el sistema, distribuyendo la
carga de trabajo entre todos los procesadores que existan en el sistema.
Generalmente estos sistemas trabajan de dos formas: simétricamente o
asimétricamente.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN INTERNA
 Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno
de los procesadores el cual jugará el papel de procesador maestro y servirá
como pivote para distribuir la carga a los demás procesadores, que reciben el
nombre de esclavos. El único procesador que realmente tiene acceso a todos los
recursos del sistema es el maestro, que relega en los esclavos los trabajos que le
van llegando. Es un sistema simple de construir y donde es muy fácil añadir más
procesadores esclavos.
 Cuando se trabaja de manera simétrica, los procesos o partes de ellos (threads,
hebras o hilos) son enviados indistintamente a cualquiera de los procesadores
disponibles, teniendo una mejor distribución y equilibrio en la carga de trabajo
bajo este esquema.
Se dice que un thread (hilo) es la parte activa en memoria y corriendo de un
proceso, lo cual puede consistir de un área de memoria, un conjunto de
registros con valores específicos, la pila y otros valores de contexto.
Es un sistema mucho más difícil de construir, y es también tremendamente
complicado añadir más procesadores, pero tiene la gran ventaja de ser
muchísimo más práctico, ya que cada procesador tiene acceso a todos los
recursos y las cargas de trabajo se pueden dividir de forma mucho más rápida.
IMPLANTACIÓN DE SISTEMAS OPERATIVOS
UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN INTERNA
Resumen de los tipos de sistemas operativos según su visión interna:

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA
Esta clasificación se refiere a la visión externa del usuario, en cómo este
usuario accede a los servicios.
SISTEMAS OPERATIVOS DE ESCRITORIO
Estos sistemas operativos se utilizan en los equipos personales, estaciones
de trabajo, portátiles, etc. También se suelen conocer como sistemas
operativos clientes. Windows 10 o Ubuntu Linux Desktop por ejemplo, es un
sistema operativo de escritorio. Suelen ser sistemas operativos preparados
para permitir un uso fácil por parte del usuario, destacan en multimedia,
juegos, sonido, ofimática, etc.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA
SISTEMAS OPERATIVOS EN RED Y SERVIDORES
Los sistemas operativos de red se definen como aquellos
que tiene la capacidad de interactuar con sistemas
operativos en otras computadoras por medio de un
medio de transmisión con el objeto de intercambiar
información, transferir archivos, ejecutar comandos
remotos y un sin fin de otras actividades.
Lo importante es hacer ver que el usuario puede acceder
a la información no solo de su máquina, sino a la de
cualquier máquina de la red, y esto se consigue gracias a
que utiliza un sistema operativo de red.
Hoy en día todos los sistemas operativos de escritorio son
sistemas operativos de red también, cosa que no ocurría
anteriormente. Normalmente solemos llamar sistemas
operativos en red a los sistemas operativos que funcionan
como servidores en una red, como es el caso del
Windows Server o Linux Server.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA
SISTEMAS OPERATIVOS DISTRIBUIDOS
Un sistema distribuido se define como una colección de equipos informáticos
separados físicamente y conectados entre sí por una red de comunicaciones
distribuida; cada máquina posee sus componentes de hardware y software de
modo que el usuario percibe que existe un solo sistema (no necesita saber
qué cosas están en qué máquinas).
El usuario accede a los recursos remotos de la misma manera en que accede a
recursos locales ya que no percibe que existan varios ordenadores, sino que
solo es capaz de ver uno formado por todos los anteriores.
Una ventaja fundamental de los sistemas distribuidos, es que permiten
aumentar la potencia del sistema informático, de modo que 100 ordenadores
trabajando en conjunto, permiten formar un único ordenador que sería 100
veces más potente que un ordenador convencional.
Los sistemas distribuidos son muy confiables, ya que si un componente del
sistema se descompone otro componente debe de ser capaz de reemplazarlo,
esto se denomina Tolerancia a Fallos (Fault Tolerance).

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


SISTEMAS OPERATIVOS DISTRIBUIDOS

SRV1 SRV2 SRV3 SRV4

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA
SISTEMAS OPERATIVOS DISTRIBUIDOS
El tamaño de un sistema distribuido puede ser muy variado, ya sean decenas
de hosts (red de área local), centenas de hosts (red de área metropolitana), y
miles o millones de hosts (Internet); esto se denomina escalabilidad.
De hecho, si un ordenador formando por un sistema distribuido se queda
“corto” para las necesidades de la empresa, basta con instalar más.
La computación distribuida ha sido diseñada para resolver problemas
demasiado grandes para cualquier supercomputadora y mainframe, mientras
se mantiene la flexibilidad de trabajar en múltiples problemas más pequeños.
Esta forma de computación se conoce como grid (malla).
Los grandes retos de cálculo de hoy en día, como el descubrimiento de
medicamentos, simulación de terremotos, inundaciones y otras catástrofes
naturales, modelización del clima/tiempo, grandes buscadores de internet, el
programa SETI, etc. Son posibles gracias a estos sistemas operativos
distribuidos que permiten utilizar la computación distribuida.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA
SISTEMAS OPERATIVOS DISTRIBUIDOS
El modelo de computación de ciclos redundantes, también conocido como
computación zombi, es el empleado por aplicaciones como Seti@Home - Search
for extraterrestrial intelligence (Búsqueda de inteligencia extraterrestre),
consistente en que un servidor o grupo de servidores distribuyen trabajo de
procesamiento a un grupo de computadoras voluntarias a ceder capacidad de
procesamiento no utilizada.
Básicamente, cuando dejamos nuestro ordenador encendido, pero sin utilizarlo,
la capacidad de procesamiento se desperdicia por lo general en algún protector
de pantalla, este tipo de procesamiento distribuido utiliza nuestra computadora
cuando nosotros no la necesitamos, aprovechando al máximo la capacidad de
procesamiento. La consola PS3 también cuenta con una iniciativa de este tipo.
Otro método similar para crear sistemas de supercomputadoras es el clustering.
Un cluster o racimo de computadoras consiste en un grupo de computadoras de
relativo bajo costo conectadas entre sí mediante un sistema de red de alta
velocidad (gigabit de fibra óptica por lo general) y un software que realiza la
distribución de la carga de trabajo entre los equipos.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA
SISTEMAS OPERATIVOS DISTRIBUIDOS
Este tipo de sistemas cuentan con un centro de almacenamiento de datos único.
Tienen la ventaja de ser sistemas redundantes, si falla un equipo se resiente un
poco la potencia del clúster, pero los demás equipos hacen que no se note el
fallo.
En un clúster normalmente todos los equipos están ubicados en una misma red
de área local, mientras que en un grid los equipos suelen estar distribuidos por
todo el mundo. Ejemplo: Google. En 2010 usaba unos 450.000 ordenadores,
distribuidos en varias sedes por todo el mundo y formando clúster en cada una
de dichas sedes.
Cada clúster de Google está formado por miles de ordenadores y en los
momentos en que se detecta que el sistema llega al límite de su capacidad, se
instalan cientos de ordenadores más en pocos minutos, aumentado así la
potencia de cada clúster. Estos equipos normalmente con ordenadores x86
como los que solemos usar nosotros, corriendo versiones especiales de Linux,
modificadas por la propia Google para que permitan la formación de estos
clúster.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS


UT.2 Introducción a los Sistemas Operativos

2.5 - Clasificación de sistemas operativos


TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA
SISTEMAS OPERATIVOS DISTRIBUIDOS
Centro de datos de Google.

IMPLANTACIÓN DE SISTEMAS OPERATIVOS

También podría gustarte