03 Locks Flashcards
1
Q
desarrolle Locks
A
Intro
- objetivo: ejecutar una serie de instrucciones de forma atomica.
- que es. Una variable que mantiene el estado del lock en todo momento. Puede estar adquirido (por un proceso) o disponible (no lo tiene ningun proceso).
Semantica
- la interaccion con Locks se da mediante dos metodos: Lock y unlock.
Construccion
- Para construir adecuadamente un lock, es necesario hacer uso de primitivas de hardware, implementadas en los procesadores, y de primitivas del SO.
Evaluacion
- excl. mutua
- fairness
- performance
Implementaciones estudiadas
- suspencion de interrupciones (pro: simple. Contra: op. privilegiada; falla en multiproc.; se pueden perder interrupciones de interes; ineficiente).
- Spin lock (excl. mutua)
- test and set. Es de hard.
- compare and swap. Es de hard.
- load linked and store conditional. Es de hard.
- fetch and add. Es de hard.
- YIELD (SO)
- Colas.