Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos...

61
Interfaz de usuario Llamadas al sistema Dise˜ no e implementaci´on del S.O. Estructura del sistema operativo aquinas virtuales Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio [email protected] L A T E X Universidad Andr´ es Bello 28 ago 2010 Esteban De La Fuente Rubio Sistemas Operativos

Transcript of Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos...

Page 1: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 2: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 3: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 4: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 5: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 6: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 7: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 8: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 9: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 10: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 11: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 12: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 13: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 14: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 15: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 16: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 17: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 18: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 19: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 20: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 21: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 22: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 23: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 24: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 25: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 26: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 27: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 28: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 29: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 30: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 31: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 32: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 33: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 34: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 35: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 36: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 37: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 38: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 39: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 40: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 41: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 42: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 43: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 44: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 45: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 46: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 47: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 48: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 49: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 50: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 51: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 52: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 53: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 54: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 55: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 56: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 57: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 58: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 59: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 60: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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

Page 61: Sistemas Operativos - cursos.delaf.cl · Sistemas Operativos Estructuras de Sistemas Operativos Esteban De La Fuente Rubio esteban@delaf.cl LATEX Universidad Andr es Bello 28 ago

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