Mind map
Diseño de un SO

Mapa mental: Diseño de un sistema operativo
Map content
Diseño de un SO
Problematica del diseño
- Definir abstracciones: procesos, ficheros, hilos, seguridad, archivos
- Proporcionar operaciones primitivas para manejar las abstracciones definidas
- Garantizar el aislamiento
- Los usuarios solo puede ejecutar operaciones autorizadas con datos autorizados
- Aislar fallos
- Administrar el HW
Interface
Implementacion
- Las estáticas son más comprensibles, más fáciles de programar y de uso más rápido
- Las dinámicas son más flexibles y permiten adaptarse a la cantidad de recursos disponibles.
- Un problema es que se necesita un gestor de memoria dentro del propio SO
- Según el caso, puede ser más adecuado un tipo u otro
- También son posibles estructuras pseudo-dinamicas
- Ejemplo
- Pila de un proceso en el espacio de usuario: estructura dinámica
- Pila de un proceso en el espacio de núcleo: estructura estática
- También son posibles estructuras pseudo-dinamicas
Rendimiento
- Equilibrio espacio-tiempo
- Optimizar solo si realmente es necesario
- Antes de añadir una funcionalidad nueva compruebe que realmente vale la pena
- Considerar el lenguaje de programacion
- Uso de cachés
- Situaciones en que el mismo caso se necesite varias veces
- Especialmente utiles para dispositivos E/S
- Ejemplos
- Caché de bloques o caché
- Caché de entradas de directorio
- Caché de páaginas
- Optimizacion del caso comun
- Es importante que el caso comun sea rapido
- El peor caso si no se presenta a menudo, solo tiene que manejarsse correctamente
- Equilibrio espacio-tiempo
Formas en como se administra dicho proyecto
Tendencia a tomar en cuenta el diseño del sistema operativo