43
Introducción, Principios de Diseño y Estructuras de los Sistemas Operativos Sistemas Operativos Avanzados Prof. David A. Pérez A. [email protected] 12/24/21 1

Introduccion SOA

Embed Size (px)

DESCRIPTION

registro

Citation preview

Page 1: Introduccion SOA

Introducción, Principios de Diseño y Estructuras de los

Sistemas Operativos

Sistemas Operativos AvanzadosProf. David A. Pérez A.

[email protected]

04/21/23 1

Page 2: Introduccion SOA

Introducción SOA

• Definición SO.– Administrador de recursos.– Capa de software.– Nuestra propia definición.

• Motivación para utilizar un SO.– Máquina al desnudo.– Conjunto de instrucciones reducido.• Ampliar el conjunto de instrucciones.

04/21/23 2

Page 3: Introduccion SOA

Introducción SOA

• Motivación para utilizar un SO.– Soporte multiusuario.– Liberar al usuario• ¿De qué?

• ¿Dónde consigo un SO?

04/21/23 3

Page 4: Introduccion SOA

Introducción SOA

• Funciones de un SO.– Administración de recursos.• Administración del tiempo.• Administración del espacio.• Manejo de sincronización de procesos.

– Deadlock.

• Manejo de estadísticas y estado del sistema.

04/21/23 4

Page 5: Introduccion SOA

Introducción SOA

• Funciones de un SO.– Interfaz amigable• ¿Qué esconde la interfaz?• Ambiente de ejecución.

– Administración de procesos-creación, control y finalización.– Manipulación de archivos.– Manejo de interrupciones.– Soporte de E/S.

• Detección y manejo de errores.

04/21/23 5

Page 6: Introduccion SOA

Introducción SOA

• Funciones de un SO.– Interfaz amigable.• Protección y seguridad.• Tolerancia a fallas y recuperación de las mismas.

04/21/23 6

Page 7: Introduccion SOA

Introducción SOA

• Conceptos básicos.– ¿Qué debo proveer?• Abstracción de proceso.• Abstracción de hilo.• Sincronización.• Manejo de dispositivos.

– Discos, etc.

• Manejo de memoria.– Principal y secundaria.

• Sistema de archivos.

04/21/23 7

Page 8: Introduccion SOA

Enfoques de Diseño

• ¿Cuál es la idea natural?– La forma “burrera”, en verdad macro.– Gran colección de procesos sin estructura.– ¿Qué podría suceder al ejecutar una instrucción?• Efecto domino.

04/21/23 8

Page 9: Introduccion SOA

Enfoques de Diseño

• ¿Cuál es la idea natural?– La forma “burrera”, en verdad macro.– Gran colección de procesos sin estructura.– ¿Qué podría suceder al ejecutar una instrucción?• Efecto domino.

04/21/23 9

Page 10: Introduccion SOA

Enfoques de Diseño

• Ventajas del enfoque macro.– Propósito específico.– Sistemas pequeños.

• Desventajas del enfoque macro.– Poca factibilidad de expansión.– Fuertes complicaciones.• Código, pruebas y depuración.

04/21/23 10

Page 11: Introduccion SOA

Políticas vs. Mecanismos

• Políticas.– Que hacer.

• Mecanismos– Como hacer.

• No confundir• Ejemplos– Planificación de procesos.– Funcionamiento de un restaurant.

04/21/23 11

Page 12: Introduccion SOA

Políticas vs. Mecanismos

• ¿Quién realiza dicha separación?• Ventajas.– Flexibilidad.– Independencia.

• ¿Qué cambia?– Las políticas.• Alto nivel.

– En ciertas ocasiones los mecanismos.• Bajo nivel ¿Implicaciones?

04/21/23 12

Page 13: Introduccion SOA

Refinando Conceptos

• ¿Por qué surge el hilo?– Planificación.

• ¿Ambientes idóneos para usar hilos?– Procesos orientados a E/S.– Multiprocesadores.– Niveles.• Usuario/Librerías.• Kernel.

04/21/23 13

Page 14: Introduccion SOA

Refinando Conceptos

• Granularidad.– Frecuencia de sincronización.– Categorías de paralelismo:• Independiente.• Grano grueso.• Grano muy grueso.• Grano medio.• Grano fino.

04/21/23 14

Page 15: Introduccion SOA

Refinando Conceptos

04/21/23 15

Page 16: Introduccion SOA

Hyperthreading

• Tecnología propietaria de Intel.• Por cada procesador físico presente, el SO

direcciona o mapea dos procesadores virtuales.– Compartición de la carga de trabajo.

• Sólo se requiere que el SO posea soporte para múltiples procesadores.

04/21/23 16

Page 17: Introduccion SOA

Hyperthreading

• Mejora el desempeño de aplicaciones con hilos.• Desempeño de un 155 a un 30 % mejor que sus

predecesores.• Su funcionamiento esta basado en duplicar

ciertas secciones del procesador.– Registros de control (EFLAGS, IMR, MMU registers,

etc.)– Registros de propósito general (AX, BX, CX, DX, etc.)

04/21/23 17

Page 18: Introduccion SOA

Hyperthreading

• No duplica los recursos de ejecución principales.– Ideas.

• Procesadores lógicos.– Planificación de hilos de manera simultanea.

• Punto débil.– Consumo de energía.– ARM con SMT usaba 46% menos de energía.

04/21/23 18

Page 19: Introduccion SOA

Multi-core

• Sistema de procesamiento compuesto por dos o más cores independientes.

• Circuito integrado que posee dos o más procesadores individuales incrustados.

