Вы находитесь на странице: 1из 43

Introduccin, Principios de

Diseo y Estructuras de
los Sistemas Operativos
Sistemas Operativos
Avanzados
Prof. David A. Prez A.
david.perez@ciens.ucv.ve
03/07/15

Introduccin SOA
Definicin SO.
Administrador de recursos.
Capa de software.
Nuestra propia definicin.

Motivacin para utilizar un SO.


Mquina al desnudo.
Conjunto de instrucciones reducido.
Ampliar el conjunto de instrucciones.
03/07/15

Introduccin SOA
Motivacin para utilizar un SO.
Soporte multiusuario.
Liberar al usuario
De qu?

Dnde consigo un SO?

03/07/15

Introduccin SOA
Funciones de un SO.
Administracin de recursos.
Administracin del tiempo.
Administracin del espacio.
Manejo de sincronizacin de procesos.
Deadlock.

Manejo de estadsticas y estado del sistema.

03/07/15

Introduccin SOA
Funciones de un SO.
Interfaz amigable
Qu esconde la interfaz?
Ambiente de ejecucin.
Administracin de procesos-creacin, control y
finalizacin.
Manipulacin de archivos.
Manejo de interrupciones.
Soporte de E/S.

Deteccin y manejo de errores.


03/07/15

Introduccin SOA
Funciones de un SO.
Interfaz amigable.
Proteccin y seguridad.
Tolerancia a fallas y recuperacin de las
mismas.

03/07/15

Introduccin SOA
Conceptos bsicos.
Qu debo proveer?

Abstraccin de proceso.
Abstraccin de hilo.
Sincronizacin.
Manejo de dispositivos.
Discos, etc.

Manejo de memoria.
Principal y secundaria.

Sistema de archivos.
03/07/15

Enfoques de Diseo
Cul es la idea natural?
La forma burrera, en verdad macro.
Gran coleccin de procesos sin
estructura.
Qu podra suceder al ejecutar una
instruccin?
Efecto domino.

03/07/15

Enfoques de Diseo
Cul es la idea natural?
La forma burrera, en verdad macro.
Gran coleccin de procesos sin
estructura.
Qu podra suceder al ejecutar una
instruccin?
Efecto domino.

03/07/15

Enfoques de Diseo
Ventajas del enfoque macro.
Propsito especfico.
Sistemas pequeos.

Desventajas del enfoque macro.


Poca factibilidad de expansin.
Fuertes complicaciones.
Cdigo, pruebas y depuracin.

03/07/15

10

Polticas vs. Mecanismos


Polticas.
Que hacer.

Mecanismos
Como hacer.

No confundir
Ejemplos
Planificacin de procesos.
Funcionamiento de un restaurant.
03/07/15

11

Polticas vs. Mecanismos


Quin realiza dicha separacin?
Ventajas.
Flexibilidad.
Independencia.

Qu cambia?
Las polticas.
Alto nivel.

En ciertas ocasiones los mecanismos.


Bajo nivel Implicaciones?
03/07/15

12

Refinando Conceptos
Por qu surge el hilo?
Planificacin.

Ambientes idneos para usar hilos?


Procesos orientados a E/S.
Multiprocesadores.
Niveles.
Usuario/Libreras.
Kernel.

03/07/15

13

Refinando Conceptos
Granularidad.
Frecuencia de sincronizacin.
Categoras de paralelismo:

03/07/15

Independiente.
Grano grueso.
Grano muy grueso.
Grano medio.
Grano fino.

14

Refinando Conceptos

03/07/15

15

Hyperthreading
Tecnologa propietaria de Intel.
Por cada procesador fsico presente,
el SO direcciona o mapea dos
procesadores virtuales.
Comparticin de la carga de trabajo.

Slo se requiere que el SO posea


soporte para mltiples procesadores.

03/07/15

16

Hyperthreading
Mejora el desempeo de aplicaciones con
hilos.
Desempeo 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 propsito general (AX, BX, CX,
DX, etc.)
03/07/15

17

Hyperthreading
No duplica los recursos de ejecucin
principales.
Ideas.

Procesadores lgicos.
Planificacin de hilos de manera simultanea.

