sistemas operativos - cursos.delaf.cl · sistemas operativos estructuras de sistemas operativos...
TRANSCRIPT
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Sistemas OperativosEstructuras de Sistemas Operativos
Esteban De La Fuente [email protected]
LATEX
Universidad Andres Bello
28 ago 2010
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tabla de contenidos1 Interfaz de usuario
CLIGUI
2 Llamadas al sistemaTipos de systemcall
3 Diseno e implementacion del S.O.ObjetivosPolıticas y mecanismosImplementacion
4 Estructura del sistema operativoEstructura simpleEstructura en nivelesMicrokernelsModulos
5 Maquinas virtualesEsteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Servicios
Recordar los servicios que debe ofrecer el sistema operativo:
Interfaz de usuario: cli o gui.
Ejecucion de programas: en sus diferentes estados deejecucion.
Operaciones de E/S: usuario no puede acceder directamente,existe capa intermedia.
Sistema de archivos: leer, escribir, crear, borrar, permisos, etc.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Servicios (2)
Comunicaciones: memoria compartida, pipes, sockets.
Deteccion de errores: fısico o logico. Se deben capturar dichoserrores.
Asignacion de recursos: algoritmos de planificacion.
Estadısticas: propositos contables, de uso, deteccion deerrores, etc.
Proteccion y seguridad: accesos a recursos controlados.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
Interfaz de usuario
CLI: command line interface.
GUI: graphical user interface.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
CLI
Interprete de comando conocido como shell.
Existen diversos shell:
sh: Steve Bourne, Unix v7, 1978.ash: usada como base para las shell de BSD.bash: parte del proyecto GNU.dash: ash mejorada en Debian.ksh.zsh.csh.tcsh.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
CLI (2)
Ejecutan los comandos que el usuario introduce.
Comandos son programas, que al ser introducidos por elusuario pasan a ser procesos en ejecucion dentro del S.O.
Comandos basicos: listar directorios, crear archivos, mover,copiar, borrar, etc.
Posibilidad de utilizar scripts para la ejecucion de multiplescomandos.
Dependiendo de cada shell se pueden tener opciones extraspara la generacion de scripts.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
CLI (3)
Figura: Diagrama ubicacion shell
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
CLI (4)
Alternativas para la ejecucion de un comando:
Incluido dentro de la shell.
Como un programa aparte que es llamado por la shell (Unixusa esto).
No se requiere modificacion de la shell para agregar nuevoscomandos.Se requiere que la shell conozca el PATH del comando aejecutar.
Ver path usados en la shell actual
echo $PATH
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
CLI (5)
Prompt: $ y #
Variables
Alias
Funciones
If, case, while, for
Ejemplo de prompt
usuario@maquina:directorio$
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
CLI (6)
Figura: Ejemplo cli usando bash y konsoles
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
GUI
Sistema de ventanas y menus.
Sistema de escritorio conocido como X (en honor a Xerox,anos 70).
Algunos entornos de escritorio:
KDEGnomeXFCELxdeFluxboxOpenbox
No es propiamente funcion del sistema operativo, de hecho esuna aplicacion mas que funciona sobre este.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
GUI: KDE 3.5
Figura: KDE 3.5
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
GUI: KDE 4
Figura: KDE 4
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
GUI: Gnome
Figura: Gnome
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
GUI: XFCE
Figura: XFCE
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
GUI: LXDE
Figura: LXDE
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
CLIGUI
GUI: Fluxbox
Figura: Fluxbox
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Llamadas al sistema
Interfaz para utilizar servicios del sistema operativo.
Ejemplos:
Errores de procesos (hardware o software).Lectura, creacion o borrado de archivos.Imprimir texto por pantalla.Acceso a dispositivos de E/S.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Llamadas al sistema (2)
Programadores utilizan APIs:
API POSIX.
Api Java.
Api Win32.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Llamadas al sistema (3)
Ventajas de usar Api:
Portabilidad.
Menos codigo.
Instrucciones mas simples.
Programador no necesita conocer a fondo el sistema.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Llamadas al sistema (4)
Figura: Utilizacion de un hardware por parte de una APP
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Tipos de systemcall
Control de procesos.
Manipulacion de archivos.
Manipulacion de dispositivos.
Mantenimiento de informacion.
Comunicaciones.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Control de procesos
Termino: en caso de errores se produce un volcado dememoria y se procede a depuar (herramienta gdb). En caso determino el programa pasara a la siguiente tarea a realizar (clio lotes). Existen niveles de error (0=normal ... 9=grave).
Carga y ejecucion: puede ser necesario cargar y/o ejecutarotro programa (ej: programa 1 llama a programa 2). ¿Dondese devuelve el control una vez termina el programa 2?
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Control de procesos (2)
Obtener, fijar atributos procesos: prioridad, tiempo maximo deejecucion.
Tiempos de espera: determinados por un tiempo X de esperao bien por la espera de algun suceso que se requiera (comandotime).
Memoria: asignacion de memoria principal.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Control de procesos (3)
Kill es una systemcall que permite enviar senales a procesos.
Una senal envia una instruccion a un proceso, por ejemplopara que detenga su ejecucion.
Ejemplo de senales:
KILLTERMSTOP
Envıo de una senal mediante comando kill
kill -SENAL pid
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Control de procesos (4)
Ejemplo de llamadas al sistema:
fork: crea un proceso hijo.
exec: carga programa en memoria y ejecuta.
wait: espera hasta la finalizacion del proceso hijo.
exit: termina la ejecucion (return 0).
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Manipulacion de archivos
Operaciones basica sobre archivos.
Determinar atributos y/o cambiarlos (nombre, tipo, permisos,etc).
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Manipulacion de archivos (2)
Ejemplo de llamadas al sistema:
create
delete
open
read
write
reposition
close
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Manipulacion de dispositivos
Acceso a recursos debe ser controlado: si esta ocupado sedebe esperar.
Existen dispositivos fısicos (como disco duro) o virtuales(como archivos).
Dispositivos en Unix y GNU/Linux
ls /dev
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Manipulacion de dispositivos (2)
Ejemplo de llamadas al sistema:
request
release
open
close
read
write
reposition
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Mantenimiento de informacion
Su proposito es transferir informacion entre el programa deusuario y el sistema operativo.
Ejemplo: tiempo, usuarios, version S.O., memoria libre (odisco duro), etc.
Informacion adicional mantenida por el kernel
ls /proc
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Mantenimiento de informacion (2)
Ejemplo de llamadas al sistema:
time
date
sysinfo (usada por comando uname)
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Comunicaciones
Modelo por paso de mensajes (ejemplo: sockets).
Modelo de memoria compartida: se debe eliminar restricciondel S.O. para proteger datos en memoria.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Tipos de systemcall
Comunicaciones (2)
Ejemplo de llamadas al sistema:
get hostid
get processid
open y close
accept connection
wait for connection
read message y write message
shared memory create
shared memory attach
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
ObjetivosPolıticas y mecanismosImplementacion
Diseno e implementacion del S.O.
Se deben definir objetivos y especificaciones: hardware y tipode sistema operativo.
Se dividen en: objetivos del usuario y objetivos del sistema.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
ObjetivosPolıticas y mecanismosImplementacion
Objetivos del usuario
Comodo de utilizar.
Facil de aprender y de usar.
Fiable.
Seguro.
Rapido.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
ObjetivosPolıticas y mecanismosImplementacion
Objetivos del sistema
Facil de disenar, implementar y mantener.
Flexible.
Fiable.
Libre de errores.
Eficiente.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
ObjetivosPolıticas y mecanismosImplementacion
Polıticas y mecanismos
Polıticas: ¿que hacer?
Mecanismos: ¿como hacerlo?
Polıtica
Al usuario que se sorprenda viendo contenido inapropiado sebloqueara el acceso a internet.
Mecanismo
Aplicar regla en el firewall que bloqueara el acceso al puerto 80para el usuario sorprendido.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
ObjetivosPolıticas y mecanismosImplementacion
Polıticas y mecanismos (2)
Es recomendable que polıticas y mecanismos se encuentrenseparados.
La ventaja de lo anterior es la flexibilidad entregada, si unapolıtica cambia no afecta al mecanismo, o viceversa.
Sistemas basados en microkernels tienen una separacion muygrande, implementando un conjunto basico de componentes.
Ej: en Solaris la planificacion de procesos se controla con unatabla cargable en caliente.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
ObjetivosPolıticas y mecanismosImplementacion
Polıticas y mecanismos (3)
Polıticas influiran en todas las desiciones que el sistemaoperativo deba tomar.
Ej: si se debe o no asignar un recurso, debera existir unapolıtica que indique cuando se aceptara la asignacion ycuando se rechazara.
Asociado a la polıtica anterior debe ir un mecanismo que mediga como hacer la asignacion o como indicar el rechazo.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
ObjetivosPolıticas y mecanismosImplementacion
Implementacion
Originalmente: se programaba el hardware.
Despues: lenguaje de bajo nivel, lenguaje de maquina(Assembler).
Actualmente: lenguaje de alto nivel (como C o C++).
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
ObjetivosPolıticas y mecanismosImplementacion
Implementacion (2)
Ventajas de utilizar lenguaje de alto nivel:
Rapido de programar.
Compacto.
Facil de entender y depurar.
Mejoras en compiladores implican mejoras en el SO.
Mas facil de portar de un hardware a otro.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
ObjetivosPolıticas y mecanismosImplementacion
Implementacion (3)
Optimizacion del SO:
Atacar a estructuras de datos y algoritmos utilizados.
Algoritmos crıticos: planificador de CPU y gestor de memoria.
Una vez identificados los problemas se podrıan reemplazar porcodigo de maquina.
Se deben utilizar mecanismos de monitoreo para encontrarcuellos de botella.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Estructura del sistema operativo
Se debe elegir un metodo para estructurar las funcionalidadesque se proveeran.
Actualmente sistemas se encuentran divididos en jerarquıascon funciones definidas.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Estructura simple
Sistemas pequenos, simples y limitados.
Ej: MS-DOS, maxima funcionalidad en menor espacio (no hayuna division cuidadosa de sus modulos).
MS-DOS poseıa acceso directo a rutinas que utilizan elhardware (sistema vulnerable).
En Unix (originalmente estructura monolıtica) el kernel atraves de las llamadas al sistema proveıa las funcionalidadesnecesarias para acceder a los recursos.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Estructura en niveles
Metodo de diseno arriba-abajo.
Se requiere:
Sistema modular.Estructura jerarquica de acuerdo a complejidad.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Estructura en niveles (2)
Ventajas:
Independencia entre modulos.
Ocultacion permite modificar facilmente un modulo, mientrasse mantengan las mismas funcionalidades hacia el nivelsuperior.
Facilidad en la contruccion, mantencion y depuracion
Carga de componentes por modulos que sean necesarios.
Un nivel utiliza los servicios del nivel inferior.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Estructura en niveles (2)
Desventajas:
Definicion apropiada de los diferentes niveles.
Lo anterior debido a la dependencia de un nivel con otro.
Ej: gestor de memoria requiere que en un nivel inferior seencuentre el nivel de memoria virtual.
Otro problema son las llamadas entre niveles, que hacen mas“lenta” una determinada operacion.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Estructura en niveles (3)
Ejemplo de niveles de jerarquıa:
1 Circuitos electronicos: registros, puertas, buses.
2 Instrucciones: evaluacion de la pila, microprogramas, vectoresde datos.
3 Procedimientos: pila de llamadas, visualiacion.
4 Interrupciones: manejo de interrupciones del hardware.
No corresponden directamente a funciones del sistema operativo
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Estructura en niveles (4)
5 Procesos primitivos: semaforos, colas de procesos.
6 Almacenamiento secundario: bloques de datos.
7 Memoria virtual: paginacion.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Estructura en niveles (5)
8 Comunicaciones: tuberıas.
9 Sistema de archivos: almacenamiento en disco duro u otromedio.
10 Dispositivos: impresoras, pantallas, teclados.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Estructura en niveles (6)
11 Directorios: arbol de directorios.
12 Procesos de usuario: programas en ejecucion.
13 Shell: interprete de comandos.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Microkernels
En Unix original kernel realizaba todas las tareas del sistemaoperativo.
Se dejaron tareas basicas (planificacion de procesos, gestor dememoria y comunicaciones) en un nuevo kernel (maspequeno, microkernel).
Otras tareas son realizadas por programas del sistemaoperativo.
Microkernel es utilizado como un intermediario para lacomunicacion entre el usuario y los programas del sistemaoperativo que ofrecen los servicios.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Microkernels (2)
Programas nuevo para el sistema operativo son anadidos alespacio del usuario.
Programas del sistema se ejecutan como procesos de unusuario, no como procesos del kernel.
Kernel transforma las llamadas al sistema en mensajes hacialos servicios correspondientes (en nivel usuario).
Ej: Minix.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Modulos
Kernel se compone de modulos.
Dispone de lo fundamental en el nucleo.
Otros componentes pueden cargarse dinamicamente al nucleo(lsmod, modprobe y rmmod).
Ej: Unix modernos, Solaris, Linux o Mac OSX.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Estructura simpleEstructura en nivelesMicrokernelsModulos
Modulos (2)
Ejemplo de modulos:
Controladores de disco duro.
Controladores de tarjetas de red.
Soporte IPv6.
FuSE.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Maquinas virtuales
Abstraccion del hardware de la maquina.
Proporciona una interfaz de hardware como la de la maquinareal.
Discos duros son emulados mediante imagenes de discos.
Multiples sistemas operativos en una misma maquina.
Sistema operativo desconoce la existencia de la maquinavirtual
Ej: VirtualBox.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Implementacion
Se dispone de un modo kernel virtual y un modo usuariovirtual, ambos se ejecutan sobre un modo usuario real.
Cuando ocurre una llamada a sistema en el sistema operativode la maquina virtual, esta debera capturar dicha systemcall ysimular la ejecucion de dicha llamada.
Tiempos de respuesta en maquinas virtuales seran mas lentosque en maquinas reales (por emulacion y por multiplesmaquinas virtuales en ejecucion).
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Beneficios
Proteccion de los recursos del sistema (aislamiento).
Medio ideal para la prueba de sistemas operativos o deservicios.
Esteban De La Fuente Rubio Sistemas Operativos
Interfaz de usuarioLlamadas al sistema
Diseno e implementacion del S.O.Estructura del sistema operativo
Maquinas virtuales
Java Virtual Machine
Figura: Java Virtual Machine
Esteban De La Fuente Rubio Sistemas Operativos