QUÉ ES UN SISTEMA
OPERATIVO
Maritzol Tenemaza
Ubicación del sistema Operativo
Programa de Interfaz de Usuario
Sistema Operativo
Navegador
Web
Lector de
Correo
Electrónico
Reproductor
de música
Modo usuario
Modo Kernel
Software
Hardware
2
Ing Maritzol Tenemaza MSc.
Ubicación del Sistema Operativo
El sistema operativo es una capa de software , cuyo
trabajo es proporcionar a los programas de
usuario, un modelo de computadora mejor, simple y
pulcra.
El programa con el que los usuarios interactúan se
llama shell (no forma parte del SO pero lo usa
para llevar a cabo su trabajo).
3
Ing Maritzol Tenemaza MSc.
Ubicación del Sistema Operativo
Modos de Operación:
Modo Kernel
Modo Usuario
El SO es la pieza fundamental del software y se ejecuta en modo kernel o modo supervisor.
Desde aquí el SO tiene control de todo el software y puede ejecutar toda instrucción que toda máquina pueda ejecutar.
El resto del software se ejecuta en modo usuario.
Desde aquí solo un conjunto de instrucciones es permitido.
Las instrucciones de E/S están prohibidas para estos usuarios.
4
Ing Maritzol Tenemaza MSc.
Ubicación del Sistema Operativo
El programa de interfaz de usuario, shell o GUI,
es el nivel más bajo del software en modo usuario,
permite la ejecución de otros programas :
como un navegador web.
lector de correo electrónico
o reproductor de música.
Usa en forma intensiva el SO.
5
Ing Maritzol Tenemaza MSc.
Ubicación del Sistema Operativo
El SO se ejecuta directamente sobre el Hardware y
proporciona la base para las demás aplicaciones
de software.
Una distinción importante entre el SO y el programa
que se ejecuta en modo usuario es que si por ejemplo
su a un usuario no le gusta el manejador de correo
puede cambiarlo, pero o podrá cambiar el manejador
de interrupciones de reloj, (está protegido por el
hardware y el SO).
6
Ing Maritzol Tenemaza MSc.
Qué es un Sistema Operativo
Software que se ejecuta en modo Kernel.
Sus funciones son:
Proporcionar a los programadores de aplicaciones (y
a los programas) un conjunto abstracto de recursos
simples (en lugar de los conjuntos complejos de
hardware).
Administrar los recursos de hardware.
7
Ing Maritzol Tenemaza MSc.
Qué es un Sistema Operativo
Sistema Operativo como Máquina extendida:
Él trabajo del sistema operativo es crear buenas abstracciones para después implementar y administrar los objetos abstractos creados.
Una de las principales tareas del SO es ocultar el hardware y presentar a los programadores abstracciones agradables, elegantes simples y consistentes.
Recordar que los verdaderos clientes del SO son los programas de aplicación – en contraste – los usuarios finales tienen que lidiar con las abstracciones que proporcionan la interfaz de usuario., ya sea un shell de líneas de comando o interfaz gráfica.
8
Ing Maritzol Tenemaza MSc.
Qué es un Sistema Operativo
Sistema Operativo como Administrador de recursos.
Si pensamos en el SO cuya función principal es
proporcionar abstracciones a los programas de aplicación,
responde a una perspectiva de arriba hacia abajo.
La perspectiva alterna de abajo hacia arriba, sostiene que
el SO está presente para administrar todas las piezas de
un sistema complejo. Así, proporcionar una asignación
ordenada y controlada de:
Procesadores, memorias y dispositivos de E/S, entre los
programas que compiten por estos recursos.
9
Ing Maritzol Tenemaza MSc.
Qué es un Sistema Operativo
Sistema Operativo como Administrador de recursos.
Por ejemplo si 3 programas quieren escribir en la impresora, para que no se mezclen los contenidos, el SO guarda en buffers los contenidos luego envía a la impresora, mientras otros siguen guardando los contenidos.
El SO debe llevar un registro de que programas están usando qué recursos (especialmente en red), de otorgar peticiones de recursos, de contabilizar su uso, y mediar las peticiones en conflicto.
10
Ing Maritzol Tenemaza MSc.
Qué es un Sistema Operativo
Sistema Operativo como Administrador de recursos.
La administración de recursos incluye el multiplexaje,
(compartir) recursos de dos formas distintas:
Por tiempo, en este caso los programas toman turnos. (ejemplo
solo 1 CPU, un solo programa se ejecuta a la vez)
Por espacio, en vez de que los clientes tomen turnos, cada uno usa
una parte del recurso, por ejemplo normalmente la memoria se
divide entre varios programas en ejecución, para que cada uno
pueda estar residente al mismo tiempo. En este caso el SO debe
resolver problemas de equidad y protección. Otro recurso
multiplexado es el disco duro, debe ser administrado por el SO.
11
Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
Estrecha relación entre SO y Arquitectura de Computadores.
Primera Generación (1945-1955): tubos de vacío.
Luego de infructuosos esfuerzos de Babagge en la segunda guerra mundial aparecen:
La primera computadora digital en Iowa State University, 300 tubos de vacío bulbos, construida por John Atanasoff y su estudiante CliffordBerry.
Konrad Zuse en Berlin construyó la Z3.
La Colossus construida por un equipo de trabajo en Bletchley Inglaterra.
La Mark1 por Howard Aiken en Harvard.
La ENIAC por Willian Mauchley
Los sistemas Operativos eran desconocidos, también se desconocían los lenguajes de programación, manejo personal y manual.
12
Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
Segunda Generación (1955-1965): Transistores y sistemas de procesamiento por Lotes:
Los transistores , le dieron confiabilidad a la computadora. A estas máquinas se las conocía como mainframes, requerían operadores para manejarlas.
Los programas eran fortran o assembler y se usaban tarjetas, se ejecutaba un programa a la vez.
Luego se pasó al procesamiento por lotes para reducir costos. Se enviaban muchos programas a la vez, en tarjetas, se pasaban a cinta, y los resultados se escribían en cinta, luego esta cinta se sacaba y se imprimía fuera de línea.
Los sistemas operativos típicos eran FMS(Fortran monitor system) e IBSYS de la IBM.
13
Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
Tercera Generación (1965 a 1980): circuitos integrados y multiprogramación:
Existían dos líneas de computadoras: la científica y las comerciales, esto era muy costoso y se resolvió cuando la IBM creó la serie 360.
La familia 360 era de circuitos integrados, su sistema operativo fue el OS-360, un sistema operativo gigante y lleno de errores.
El sistema Operativo OS/360 introdujo la multiprogramación, la solución fue subir a memoria más de un programa con protección desde hardware.
El OS/360 introdujo el spooling, es decir leer el grupo de tarjetas y llevarlas a disco duro.
Luego se preparó el camino para los tiempos compartidos (time sharing)
14
Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
La cuarta Generación : (1980 a la fecha)
Con el desarrollo de los circuitos LSI (integración a gran escala), miles de transistores en un centímetro cuadrado, nacen las computadoras personales.
Primero aparecieron las microcomputadoras, 8088, con el SO CP/M (Control Programa for microcomputers).
Posteriormente apareció el DOS( sistema operativo en Disco), que luego selo unió con un interprete de Bill Gates llamado Basic y apareció el DOS/BASIC, mismo que luego Tim Patterson (quien fue cotratado por Bill Gates)lo rediseñó y cambió su nombre a MS/DOS. 90286, 386,486.
Posteriormente se incluye la GUI, en 1988 apareció la macintoshLisa, pero muy cara, luego la Apple Macintosh con mucho éxito.
15
Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
La cuarta Generación : (1980 a la fecha)
Posteriormente Microsoft inluenciada por la macintosh, creó
un sistema basado en GUI llamado windows, el cual se
ejecutaba sobre MS-DOS, es decir era más un shell que un
sistema operativo.
A partir de 1995 se liberó la versión windows -95.
En 1998 se liberó windows 1998, aún contenia mucho
código en lenguaje ensamblador para máquinas de 16 bits.
Luego apareció Window –NT (nueva tecnología). Sistema
de 32 bits, este SO también fracazó, no aniquiló a todos los
windows ni al MS-DOS.
16
Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
La cuarta Generación : (1980 a la fecha)
Windows NT-4 finalmente, empezó a tener éxito, especialmente en redes corporativas.
Windows NT5 cambió de nombre a windows -2000
Luego Windows ME (millennium edition).
En el 2001 aparece Windows –XP.
En el 2007 Windows .Vista.
Luego apareció windows -7
Otro competidor importante es UNIX, enla China y en la India están presentes. Prefiernuna interfaz basada en comandos y otra basada en GUI, llamada Gnome o KDE.
Linux es una alternativa popular para estudiantes y empresas.
(actualmente hablamos de procesadores Intel core 5, core 7…)
Los SO en red necesitan un dispositivo controlador de interfaz de red y software de bajo nivel para controlarlo.
Un SO distribuido, está compuesto por varios procesadores, permiten que las aplicaciones se ejecuten en varios procesadores al mismo tiempo, lo que requiere software de planificación para optimizar el paralelismo.
17
Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
Sistemas operativos de Main Frame.
Son computadoras muy grandes que aún se encuentran
en centros de datos muy grandes. Por ejemplo un main
frame de 1000 discos y millones de gigabytes de
datos.
Son servidores web de alto rendimiento, son servidores
para sitios de comercio electrónico a gran escala, y
servidores para transacciones de negocio a negocio.
Los SO de main frames están orientados hacia el
prcesamiento de muchos trabajos a la vez.
18
Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
Sistemas operativos de Main Frame.
La mayor parte requieren muchas operaciones de E/S.
Ofrecen tres tipos de servicios:
Procesamiento por lotes: procesa trabajos de rutina, sin que hayan usuarios interactivos de por medio. Por ejemplo reporte de ventas de una cadena de tiendas.
Procesamiento por transacciones: manejan grandes cantidades de pequeñas peticiones. Por ejemplo reservaciones en una aerolínea, transacciones de un banco.
Tiempo compartido: permiten que miles de usuarios remotos ejecuten trabajos en la computadora al mismo tiempo. Por ejemplo consultar una gran base de datos.
Ejemplo de sistemas operativos de Main frame: OS/390.
Actualmente están siendo reeplazados por sistemas operativos Linux.
19
Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
Sistemas operativos de Servidores.
Se ejecutan en servidores qe sn computadoras personales muy grandes, estaciones de trabajo e incluso main frames.
Dan servicio a varios usuarios a la vez a través de la red, y les permiten compartir los recursos de hardware y software.
Los servidores pueden proporcionar servicios de impresión, archivos o web.
Los proveedores de Internet operan muchos equipos servidores para dar soporte a sus clientes y los sitios web.
Utilizan servidores para almacenar paginas web y hacerse cargo de peticiones entrantes.
Solaris, Linux, Windows server 200x.
20
Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
Sistemas operativos de Multiprocesadores.
Una manera de dar poder a un sistema de computo es conectar varias CPU a un solo sistema.
Se las conoce como computadores en paralelo multicomputadoreso multiprocesadores.
Los SO, son a menudo variaciones de los sistemas operativos de servidores con características especiales para comunicación, conectividad y consistencia.
Con la llegada de los chips multinúcleo para las computadoras personales, hasta los sistemas operativos de equipos de escritorio y portátiles convencionales ya tienen multiprocesadores de pequeña escala y cada vez aumenta el número de núcleos.
Windows y Linux se ejecutan en multiprocesadores.
Lo difícil es que los programas usen todo ese poder de cómputo.
21
Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
Sistemas operativos de computadoras personales.
Todos los SO modernos soportan la multiprogramación.
Con frecuencia se inician docenas de programas al
arrancar el sistema.
Su trabajo es proporcionar buen soporte para un solo
usuario.
Linux, machintosh, windows vista, windows 7.
22
Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
Sistemas operativos de computadoras de bolsillo.
Computadora de bolsillo o PDA (Personal Digital
Assistant)
Actualmente los PDA y celulares se han fusionado. Casi
todos ellos se basan en procesadores de 32 bits y 64
bits, trabajan en modo protegido y ejecutan un
sofisticado SO.
Actualmente es posible manejar mucha funciones de
una computadora normal.
Symbian OS, Palm OS ….iphone (machintosh), adriode
23
Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
Sistemas operativos Integrados.
Sistemas opertivos integrados o (embedded), se
conocen también como incrustados o embebidos.
Operan en equipos que o no aceptan software
instalado por el usuario. Por ejemplo microondas,
televisores, MP4, etc…. Ejemplo: QNX, VxWorks
24
Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
Sistemas operativos de nodos sensores.
Son pequeñas computadoras que se comunican entre si, con una estación base en forma inalámbrica. Se usan en edificios en protección de perímetros de edificios, proteger fronteras. Detectar incendios de bosques, medir temperatura, precipitaciones, pronostico del tiempo.
Cada sensor son verdaderas computadoras con memorias, procesadores, alimentadas con baterías y enlazadas a una red que debe ser robusta para tolerar fallos en los nodos individuales.
Realizan actividades en forma periódica activados por un reloj interno.
TinyOS
25
Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
Sistemas operativos en tiempo real.
Se caracterizan por tener el tiempo como un parámetro
clave. Ejemplo Sistemas do control de procesos
Industriales llamados Sistemas en tiempo real duro, su
ejecución depende de tiempos exactos.
Existen los sistemas en tiempo real suave, en los cuales
se aceptan que puedan fallar el tiempo determinado,
ejemplo teléfonos digitales.
Estos Sistemas no aceptan que el usuario inserte ´su
propio software, lo cual facilita la protección.
26
Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
Sistemas operativos de tarjetas inteligentes
Son los sistemas operativos más pequeños. Son tarjetas
del tamaño de una tarjeta de crédito con un chip de
CPU. Algunas se energizan por contactos con el lector
del equipo. A menudo estos son sistemas propietarios.
Algunas tarjetas funcionan en java. Algunas tarjetas
ejecutan varios applets de java, lo cual con lleva a la
multiprogramación. El SO los maneja.
27
Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
28
La base para comprender el funcionamiento de un
SO, son ciertos conceptos básicos y abstracciones:
Procesos,
Espacio de direcciones,
Archivos,
E/S
Protección
El Shell
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
29
Procesos:
Un proceso es en esencia un programa en ejecución.
Cada proceso tiene asignado un espacio de
direcciones.
El espacio de direcciones contiene el programa
ejecutable, los datos y su pila.
También tiene asociados registros (CP, apuntador de
pila entre otros), un conjunto de archivos abiertos,
alarmas pendientes, listas de procesos relacionados y
la información necesaria para ejecutar un programa.
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
30
Procesos (2):
Se debe pensar en un sistema de multiprogramación: Asuma que usted baja una película, mientras tanto usted navega en la web, además revisa su correo. El SO puede cortar el proceso que baja la película porque ya ha usado suficiente tiempo, para ejecutar otro.
Cuando detiene un proceso debe guardar el estado del proceso, por ejemplo si el proceso tuvo varios archivos abiertos al mismo tiempo debe guardar todos los apuntadores asociados a la posición actual, algunos SO guardan toda la información del proceso más su propio espacio de direcciones los guarda en Tablas de procesos, las cuales son arreglos o listas enlazadas.
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
31
Procesos (3):
El sistema de administración de procesos son los que se encargan de crear y terminar procesos. Por ejemplo un proceso llamado intérprete de comandos, o shell, lee comandos, si el usuario pide compilar un programa, el shellcrea el proceso para ejecutar el compilador, este se ejecuta y cuando termina llama al administrador de procesos para terminarse a si mismo.
En ocasiones el proceso llama a subprocesos, llamados procesos hijos y se forma un árbol de procesos. A menudo se necesita sincronizar actividades entre procesos.
A los procesos y subprocesos el SO les asigna identificadores individuales y de grupo.
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
32
Espacios de Direcciones:
la memoria principal contiene a todos los programas que se están ejecutando.
Un SO simple, solo hay un programa a la vez en memoria, para ejecutar un segundo se tiene que quitar el primero y colocar el segundo en memoria.
Un SO sofisticado, permite colocar varios programas en memoria. Para evitar que se interfieran entre ellos necesitan mecanismos de protección. Aunque este mecanismo tiene que estar en hardware tiene que estar controlado por el SO.
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
33
Espacios de Direcciones(2):
En el espacio de direcciones , las direcciones pueden
ser de 32 o 64 bits, si un proceso requiere un espacio
de direcciones mayor a la capacidad de la memoria
principal de la memoria, en este caso se usa una
técnica llamada Memoria virtual, en este caso el SO
crea la abstracción de memoria suficiente.
Este trabajo de administrar la memoria es parte
importante de lo que hace el SO.
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
34
Archivos:
Otro concepto clave es el sistema de archivos.
Una de las actividades del usuario es crear, borrar, leer y escribir sobre archivos, para lo cual hay que acceder al dispositivo y hacer las actividades.
El SO maneja el concepto de directorio, como una manera de agrupar archivos. La entradas del directorio pueden ser archivos u otros directorios.
las jerarquías de procesos y de archivos están organizadas en forma de árboles.
Se maneja también otro concepto, archivo especial, es ver a los dispositivos como archivos. De esta manera se puede leer o escribir sobre ellos con las mismas funciones del SO que se utilizan para los archivos.
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
35
Archivos(2):
Existen dos tipos de archivos especiales:
Archivos especiales de bloque: por ejemplo los discos duros, que
permiten acceder de manera directa a un determinado bloque.
Archivos especiales de caracter: por ejemplo los modems o
impresoras.
Otro concepto asociado a los procesos y archivos son los
canales:
Un canal es un tipo de pseudoarchivo que sirve para conectar dos
procesos. Por ejemplo si dos procesos necesitan comunicarse se
debe establecer un canal por anticipado.
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
36
Entrada /Salida
Existen muchos dispositivos de E/S, incluyendo teclados,
monitores, impresoras, etc. Es Responsabilidad del SO
administrar estos dispositivos.
En otra palabras, el SO tiene un subsistema para
administrar los dispositivos de E/S, algunos dispositivos
tienen su propio driver, para administrar el SO.
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
37
Protección
Mucha información del usuario debe ser protegida por
ser confidencial, (mensajes de correo electrónico,
planes de negocio, etc..) es responsabilidad del SO
administrar la seguridad de los archivos.
Conceptos de Sistemas Operativos
Ing Maritzol Tenemaza MSc.
38
EL Shell
EL SO es el código que lleva a cabo el sistema.
Los editores, compiladores, ensambladores,
enlazadores e intérpretes de comandos no son parte
del SO.
Es la interfaz gráfica del usuario.
Cuando cualquier usuario inicia sesión, se inicia el shell,
con interfaz gráfica en el caso de windows (windows
explorer), Linux tiene su shell con GUI, Gnome o KDE, y
el shell de comandos.
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
39
Significa dar un vistazo al interior del S.O.
Los diseños son :
Sistemas Monolíticos.
Sistemas de Capas.
Microkernels
Sistemas Cliente – servidor
Máquinas Virtuales.
ExoKernels
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
40
Sistemas Monolíticos.
Un sistema operativo con núcleo monolítico concentra todas las funcionalidades posibles (planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria, etc) dentro de un gran programa. El mismo puede tener un tamaño considerable, y deberá ser recompilado por completo al añadir una nueva funcionalidad.
Todos los componentes funcionales del núcleo tienen acceso a todas sus estructuras de datos internas y a sus rutinas. Un error en una rutina puede propagarse a todo el núcleo.
Todos sus componentes se encuentran integrados en un único programa que ejecuta en un único espacio de direcciones. En este tipo de sistemas, todas las funciones que ofrece el sistema operativo se ejecutan en modo supervisor, o kernel.
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
41
Sistemas Monolíticos (2).
Estos sistemas operativos han surgido, normalmente, de
sistemas operativos sencillos y pequeños a los que se
les ha ido añadiendo un número mayor de
funcionalidades. Ejemplo MS-DOS y UNIX.
El problema que plantean este tipo de sistemas radica
en lo complicado que es modificar el sistema operativo
para añadir nuevas funcionalidades y servicios.
Por cada llamada al sistema hay un procedimiento de
servicio que se encarga de la llamada y la ejecuta.
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
42
Sistemas de Capas.
Una mejor opción es organizar el SO como una
jerarquía de capas. Por ejemplo (SO The)
Capa Función
5 El operador (proceso operador del sistema)
4 Programas de Usuario
3 Administración de la E/S
2 Comunicación Operador -Proceso
1 Administración de memoria
0 Asignación del procesador y multiprogramación.
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
43
Sistemas de Capas (2).
Una mayor generalización del concepto de capas
estuvo presente en el sistema MULTICs, en ves de capas
se describió como una serie de anillos concéntricos,
donde los interiores tenían más privilegios que los
exteriores.
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
44
Microkernels:
En el diseño de capas, tradicionalmente todas las
capas iban al Kernel, pero eso no es necesario.
Se debe colocar lo menos posible en el Kernel, debido
a que los errores en el Kernel paralizan
inmediatamente al sistema. En contraste los procesos
del usuario se pueden configurar para que tengan
menos jerarquía, por lo que un error de ellos no serçia
fatal.
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
45
Microkernels(2):
La idea del microkernel es lograr una alta
confiabilidad al dividir el SO en módulos pequeños y
bien definidos.
Solo el microkernel se ejecuta en modo Kernel, el resto
se ejecuta en modo Usuario.
De esta forma el error de un proceso puede hacer que
falle ese componente, pero no puede hacer que falle
todo el sistema.
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
46
Modo Cliente Servidor
Aquí se diferencian dos procesos:
Los servidores cada uno de los cuales proporciona ciertos servicios.
Los clientes utilizan estos servicios.
Se conocen como modelo cliente servidor.
La comunicación entre cliente y servidor se lleva a cabo mediante mensajes.
Para obtener un servicio, un proceso cliente construye un mensaje, indicando lo que desea y le envía al servicio apropiado, después el servicio hace el trabajo y envía de vuelta la respuesta.
Los mensajes pueden ejecutarse en el mismo equipo o en equipos remotos.
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
47
Máquinas Virtuales.
Durante 4 décadas IBM ha contado con máquinas virtuales.
Muchos usuarios requieren manejar muchos sistemas
operativos para servidores independientes com de correo,
FTP, servidores web, una solución es la virtualización.
Otro uso es el hospedaje web. (con una sola máquina se
evita el hospedaje compartido)se asigna una MV por
usuario.
Otra aplicación es para los usuario finales, que desean
ejecutar 2 o más SO al mismo tiempo.
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
48
Máquinas Virtuales (2).
Respecto al software, para poder ejecutar software de
máquina virtual su CPU debe ser virtualizable.
Problema: cuando ejecuta una máquina virtual, sus
instrucciones se ejecutan en modo usuario privilegiado,
es decir pueden modificar el PSW, ejecutar
operaciones de E/S, el SO debe hacer que la
instrucción se pueda emular en el software.
Estructura de un Sistema Operativo
Ing Maritzol Tenemaza MSc.
49
Exokernels
En vez de clonar una máquina virtual se hace con máquinas virtuales, lo que se hace a la máquina real es particionarla.
En la capa inferior que se ejecuta en modo Kernel, hay un programa llamado exokernel, su trabajo es asignar recursos a las máquinas virtuales y luego comprobar los intentos de usarlos, así cada máquina virtual piensa que tiene su propio disco, por lo que el monitor de la máquina virtual debe mantener tablas para reasignar las direcciones del disco.
El Exokernel solo necesita llevar el registro para saber a cual máquina virtual se le ha asignado cierto recurso.
El exokernel mantiene las máquinas separadas una de otras.
Bibliografía
Ing Maritzol Tenemaza MSc.
50
Sistemas Operativos modernos – 3 Edición
Andrew Tanenbaum
Pearson Educación
2009