Consideraciones generales. Relación entre tres factores Diseño del sistema operativo Potencia de...

Post on 26-Jan-2015

11 views 2 download

Transcript of Consideraciones generales. Relación entre tres factores Diseño del sistema operativo Potencia de...

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 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 determinaqué puede hacer y qué no, y cómo.

Mucha potencia permiteabstracciones de más alto nivel

Poca potencia implica mayoradhesión al hardware

S.O./Periféricos (1)

Los periféricos funcionan de formaasincrónica

Los periféricos tienen un rango muygrande 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 requeriratención determinista (QNX, Solaris)

S.O./Periféricos (3)

Rango de memoria reservado Puertos

Interrupciones Encuesta

Dónde

Cuándo

Capacidad/Periféricos

El procesador puede incorporar instrucciones específicas (MMX)

El periférico puede tener delegadascapacidades de cálculo

El periférico puede estar conectadoa 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)

Rango de velocidades

teclado 5 bytes/s

Impresora 500 bytes/s

Disco duro 150-300 Mbytes/s

Ethernet 1-100 Mbytes/s

Bus sistema 266 Mbytes/s

Memoria 1-90 Gbytes/s

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.