Documentos de Académico
Documentos de Profesional
Documentos de Cultura
HARDWARE DE
SINCRONIZACIÓN
MUTEXES
También llamados candados, son
Variable que puede estar en uno de
dos estados: abierto (desbloqueado)
o cerrado (bloqueado)
2
Área de exclusión mutua
1 2
MÍNIMA COMPLETA
2
Técnica usada por algunos virus para
controlar el acceso a recursos
SEMÁFOROS
Variable de tipo entero
que tiene definida la
siguiente interfaz
Inicialización
Se puede inicializar el
semáforo a cualquier valor
entero, pero después de
esto, su valor ya puede no
ser leído.
Decrementar
Cuando un hilo decrementa el
semáforo, si el valor es negativo,
el hilo se bloquea y no puede
continuar hasta que otro hilo
incremente el
semáforo.
Incrementar
Cuando un hilo incrementa el
semáforo, si hay hilos esperando,
uno de ellos es despertado.
Implementacion De Patrones
Señalizar
Un hilo debe informar a otro que
cierta condición está ya cumplida
por ejemplo, un hilo prepara una
conexión en red mientras que otro
calcula lo que tiene que enviar.
Rendezvous
Este patrón busca que dos hilos se
esperen mutuamente
en cierto punto para continuar en
conjunto —por ejemplo, en una apli-
cación GUI, un hilo prepara la interfaz
gráfica y actualiza sus eventos
mientras otro efectúa cálculos para
mostrar.
Barrera
Una barrera es una generalización de
rendezvous que permite la sin-
cronización entre varios hilos (no sólo
dos), y no requiere que el papel de
cada uno de los hilos sea distinto.
Cola
Se emplea cuando se tienen dos clases de
hilos que deben proceder
pares. Este patrón es a veces referido como
baile de salón: para que una
pareja baile, hace falta que haya un líder y un
seguidor. Cuando llega una
persona al salón, verifica si hay uno de la otra
clase esperando bailar.
En caso de haberlo, bailan, y en caso
contrario, espera a que llegue su
contraparte.
PROBLEMAS
CLÁSICOS DE
SINCRONIZACIÓN
01 02 03
Productor - Consumidor Lectores - Escritores Filósofos gastronómicos
¿En qué consiste?
MONITORES
Los monitores son estructuras provistas por el
lenguaje o entorno de desarrollo que encapsulan
tanto los datos como las funciones que los
pueden manipular, impidiendo el acceso directo
a las funciones potencialmente peligrosas.
2
Un monitor puede implementarse utilizando cualquiera de
los mecanismos de sincronización, la diferencia radica en
que esto se hace en un solo lugar. Los programas que
quieran emplear el recurso protegido lo hacen incluyendo
el código del monitor como módulo/biblioteca, lo cual
fomenta la reutilización de código.
También incluye variables, que definen el estado de
una instancia de ese tipo, junto con las funciones
que las operan.
EJEMPLOS DE
SINCRONIZACIÓN
Usa máscaras de interrupción para proteger el
acceso a recursos globales en sistemas mono
procesador
mutex-locks
02 semáforos
spin locks
Sincronización en
Linux
Implementa una variedad de locks para soportar
multitasking, multithreading (incluyendo threads en
tiempo real), y multiprocesamiento.
Locks mutex
Variables de condición
Extensiones no portables incluyen:
Locks lector escritor
04 spin locks
Sincronización de
subprocesos
TRANSACCIONES
ATÓMICAS
Qué son ?
Considera un conjunto de operaciones como una única
operación que puede prosperar o fracasar. Este conjunto de
operaciones están agrupadas formando el ámbito de la
transacción. Si una operación se ejecuta correctamente, da paso
a la operación siguiente, en caso contrario realiza una operación
de ROLLBACK que deshace los datos o el estado que iba a ser
persistido y termina la unidad de ejecución o el ámbito de la
transacción.
MODELOS DE
SISTEMA
Modelos de Estación de trabajo
Se tienenhjcbsdjbczdbshv
un conjunto de CPUs que se pueden asginar
dinámicamente a los usuarios según la demanda.
En lugar de estaciones de trabajo el sistema tiene terminales
gráficas para conectarse.
Los procesadores se comparten entre todos los dispositivos.
Las solicitudes de procesos se administran siguiendo la teoría
de colas.