IIC 2332 -- Sistemas Operativos
Apuntes 27
1er Semestre 1996
- Los usuarios tienen la capacidad de accesar recursos remotos.
- Migración de datos. A través de un sistema de archivos
distribuido, se puede accesar un archivo en un servidor como un
archivo local. Se transfieren solamente las partes necesarias del
archivo.
- Migración de computación. Se puede iniciar una
computación en un sistema remoto. Ejemplos: RPC (remote procedure
call, o llamada a procedimiento remoto) y mandar de mensajes.
- Migración de procesos. Se puede mover un proceso que ya
está corriendo. Razones:
- Redistribución de carga
- Paralelismo
- Necesidades de hardware o software
- Accesos a datos
- Ventaja: El uso de servicios en otras máquinas se parece a una
llamada a una biblioteca. Es también una desventaja.
- Necesitamos semánticas claras de fracaso, límites de tiempo, etc.
- Necesitamos un método para identificar servicios, usando nombres
fijos o un servicio de nombres.
- ¿Cuál es el costo de un cambio de contexto, y cuando ocurre? Las
interrupciones o llamadas a el kernel; el costo es guardar el contexto
de proceso (stack, registros, etc.). Con un cambio completo a otro
proceso hay que hacer más trabajo (manejar colas, cambiar estados,
etc.).
- ¿Qué es el swapping? Copiar un proceso desde la memoria al disco,
para proporcionar más espacio a otros procesos. Se copia el proceso a
la memoria otra vez cuando hay suficiente espacio.
- ¿Cuáles son los problemas creados por procesos concurrentes?
La exclusión mutua, el deadlock, la starvation, las secciones
críticas.
- ¿Qué son las operaciones atómicas? ¿Por qué son significativas?
Se necesitan para implementar las abstracciones de niveles más altos.
Las soluciones de software para la exclusión mutua dependen de la
atomicidad de los accesos a la memoria.
- ¿Cuál es la desventaja de los enfoques de software para la
exclusión mutua? La espera activa.
- ¿Con instrucciones especiales de hardware? Aún usan la espera
activa, no eliminan la starvation.
- ¿Cómo ayudan los semáforos? Integrados en el sistema operativo.
- ¿Cuáles son las operaciones de semáforos? P/wait lo decrementa y
bloquea si menos de 0. V/signal lo incrementa y desbloquea un proceso
si el valor es menos de o igual a 0.
- ¿Cuál es el problema de productor y consumidor? ¿Cómo se
soluciona? Usar las condiciones o los semáforos para determinar si
hay buffers llenos o vacíos disponibles.
- Si se usa la detección de deadlock, ¿qué se puede hacer después de
detectar un deadlock? Abortar todos, o retroceder selectivamente.
- ¿Con la evitación de deadlock? Mantener estados seguros y siempre
chequear si una asignación aún puede permitir que todos los procesos
terminen si soliciten sus asignaciones máximas.
- En la planificación circular, ¿cuán grande debiera ser el cuanto?
En un sistema interactivo, generalmente suficiente largo para ejecutar
un proceso corto típico.
- ¿Cuáles son las ventajas de la paginación?
- La fragmentación interna es pequeño
- Ninguna fragmentación externa
- Ninguna necesidad de memoria contigua; la traducción de
direcciones a través de una tabla de páginas
- ¿Cómo funciona la memoria virtual? Cuando una página no esté en
el conjunto residente, se lee del disco.
- ¿Cuáles son las ventajas de la memoria virtual?
- Más procesos están en memoria a la vez
- Un proceso puede ser más grande que la memoria
- ¿De qué depende la memoria virtual para ser un esquema eficiente?
El principio de localidad.
- ¿Qué causa el thrashing? Si muy poco de un proceso está en la
memoria, o si la paginación reemplaza las páginas al punto de uso.
Last edited June 19, 1996, by knabe@ing.puc.cl