viernes, 9 de septiembre de 2016

ARQUICTECTURA DE LOS SISTEMAS OPERATIVOS
Un sistema operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. El sistema operativo se encarga de crear el vínculo entre los recursos materiales, el usuario y las aplicaciones (procesador de texto, videojuegos, etcétera). Cuando un programa desea acceder a un recurso material, no necesita enviar información específica a los dispositivos periféricos, simplemente envía la información al sistema operativo, el cual la transmite a los periféricos correspondientes a través de su driver (controlador).

MULTIPROGRAMACIÓN
Multiprogramación es un término que significa que muchos programas que no están relacionados unos con otros pueden residir en la memoria de una computadora y tomar turnos usando la unidad central de procesamiento, cualquiera que haya usado Windows ®, Unix o Linux ha experimentado un entorno de multiprogramación porque estos sistemas pueden ejecutar un largo numero de programas de usuario aparentemente de manera simultanea en una sola unidad central de procesamiento.
La sección que permite la multiprogramación en un sistema operativo se denomina Kernel, éste software consiste en un numero de procedimientos que llevan a cabo funciones como crear tareas, decidir cual tarea correrá en un momento dado, proveyendo un mecanismo para cambiar al procesador de una tarea a otra y provee formas primitivas de acceso controlado a recursos compartidos.
TIMESHARING
El tiempo compartido (o multitarea) es una extensión lógica de la multiprogramación. En los sistemas de tiempo compartido, la CPU ejecuta múltiples trabajos conmutando entre ellos, pero las conmutaciones se producen tan frecuentemente que los usuarios pueden interactuar con cada programa mientras éste está en ejecución.
Dado que usuario suministra directamente instrucciones al sistema operativo o a un programa, se requere que exista comunicación directa entre el usuario y el sistema, por ejemplo, al utilizar un dispositivo de entrada, como un teclado, el tiempo de respuesta debe ser pequeño (menor a 1 segundo). Este tipo de sistema operativo permite que muchos usuarios compartan simultáneamente la computadora. Dado que el tiempo de ejecución de cada acción tiende a ser pequeño, sólo es necesario un tiempo pequeño de CPU para cada usuario. Puesto que el sistema cambia rápidamente de un usuario al siguiente, cada usuario tiene la impresión de que el sistema completo está dedicado a él, incluso aunque esté siendo compartido por muchos usuarios.
DISEÑO POR CAPAS
Es una generalización del modelo de estructura simple para un sistema monolítico. En esta arquitectura, el sistema operativo se divide en una jerarquía de capas, donde cada capa solamente utiliza los servicios de la capa inferior y se enfoca en ofrecerle una interfaz clara y bien definida a la capa superior. En cada capa se encapsulan funciones específicas, así cada capa se encarga de una función individual del sistema operativo. Su principal ventaja redica en poseer un diseño mucho más modular, seguro y escalable que el monolítico.El primer modelo creado con esta estructura fue denominado THE: Technische Hogeschool Eindhoven (Holanda - Dijkstra, 1968).
DISEÑO CLIENTE-SERVIDOR
En este modelo, lo único que hace el núcleo es controlar la comunicación entre los clientes y los servidores. Al separar el sistema operativo en partes, cada una de ellas controla una parte del sistema, como el servicio a archivos, servicios a procesos, servicio a terminales o servicio a la memoria, y cada parte es pequeña y controlable. Además, como todos los servidores se ejecutan como procesos en modo usuario y no en modo núcleo, no tienen acceso directo al hardware. En consecuencia, si hay un error en el servidor de archivos, éste puede fallar, pero esto no afectará en general a toda la máquina.
DISEÑO MÁQUINAS VIRTUALES
En este modelo, mediante software, se proporciona a los programas la emulación de un sistema el cual se quiere reproducir. El software emulador traduce las peticiones hechas a la máquina virtual en operaciones sobre la máquina real. Se pueden ejecutar varias máquinas virtuales al mismo tiempo, por ejemplo, mediante tiempo compartido. Los recursos reales se reparten entre las distintas máquinas virtuales.
Se separan totalmente las funciones de multiprogramación y de máquina virtual. Existe un elemento central llamado monitor de la máquina virtual que:
*Ejecuta en el hardware.
Realiza la multiprogramación.
*Proporciona varias máquinas virtuales a la capa superior.
Las máquinas virtuales instrumentan copias exactas del hardware, con su modo núcleo/usuario, E/S, interrupciones y todo lo demás que posee una máquina real. Pueden ejecutar cualquier sistema operativo que se ejecute en forma directa sobre el hardware.

Las distintas máquinas virtuales pueden ejecutar distintos sistemas operativos, y en general, así lo hacen. Soportan periféricos virtuales.

No hay comentarios:

Publicar un comentario