• La mejora en cuanto al desempeño depende fuertemente del diseño e implementación de software.– Nuevo paradigma para los desarrolladores.

04/21/23 19

Page 20: Introduccion SOA

Multi-core

• Mejoras en el consumo de energía.• ¿Se desecho hyperthreading?– Ideas.

04/21/23 20

Page 22: Introduccion SOA

Hyperthreading vs. Multi-core

04/21/23 22

Page 23: Introduccion SOA

Multi-core + Hyperthreading

04/21/23 23

Page 24: Introduccion SOA

Refinando Conceptos

• Reentrancia.– Programas reentrantes.• No se modifica a si mismo.

– Programas no reentrantes.• Puede modificarse a si mismo.

– Lo que parece no es…– Utilidad.– Tarea.• Ejemplos de programas reentrantes y no reentrantes.

04/21/23 24

Page 25: Introduccion SOA

Diseño – Enfoque en Capas

• Dijkstra.• ¿Qué prentende?– Menor complejidad de diseño.– Menor complejidad de implementación.

• ¿Cómo planteamos o diseñamos un SO en capas?– Funcionalidades.– Balance.– Interfaz de comunicación.

04/21/23 25

Page 26: Introduccion SOA

Diseño – Enfoque en Capas

• ¿A qué se parece este enfoque?– OSI.

• ¿Será el resultado un SO modular?– Separación y sus ventajas.

• ¿Qué ofrece este enfoque?– Simplicidad en:• Diseño.• Especificaciones.• Implementación.

04/21/23 26

Page 27: Introduccion SOA

Diseño – Enfoque en Capas

• Consideraciones que se deben tener en cuenta para las capas.– Anécdota.

• Ejemplo:– THE

• Tarea– Leer el articulo de THE para discutirlo en la

próxima clase.

04/21/23 27

Page 28: Introduccion SOA

Diseño – Enfoque en Capas

04/21/23 28

Page 29: Introduccion SOA

Diseño – Enfoque en Capas

• Ejemplo:– Sistema MULTICS.– Capas concéntricas.

04/21/23 29

Page 30: Introduccion SOA

Refinando Conceptos

• Protección.– Visión interna.– El sistema se protege a si mismo.

• Seguridad.– Visión Externa.– El sistema se protege de extraños.

04/21/23 30

Page 31: Introduccion SOA

Diseño – Enfoque Núcleo

• Brinch Hansen.• Núcleo.– Definición.• Colección de primitivas.

– ¿Qué provee?• Ambiente.• Flexibilidad

– ¿Por qué?

– Efecto cebolla.

04/21/23 31

Page 32: Introduccion SOA

Diseño – Enfoque Núcleo

• Según Brinch Hansen.– Sólo visión de procesos.• Creación y comunicación.

– Sin concepto de recurso.– Núcleo grande.• Poca flexibilidad a alto nivel.

– Núcleo pequeño.• Bajo soporte a alto nivel.

04/21/23 32

Page 33: Introduccion SOA

Diseño – Enfoque Núcleo

• Ejemplos:– HYDRA.– C.mmp (Carnegie Mellon).– Nociones.• Recursos.• Procesos.

04/21/23 33

Page 34: Introduccion SOA

Diseño – Máquinas Virtuales

• Definición.– Capa de software que emula la estructura del

hardware.

• ¿Para qué?– Acceso único.

• ¿Qué se puede correr sobre este enfoque?– Monousuario.– Multiprogramación.

04/21/23 34

Page 35: Introduccion SOA

Diseño – Máquinas Virtuales

• Flexibilidad.– ¿De que punto de vista?

• Ventajas.– Test-Bed.– No interfiere con el resto de los usuarios.

• Desventajas.– Complejidad.– Desempeño.

• Ejemplos.

04/21/23 35

Page 36: Introduccion SOA

¿Por qué avanzan los Sistemas Operativos?

• Esfuerzos -- ¿Hacia donde?– Surgen nuevas arquitecturas.– Ley de Moore.

• ¿Qué paso?– Nos quedamos cortos.

• Nacen los Sistemas Operativos Modernos.– ¿Qué es un Sistema Operativo Moderno?

04/21/23 36

Page 37: Introduccion SOA

Sistemas Operativos Avanzados

04/21/23 37

Page 38: Introduccion SOA

SO Distribuidos

• Definición.– SO.– Conjunto de máquinas.– Autónomas.

• Función principal.– Transparencia.

04/21/23 38

Page 39: Introduccion SOA

SO Distribuidos

• Diseño.– Sincronización.– Abrazo mortal.– Planificación.– Sistema de archivos.– Memoria.– Comunicación.– Nombramiento.– Manejo de reloj.– Retardo en las comunicaciones.

04/21/23 39

Page 40: Introduccion SOA

SO Multiprocesadores

• Definición.– SO.– Varios procesadores.

• Diferencia con un SOD.

04/21/23 40

Page 41: Introduccion SOA

SO Multiprocesadores

• Diseño.– Consideraciones básicas.– Sincronización de procesos.– Planificación de tareas.– Manejo de memoria.– Protección y seguridad.

04/21/23 41

Page 42: Introduccion SOA

SO Base de Datos

• Definición.– SO.– Enfoque.

• ¿Qué debe incluir?– Transacciones.– Recuperación.– Manejo eficiente de buffer.

04/21/23 42

Page 43: Introduccion SOA

SO Tiempo Real

• Definición.– SO.– Enfoque.

• ¿Qué debe incluir?– Manejo paranoico del tiempo.• Tiempo real suave.• Tiempo real duro.

04/21/23 43