Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema1 Isa
Tema1 Isa
Dise no de interfaces
Implementaci on
Rendimiento
El mtico hombremes
Bibliografa
Tema 1. Dise no de Sistemas Operativos
Juan Piernas Canovas
Departamento de Ingeniera y Tecnologa de Computadores
Universidad de Murcia
Juan Piernas Canovas Tema 1. Dise no de Sistemas Operativos
El problema del dise no
Dise no de interfaces
Implementaci on
Rendimiento
El mtico hombremes
Bibliografa
Indice
1
El problema del dise no
Metas
Por que es difcil dise nar sistemas operativos?
2
Dise no de interfaces
Principios para el dise no de interfaces
Paradigmas o modelos
La interfaz de llamadas al sistema
3
Implementaci on
Estructura del sistema operativo
Mecanismos y polticas
Ortogonalidad
Asignaci on de nombres
Estructuras estaticas y dinamicas
Diversas tecnicas utiles
Juan Piernas Canovas Tema 1. Dise no de Sistemas Operativos
El problema del dise no
Dise no de interfaces
Implementaci on
Rendimiento
El mtico hombremes
Bibliografa
Indice (continuacion. . . )
4
Rendimiento
Equilibrio espacio-tiempo
Uso de caches
Optimizaci on del caso com un
5
El mtico hombremes
Juan Piernas Canovas Tema 1. Dise no de Sistemas Operativos
El problema del dise no
Dise no de interfaces
Implementaci on
Rendimiento
El mtico hombremes
Bibliografa
Metas
Por que es difcil dise nar sistemas operativos?
Metas
Es importante tener una idea clara de lo que se quiere!
Principales objetivos que se suelen perseguir:
Denir abstracciones: procesos, cheros, hilos, . . .
Proporcionar operaciones primitivas para manejar las
abstracciones denidas
Garantizar el aislamiento:
los usuarios solo puede ejecutar operaciones autorizadas con
datos autorizados
aislar fallos
Administrar el hardware
No hay una solucion unica!
Juan Piernas Canovas Tema 1. Dise no de Sistemas Operativos
El problema del dise no
Dise no de interfaces
Implementaci on
Rendimiento
El mtico hombremes
Bibliografa
Metas
Por que es difcil dise nar sistemas operativos?
Razones por las que es difcil dise nar un sistema operativo
1
Los SSOO son programas extremadamente grandes
2
Los SSOO tienen que manejar concurrencia
3
Los SSOO tienen que enfrentarse a usuarios hostiles en
potencia
4
Los SSOO deben permitir a los usuarios compartir
informacion y recursos con otros usuarios seleccionados
5
Los SSOO deben ser exibles para poder adaptarse a posibles
cambios futuros en el Hardware y en el Software
6
Los SSOO deben ser generales para poder ser usados de
muchas formas distintas
7
Los SSOO deben ser (trans)portables
8
Muchos SSOO deben ser compatibles con alg un SO anterior
Juan Piernas Canovas Tema 1. Dise no de Sistemas Operativos
El problema del dise no
Dise no de interfaces
Implementaci on
Rendimiento
El mtico hombremes
Bibliografa
Principios para el dise no de interfaces
Paradigmas o modelos
La interfaz de llamadas al sistema
Por donde empezar a dise nar un sistema operativo?
Por denir la interfaz (abstracciones y operaciones primitivas)
a proporcionar a los programadores de sistemas
Sin olvidar las interfaces internas
Juan Piernas Canovas Tema 1. Dise no de Sistemas Operativos
El problema del dise no
Dise no de interfaces
Implementaci on
Rendimiento
El mtico hombremes
Bibliografa
Principios para el dise no de interfaces
Paradigmas o modelos
La interfaz de llamadas al sistema
Principios para el dise no de interfaces
Principio 1. Sencillez
Las interfaces sencillas son mas faciles de entender e
implementar
Principio 2. Integridad
La interfaz debe permitir hacer todo lo que los usuarios
necesitan hacer
Pero los mecanismos que soportan la interfaz deben ser pocos
y sencillos (deben hacer una unica cosa, pero deben hacerla
bien)
Principio 3. Eciencia
La implementaci on de los mecanismos debe ser eciente
Debe ser intuitivamente obvio para el programador cuanto
cuesta una llamada al sistema
Juan Piernas Canovas Tema 1. Dise no de Sistemas Operativos
El problema del dise no
Dise no de interfaces
Implementaci on
Rendimiento
El mtico hombremes
Bibliografa
Principios para el dise no de interfaces
Paradigmas o modelos
La interfaz de llamadas al sistema
Paradigmas o modelos
Para comenzar el dise no, un buen punto de partida es pensar
en como van los clientes a ver el sistema
Para los clientes es importante que todas las caractersticas
del sistema formen un conjunto consistente coherencia
arquitectonica
Basicamente, hay dos tipos de clientes:
Los usuarios, que interact uan con los programas de aplicaci on
y la interfaz graca de usuario (GUI)
Los programadores, que tratan principalmente con la interfaz
de llamadas al sistema
Atendiendo a un tipo u otro de cliente, se puede crear primero
la GUI (dise no descendente) o primero la interfaz de llamadas
al sistema (dise no ascendente)
Juan Piernas Canovas Tema 1. Dise no de Sistemas Operativos
El problema del dise no
Dise no de interfaces
Implementaci on
Rendimiento
El mtico hombremes
Bibliografa
Principios para el dise no de interfaces
Paradigmas o modelos
La interfaz de llamadas al sistema
Paradigmas de interfaz de usuario
Se reeren a la forma en la que el usuario interact ua con el
sistema operativo y con los programas de aplicacion que usa
Lo importante no es el paradigma escogido, sino que haya uno
solo que unique toda la interfaz de usuario
Tambien es importante que todos los programas de aplicacion
lo usen: los dise nadores del sistema deben proporcionar
herramientas para ello
Ejemplos:
Windows: acciones de rat on, opciones del men u (((Archivo)),
((Edici on)), . . . )
PalmOS: letra manuscrita y puntero
Juan Piernas Canovas Tema 1. Dise no de Sistemas Operativos
El problema del dise no
Dise no de interfaces
Implementaci on
Rendimiento
El mtico hombremes
Bibliografa
Principios para el dise no de interfaces
Paradigmas o modelos
La interfaz de llamadas al sistema
Paradigmas de ejecucion
Paradigma algortmico
La logica basica se encuentra en el codigo
El programa realiza llamadas al sistema para solicitar servicios
Ejemplo: Unix
Paradigma controlado por eventos
Tras una preparacion inicial, el programa se queda esperando a
que el SO le notique un evento