320 likes | 444 Views
Consideraciones generales. Relación entre tres factores. Diseño del sistema operativo Potencia de cálculo disponible Periféricos. Diseño del Sistema Operativo. Por lotes, forzado por el sistema de e/s (ej. Tarjetas perforadas) Un usuario o múltiples Orientado a cálculo o a e/s
E N D
Relación entre tres factores • Diseño del sistema operativo • Potencia de cálculo disponible • Periféricos
Diseño del Sistema Operativo • Por lotes, forzado por el sistema de e/s (ej. Tarjetas perforadas) • Un usuario o múltiples • Orientado a cálculo o a e/s • Por la naturaleza de los datos a tratar (ej. BeOS) • Seguridad (discos, terminales…)
Potencia de cálculo disponible • Mucha: son posibles interfaces rápidas y pueden usarse periféricos distintos (ej. Reconocimiento voz) • Poca: e/s limitada; espacio limitado; algoritmos limitados
Periféricos • Activos • El sistema puede delegar en ellos • Periféricos de una misma familia pueden comunicarse entre sí • El periférico ofrece información sobre sí mismo • Pasivos • Esencialmente obsoletos
S. O./Capacidad de cálculo • La potencia disponible determina qué puede hacer y qué no, y cómo. • Mucha potencia permite abstracciones de más alto nivel • Poca potencia implica mayor adhesión al hardware
S.O./Periféricos (1) • Los periféricos funcionan de forma asincrónica • Los periféricos tienen un rango muy grande de velocidades
S.O./Periféricos (2) • Los periféricos tienen especificaciones eléctricas y lógicas variables. Necesidad de controladores de dispositivo • Los periféricos pueden requerir atención determinista (QNX, Solaris)
S.O./Periféricos (3) • Rango de memoria reservado • Puertos Dónde Cuándo • Interrupciones • Encuesta
Capacidad/Periféricos • El procesador puede incorporar instrucciones específicas (MMX) • El periférico puede tener delegadas capacidades de cálculo • El periférico puede estar conectado a un “bus inteligente” (SCSI) • El periférico puede ser programable
Cuatro Fases • No hay separación clara entre dispositivos de cálculo y periféricos • Se produce la separación, pero los periféricos son pasivos • Se añade progresivamente capacidad de cálculo a los periféricos • Con la computación distribuida, tienden a borrarse las diferencias de nuevo (ej. Discos modernos)
Uso de memorias intermedias • Permiten armonizar las diferentes velocidades • Funcionan a distintos niveles, desde el propio procesador a los periféricos • En general, la cantidad de memoria intermedia y su velocidad están en proporción inversa • Pueden modelarse mediante colas
Modelos de colas • Un cliente-un servidor • Un cliente-varios servidores • Varios clientes-un servidor • Varios clientes-varios servidores • Colas sin prioridades • Colas con prioridades • Colas enlazadas
Colas simples • Asumimos que la cola está en equilibrio “por término medio” • Suponemos velocidades medias de llegada y servicio • Podemos suponer capacidad limitada o ilimitada
Colas simples, ¿qué interesa? • Número medio de elementos en cola • Tiempo medio de espera • Probabilidad de que la cola se llene • Probabilidad de que se pierdan clientes
Dos tipos de M.I. • Los datos se encuentran una sola vez en la memoria intermedia. Hablamos de buffer • Los datos de la memoria intermedia son el duplicado de datos que están en otro lugar: hablamos de “caché”
Gestión de la “caché” • Política de extracción • Política de ubicación • Política de reemplazo • Política de escritura
Extracción (del origen) • Por demanda: el conjunto de datos se toma cuando se necesita • Con pre-búsqueda: aprovecha la propiedad de “localidad” de los datos. Cuando se accede a un bloque, hay una alta probabilidad de acceder a bloques que están cercanos.
Ubicación • Suponemos k bloques de “caché” para albergar a n>k bloques de datos • Sea “i” el índice del bloque de datos original y “j” el índice de la posición en “caché”. Necesitamos una función F / F(i)=j • Ejemplo j = i mod k
Reemplazo • ¿Qué bloque sacar de la “caché” cuando está llena y es preciso alojar otro? • El menos usado • El más antiguo • Uno aleatorio
Escritura • Directa: Lenta, pero más segura en algunos entornos. • Aplazada: Mejor rendimiento, usada especialmente en sistemas de archivos.