Punto dbil.
Consumo de energa.
ARM con SMT usaba 46% menos de energa.

03/07/15

18

Multi-core
Sistema de procesamiento compuesto
por dos o ms cores independientes.
Circuito integrado que posee dos o ms
procesadores individuales incrustados.
La mejora en cuanto al desempeo
depende fuertemente del diseo e
implementacin de software.
Nuevo paradigma para los desarrolladores.

03/07/15

19

Multi-core
Mejoras en el consumo de energa.
Se desecho hyperthreading?
Ideas.

03/07/15

20

Multi-core

03/07/15

21

Hyperthreading vs. Multicore

03/07/15

22

Multi-core + Hyperthreading

03/07/15

23

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.
03/07/15

24

Diseo Enfoque en Capas


Dijkstra.
Qu prentende?
Menor complejidad de diseo.
Menor complejidad de implementacin.

Cmo planteamos o diseamos un


SO en capas?
Funcionalidades.
Balance.
Interfaz de comunicacin.
03/07/15

25

Diseo Enfoque en Capas


A qu se parece este enfoque?
OSI.

Ser el resultado un SO modular?


Separacin y sus ventajas.

Qu ofrece este enfoque?


Simplicidad en:
Diseo.
Especificaciones.
Implementacin.
03/07/15

26

Diseo Enfoque en Capas


Consideraciones que se deben tener
en cuenta para las capas.
Ancdota.

Ejemplo:
THE

Tarea
Leer el articulo de THE para discutirlo en
la prxima clase.
03/07/15

27

Diseo Enfoque en Capas

03/07/15

28

Diseo Enfoque en Capas


Ejemplo:
Sistema MULTICS.
Capas concntricas.

03/07/15

29

Refinando Conceptos
Proteccin.
Visin interna.
El sistema se protege a si mismo.

Seguridad.
Visin Externa.
El sistema se protege de extraos.

03/07/15

30

Diseo Enfoque Ncleo


Brinch Hansen.
Ncleo.
Definicin.
Coleccin de primitivas.

Qu provee?
Ambiente.
Flexibilidad
Por qu?

Efecto cebolla.
03/07/15

31

Diseo Enfoque Ncleo


Segn Brinch Hansen.
Slo visin de procesos.
Creacin y comunicacin.

Sin concepto de recurso.


Ncleo grande.
Poca flexibilidad a alto nivel.

Ncleo pequeo.
Bajo soporte a alto nivel.

03/07/15

32

Diseo Enfoque Ncleo


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

03/07/15

33

Diseo Mquinas Virtuales


Definicin.
Capa de software que emula la estructura
del hardware.

Para qu?
Acceso nico.

Qu se puede correr sobre este


enfoque?
Monousuario.
Multiprogramacin.
03/07/15

34

Diseo Mquinas Virtuales


Flexibilidad.
De que punto de vista?

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

Desventajas.
Complejidad.
Desempeo.

Ejemplos.
03/07/15

35

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?
03/07/15

36

Sistemas Operativos
Avanzados

03/07/15

37

SO Distribuidos
Definicin.
SO.
Conjunto de mquinas.
Autnomas.

Funcin principal.
Transparencia.

03/07/15

38

SO Distribuidos
Diseo.

03/07/15

Sincronizacin.
Abrazo mortal.
Planificacin.
Sistema de archivos.
Memoria.
Comunicacin.
Nombramiento.
Manejo de reloj.
Retardo en las comunicaciones.
39

SO Multiprocesadores
Definicin.
SO.
Varios procesadores.

Diferencia con un SOD.

03/07/15

40

SO Multiprocesadores
Diseo.
Consideraciones bsicas.
Sincronizacin de procesos.
Planificacin de tareas.
Manejo de memoria.
Proteccin y seguridad.

03/07/15

41

SO Base de Datos
Definicin.
SO.
Enfoque.

Qu debe incluir?
Transacciones.
Recuperacin.
Manejo eficiente de buffer.

03/07/15

42

SO Tiempo Real
Definicin.
SO.
Enfoque.

Qu debe incluir?
Manejo paranoico del tiempo.
Tiempo real suave.
Tiempo real duro.

03/07/15

43

Вам также может понравиться