El documento describe los cambios recientes en los sistemas operativos, incluyendo nuevas arquitecturas como micronúcleo, multihilo y multiprocesamiento simétrico. También discute los sistemas operativos distribuidos y el diseño orientado a objetos.
2. • Con el paso de los años se ha producido una evolución gradual de la
estructura y capacidades de los Sistemas Operativos. Sin embargo,
recientemente se ha introducido un cierto número de nuevos elementos de
diseño en los nuevos Sistemas Operativos y en las nuevas versiones de los
Sistemas Operativos existentes. Estos Sistemas Operativos modernos
responden a nuevos desarrollos del hardware y nuevas aplicaciones. Entre
estos dispositivos de hardware están las máquinas multiprocesador,
incrementos enormes de la velocidad de la máquina, alta velocidad en los
enlaces de las redes de comunicación e incremento en el tamaño y variedad
de los dispositivos de almacenamiento de memoria. En los campos de
aplicación que han influido en el diseño de los Sistema Operativos están las
aplicaciones multimedia, el acceso a Internet y páginas Web y la ejecución
cliente/servidor.
3. • El porcentaje de cambios en las demandas de los Sistemas Operativos,
requiere no solamente las modificaciones y mejoras en las arquitecturas ya
existentes, sino nuevas formas de organización del Sistema Operativo.
Muchos de los diferentes enfoques y elementos de diseño se han probado
tanto en Sistemas Operativos experimentales como comerciales, y muchos
de ellos encajan dentro de las siguientes categorías
Arquitectura Micronúcleo.
Arquitectura Micronúcleo.
Multihilos.
Multihilos.
Multiproceso Simétrico.
Multiproceso Simétrico.
Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.
Diseño Orientado a Objeto.
Diseño Orientado a Objeto.
4. • La arquitectura micronúcleo asigna solamente unas pocas funciones
esenciales al núcleo, incluyendo espacios de direcciones, comunicación
entre procesos (IPC) y planificación básica. Otros servicios del Sistema
Operativo los proporciona procesos, algunas veces llamados servidores, que
se ejecutan en modo usuario y que el micronúcleo trata como a cualquier
otra aplicación. Este enfoque desconecta el núcleo y el desarrollo de
servidores. Los servidores pueden estar diseñados para aplicaciones
específicas o necesidades del entorno. El enfoque del micronúcleo simplifica
la implementación, proporciona flexibilidad y se adapta bien para entornos
distribuidos. En esencia, un micronúcleo interactúa de la misma forma con
procesos servidores locales y remotos, facilitando la construcción de
sistemas distribuidos.
5.
6. • Las unidades centrales de procesamiento con capacidad para multithilo
(multithreading en inglés) tienen soporte en hardware para ejecutar
eficientemente múltiples hilos de ejecución.
• El paradigma de multihilo ha llegado a ser más popular a medida que los
esfuerzos para llevar más adelante el paralelismo a nivel de instrucción se
han atascado desde finales de los años 1990. Esto permitió que reemergiera
a una posición destacada el concepto del computación de rendimiento a
partir del más especializado campo del procesamiento transaccional:
• Aunque es muy difícil acelerar un solo hilo o un solo programa, la mayoría
de los sistemas de computadores son realmente multitarea entre múltiples
hilos o programas.
• Las técnicas que permitirían acelerar el rendimiento total del procesamiento
del sistema en todas las tareas (tasks) darían como resultado un aumento
significativo del rendimiento.
7. Las dos principales técnicas para computación de rendimiento son el
multiproceso y el multihilo.
Una cierta crítica del multihilo incluye:
Los múltiples hilos pueden interferir uno con el otro al compartir recursos de
hardware como cachés o Translación Lookaside Buffer (TLB).
Los tiempos de ejecución de un solo hilo no son mejorados, sino por el
contrario, pueden ser degradados.
El soporte de hardware para multihilo es más visible al software que el
multiprocesamiento, por lo tanto requiriendo más cambios tanto a las
aplicaciones como el sistema operativo.
Las técnicas de hardware usadas para soportar multihilo a menudo paralelizan
las técnicas de software usadas para la multitarea de los programas de
computadora.
9. • La arquitectura SMP (Multi-procesamiento simétrico, también llamada UMA, de Uniform
Memory Access), se caracteriza por el hecho de que varios microprocesadores
comparten el acceso a la memoria. Todos los microprocesadores compiten en igualdad
de condiciones por dicho acceso, de ahí la denominación "simétrico".
• Los sistemas SMP permiten que cualquier procesador trabaje en cualquier tarea sin
importar su localización en memoria; con un propicio soporte del sistema operativo, estos
sistemas pueden mover fácilmente tareas entre los procesadores para garantizar
eficientemente el trabajo.
• Una computadora SMP se compone de microprocesadores independientes que se
comunican con la memoria a través de un bus compartido. Dicho bus es un recurso de
uso común. Por tanto, debe ser arbitrado para que solamente un microprocesador lo use
en cada instante de tiempo. Si las computadoras con un solo microprocesador tienden a
gastar considerable tiempo esperando a que lleguen los datos desde la memoria, SMP
empeora esta situación, ya que hay varios parados en espera de datos.
10.
11. • Los sistemas operativos distribuidos desempeñan las mismas funciones que un
sistema operativo normal, pero con la diferencia de trabajar en un entorno
distribuido. Su Misión principal consiste en facilitar el acceso y la gestión de los
recursos distribuidos en la red.
• En un sistema operativo distribuido los usuarios pueden acceder a recursos
remotos de la misma manera en que lo hacen para los recursos locales.
Permiten distribuir trabajos, tareas o procesos, entre un conjunto de
procesadores. Puede ser que este conjunto de procesadores esté en un equipo
o en diferentes, lo cual es transparente para el usuario.
• Los sistemas distribuidos deben de ser muy confiables y estables ya que si un
componente del sistema se descompone otro componente debe de ser capaz de
reemplazarlo inmediatamente y no afectar los procesos del sistema.
• Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los
siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.
13. • Diseño orientado a objetos es una fase de la metodología orientada a
objetos para el desarrollo de Software. Su uso induce a los programadores a
pensar en términos de objetos, en vez de procedimientos, cuando planifican
su código. Un objeto agrupa datos encapsulados y procedimientos para
representar una entidad. La 'interfaz del objeto', esto es, las formas de
interactuar con el objeto, también se definen en esta etapa. Un programa
orientado a objetos se caracteriza por la interacción de esos objetos. El
diseño orientado a objetos es la disciplina que define los objetos y sus
interacciones para resolver un problema de negocio que fue identificado y
documentado durante el análisis orientado a objetos.