Mind map
Diseño de Sistema Operativo

Mapa mental: Diseño de sistema operativo
Map content
Diseño de Sistema Operativo
Problematica del diseño
- Definir abstracciones
- Procesos
- Ficheros
- Hilos
- Proporcionar operaciones primitivas para manejar las abstracciones
- Garantizar aislamiento
- Solo pueden ejecutar operaciones autorizadas con datos autorizados
- Administrar hardware
- Definir abstracciones
Interfaz
- Permite hacer lo que el usuario necesite
- Mecanismos sencillos
- Mecanismos eficientes
- El costo de una llamada al sistema debe ser obvio para el programador
- Dos tipos de cliente
- Usuarios normales (GUI)
- Programadores (interfaz de llamadas al sistema)
- Permite hacer lo que el usuario necesite
Implementacion
- Por capas, exokernels, cliente-servidor, microkernels
- Sirven para
- Ocultar interrupciones, proporcionar mecanismos sencillos de concurrencia y posibilitar la construccion de estructuras de datos dinamicos
- Sirven para
- Tecnicas de implementacion
- Indireccion: flexibilidad
- Reentrabilidad: capacidad de un codigo para ejecutarse dos o mas veces simultaneamente
- Fuerza bruta: optimizar cuando realmente merezca la pena
- Verificacion de errores
- Por capas, exokernels, cliente-servidor, microkernels
Rendimiento
- Uso de caches
- Utiles para dispositivos E/S
- Se aplica cuando el mismo resultado se va a ocupar varias veces
- Ejemplos
- Cache de bloques o de disco
- Cache de entradas de directorio
- Cache de paginas
- Uso de caches
Se divide en etapas
- Planeacion
- Codificación
- Prueba de Modulos
- Prueba de sistema
Tendencia en el diseño de sistamas
- Deben diseñárse para ir a la par con las mejoras del hardware