Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
SAN MARCOS
(Universidad del Perú, DECANA DE AMÉRICA)
1
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ACTUALES
Las seis estructuras por presentar son las siguientes: estructura simple, estructura micro
kernel, estructura a capas, modelo cliente servidor, máquina virtual y orientación a
objetos.
Características
El tamaño compilado de un Kernel Monolítico es más largo respecto a otras
arquitecturas.
Su ejecución es más rápida que otras arquitecturas.
Su extensibilidad, es difícil, dada la necesaria recompilación del kernel.
Si un servicio se cuelga, el sistema se cae por completo.
Requiere menos líneas de código que otras arquitecturas.
Ventajas
Administración de memoria, archivos y otras funciones del sistema a través de
llamadas de sistema.
Único largo proceso ejecutándose en un único espacio de direcciones.
Es un archivo binario estático.
Desventajas
Si algún servicio falla, conlleva a la falla total de todo el sistema.
Si el usuario tiene que añadir un nuevo servicio, el usuario necesitará modificar
todo el SO.
Problemas de seguridad siempre presentes debido a la no existente separación de
los diversos servicios presentes en el núcleo.
Ejemplos
UNIX kernels: Familia BSD y UNIX System V
DOS: DR – DOS, MS - DOS
Open VMS
2
ESTRUCTURA MICRO KERNEL
Sistema operativo donde el núcleo hace llamadas mínimas al sistema para implementar
servicios básicos. En este sistema las funciones centrales son manejadas por el núcleo
(kernel) y la interfaz de usuario manejada por el entorno (Shell).
El microkernel se encarga de todo el código del sistema, y de planificar los hilos con la
finalidad de tener multitareas
Características
Tamaño, más pequeño que el Kernel
Ejecución lenta
Fácilmente extensible
Seguridad, si un servicio se cuelga afecta al microkernel
Más código es necesario en desarrollo
Ventajas
Tamaño, más pequeño que el Kernel
Ejecución lenta
Fácilmente extensible
Seguridad, si un servicio se cuelga afecta al microkernel
Más código es necesario en desarrollo
Desventajas
Bajo rendimiento por la comunicación entre mensajes
Bajo desempeño debido a las llamadas primitivas del sistema
Complejidad en la sincronización de módulos debido a que no se mapea toda la
memoria
Mayor complejidad en el código y limitaciones en diversas funciones
Ejemplos
QNX
Symbian
L4Linux
3
ESTRUCTURA A ESTRATOS O CAPAS
Enfoque en la que consiste organizar el SO en una jerarquía de capas, cada una cimentada
en la que está abajo.
Es un sistema operativo que se organiza en una jerarquía de capas, donde cada capa ofrece
una interfaz clara y bien definida de la capa superior y solamente utiliza los servicios que
le ofrece la capa superior.
Creado en la Technische Hogeschool Eindhoven en los países bajos por E. W. Dijkstra
en el año 1968.
El SO se divide en 6 pequeñas capas cada una con una función definida.
4
Capa 3 – Control de Entrada/Salida
Esta capa se encarga de administrar los dispositivos de E/S y de guardar en búferes
los flujos de información dirigidos para y desde ellos. Encima de esta capa, cada
proceso podía trabajar con los dispositivos abstractos de E/S.
Capa 4 – Programas del usuario
En esta capa se encuentran los programas de usuario. No tenían que preocuparse
por la administración de los procesos, la memoria, la consola o la E/S.
Capa 5 – El operador
En esta última capa se ubica la interfaz visible para el usuario
Características
Capas más internas, más protegida y más privilegiadas
Las capas se seleccionan de modo que cada una use funciones y servicios sólo de
capas de nivel inferior
Núcleo mínimo, más seguro y ágil
Mayor organización del software
Ventajas
Modularidad, sistema más fácil de depurar y mantener
Se puede extender con facilidad para estructurar los subsistemas de usuario
Ocultación de la información
Desventajas
Su estructura jerárquica es demasiado inflexible
Se pierde la posibilidad de compartir código y datos entre distintas capas
Bajo desempeño
Ejemplos
MULTICS
OS/2
5
MODELO CLIENTE – SERVIDOR
Es un modelo de aplicación distribuida en el que las tareas se reparten entre los
proveedores de recursos o servicios y los demandantes de estos servicios.
La arquitectura cliente servidor tiene dos partes claramente diferenciadas, por un lado, la
parte del servidor y, por otro, la parte de cliente o grupo de clientes, donde lo habitual es
que un cliente son estaciones de trabajo que solicitan varios servicios al servidor, mientras
que un servidor es una máquina bastante potente con un hardware y software específico
que actúa como depósito de datos y funciona como un sistema gestor de base de datos,
este se encarga de dar la respuesta demandada por el cliente.
Esta idea también se puede aplicar a programas que se ejecutan sobre una sola
computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido
a través de una red de computadoras.
Su objetivo, y la tendencia en los sistemas operativos modernos, es llevar aún más lejos
esta idea de trasladar código a capas superiores y quitarle lo más que se pueda al sistema
operativo, dejando un kernel mínimo. El enfoque usual consiste en implementar la mayor
parte de las funciones del sistema operativo en procesos de usuario. Para solicitar un
servicio, como leer un bloque de un archivo, un proceso de usuario (ahora llamado
proceso cliente) envía la solicitud a un proceso servidor, el cual realiza el trabajo y
devuelve la respuesta. Lo único que el kernel hace es manejar la comunicación entre los
clientes y los servidores.
Al dividir el sistema operativo en partes, cada una puede ser pequeña y manejable.
Además, dado que todos los servidores se ejecutan como procesos en modo de usuario, y
no en modo de kernel, no tienen acceso directo al hardware. Por tanto, si se activa un
error en el servidor de archivos, es posible que el servicio de archivos se caiga, pero
normalmente esto no hará que se caiga toda la máquina.
Es importante mencionar que gran parte de los servicios de Internet obedecen al modelo
cliente servidor. El servidor web pone a disposición del cliente los sitios web, a los cuales
el cliente accede a través de su navegador. El servidor, de esta manera, aloja los datos que
el cliente solicita mediante el navegador instalado en su computadora.
Características
Cliente
6
o Remitente de la solicitud.
o Puede ser un ordenador como también una aplicación de informática, la
cual requiere información proveniente de la red para funcionar.
Servidor
o Receptor de solicitudes.
o Puede ser un ordenador o una aplicación informática la cual envía
información a los demás agentes de la red.
Red
o Una red es un conjunto de clientes, servidores y base de datos unidos de
una manera física o no física en el que existen protocolos de transmisión
de información establecidos.
Ventajas
Facilita la integración entre diferentes sistemas y comparte información
permitiendo una interfaz más amigable para el usuario.
Estructura modular: facilita de más la integración de nuevas tecnologías y el
crecimiento de la infraestructura computacional favoreciendo así la estabilidad de
las soluciones.
7
Centralización de control: un programa cliente defectuoso o no autorizado no
pueda dañar el sistema, además facilita la tarea de poner al día datos u otros
recursos sin problemas.
Encapsulación: el modelo cliente servidor permite que cada sector pueda trabajar
en su área, pero accediendo al mismo servidor e información que los demás sin
generar conflictos.
Desventajas
Requiere habilidad y amplio conocimiento para que un servidor sea reparado.
A mayor número de clientes, más problemas para el servidor.
Alto costo: los servidores son computadoras de alto nivel con un hardware y
software específicos para poder dar un correcto funcionamiento a nuestras
aplicaciones.
Ejemplos
UNIX
Windows Esential Business Server
Windows NT 4.0
Novell NetWare 4.X
MÁQUINA VIRTUAL
Una máquina virtual es una computadora de software que, como una computadora física,
ejecuta un sistema operativo y aplicaciones. La máquina virtual se compone de un
conjunto de archivos de especificación y configuración y está respaldada por los recursos
físicos de un host. Cada máquina virtual tiene dispositivos virtuales que proporcionan la
misma funcionalidad que el hardware físico y tienen beneficios adicionales en términos
de portabilidad, capacidad de administración y seguridad.
La máquina virtual es una ilusión de una máquina real. Es creado por un sistema operativo
de máquina real, que hace que una sola máquina real parezca ser varias máquinas reales.
La arquitectura de la máquina virtual se muestra abajo.
El mejor ejemplo de arquitectura de máquina virtual es la computadora IBM 370. En este
sistema, cada usuario puede elegir un sistema operativo diferente. En realidad, la máquina
virtual puede ejecutar varios sistemas operativos a la vez, cada uno de ellos en su máquina
virtual.
8
Su multiprogramación comparte el recurso de una sola máquina de manera diferente.
Características
Cada máquina virtual tiene su propio conjunto de hardware virtual (por ejemplo,
RAM, CPU, NIC, etc.) en el que se cargan un sistema operativo y aplicaciones.
El sistema operativo ve un conjunto de hardware coherente y normalizado,
independientemente de los componentes físicos reales del hardware.
Las máquinas virtuales están aisladas entre sí.
La máquina virtual no sabe que es virtual.
Ventajas
Interfaces familiares.
Insolación: Cada sistema operativo se ejecuta por separado y desea sus propios
recursos virtuales.
Alta disponibilidad: Si falla algún servidor VM, acceda fácilmente a los datos de
otro.
Escalabilidad: Agregue o quite recursos fácilmente.
Copia de seguridad con recuperación rápida: Usando la herramienta de
recuperación de datos VMDK.
Reducción de costos:
Ahorre costos al ejecutar múltiples sistemas operativos en una sola máquina.
Comparte hardware.
Desventajas
Dificultad en el acceso directo al hardware.
9
Gran consumo de RAM ya que cada máquina virtual ocupará un área separada de
la misma.
Gran uso del espacio en disco, ya que toma todos los archivos para cada sistema
operativo instalado en cada máquina virtual.
Una máquina virtual es menos eficiente que una máquina real cuando accede al
disco duro del host indirectamente.
Ejemplos
IBM System/370
10
ORIENTACIÓN A OBJETOS
Están creados bajo el paradigma de la programación orienta a objetos, es decir, la visión
que se tiene sobre el sistema operativo es de una colección de objetos, cada parte del
sistema operativo vendría a ser un objeto. Los objetos se organizan en una jerarquía de
clases, lo que permite la reusabilidad, extensibilidad, etc.
Características
Abstracción
Permite diferenciar entre el comportamiento de un objeto o, la acción que es capaz
de realizar y cómo lleva a cabo este comportamiento. Esta abstracción de datos se
implementa a través de una interfaz de objeto, que permite a un objeto emisor
comunicarse con otro objeto receptor, pero el objeto emisor desconoce la forma
en que se lleva a cabo la acción solicitada (mensaje).
Polimorfismo
Esta característica que permite diseñar métodos para que las clases derivadas,
adquieran comportamientos distintos; así, una misma operación puede cambiar
entre las distintas clases derivadas de una clase base, de modo que, dos objetos
que sean instancias de distintas clases, generarán resultados diferentes a pesar de
que la operación requerida por ambos tenga la misma denominación.
Herencia
La herencia permite a una clase tener el mismo comportamiento que otra y
extender o limitar ese comportamiento para proveer una acción especial a una
necesidad específica.
Encapsulamiento
11
Esta propiedad denominada también ocultación de la información, se refiere a la
arquitectura compleja del objeto, que integra en una unidad o cápsula, datos y
programas relacionados entre sí; haciéndolo inaccesible e impide que otros
objetos, usuarios, u otros programadores conozcan cómo está organizada la
información disponible.
Ventajas
Eficiencia
Nuevas soluciones óptimas salen al mercado para desarrollo.
Flexibilidad
Actualizaciones en base a parches de forma automática.
Portabilidad
Nos permite mover y utilizarlo en cualquier máquina. Esto también nos permite
las dependencias entre los dispositivos y el sistema operativo.
Encapsulamiento
Este concepto del paradigma orientado a objetos nos permite encapsular o cuidar
los dispositivos de HW, ciertas entidades que pueden correr como procesos,
archivos, estructuras propias del sistema operativo, políticas, etc. Prácticamente
podemos utilizar este concepto, para los conocidos conceptos de los sistemas
operativos actuales.
Soporte para interfaces adaptables
Añade nuevos componentes mediante la modificación de las consolidaciones de
los nombres a los objetos del servidor de nombres de una aplicación.
Exclusión mutua y sincronización un objeto puede controlar la exclusividad de
los accesos a su estado a través de sus métodos. Puede proporcionar un “seguro”
a las variables de interfaz de su instancia.
Desventajas
Complejidad de adaptación
Demasiado código
Extensa documentación de objetos
Ejemplos
BeOs
JavaOS
ReactOS
JNode
HAIKU
Choice OS
NeXTSTEP
12
13
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
FUTUROS
La principal tendencia de los sistemas operativos en cuanto a organización de trabajo es
convertirse en sistemas operativos distribuidos.
En estos existe un software que distribuye las tareas de los usuarios sobre una red de
computadoras y para los usuarios es transparente donde realizan sus tareas y guardan su
información
Características
1. Abstracción.
3. Estandarización
Un sistema operativo bien diseñado debe ser estandarizado de una manera tal que
se adapte y siga siendo útil indefinidamente.
4. Diseño para facilidad de empleo y desarrollo de software
Los sistemas operativos serán diseñados para el uso fácil y el desarrollo fácil.
Ventajas
Economía, pues es mucho más barato, añadir servidores y clientes cuando se
requiere aumentar la potencia de procesamiento.
Tienen una mayor confiabilidad. Al estar distribuida la carga de trabajo en muchas
máquinas la falla de una de ellas no afecta a las demás, el sistema sobrevive como
un todo.
Se pueden compartir recursos, como programas y periféricos, muy costosos.
Ejemplo: Impresora Láser, dispositivos de almacenamiento masivo, etc.
Tienen mayor flexibilidad, la carga de trabajo se puede distribuir entre diferentes
ordenadores.
14
Desventajas
Las redes de comunicación. Por ejemplo: Perdida de mensajes, saturación en el
tráfico, etc.
Un problema que puede surgir al compartir datos es la seguridad de los mismos.
En general se considera que las ventajas superan a las desventajas, si estas últimas
se administran seriamente.
Ejemplos
UBUNTU
Arch Linux:
XUbuntu
Linux
MacOS Sierra
15
BIBLIOGRAFÍA
LIBROS
Silberschatz, A., Galvin, P., & Gagne, G. (2005). Operating system concepts.
ENLACES
16
MODELO CLIENTE SERVIDOR. (2019). Mi sitio. Recuperado 3 de Setiembre de 2019, a partir de
https://redespomactividad.weebly.com/modelo-cliente-servidor.html
What Is a Virtual Machine? Everything You Need to Know. (2019). MakeUseOf. Recuperado 3
de Setiembre de 2019, a partir de https://www.makeuseof.com/tag/virtual-machine-
makeuseof-explains/
17