Documentos de Académico
Documentos de Profesional
Documentos de Cultura
-Planificador
1.-Planificadorde
deprocesos
procesos
Se
Se define
define como
como lala forma
forma de
de forzar
forzar un
un orden
orden
parcial
parcial o total en cualquier conjunto de
o total en cualquier conjunto de
eventos,
eventos, yy es
es usado
usado para
para hacer
hacer referencia
referencia aa
tres
tres problemas
problemas distintos
distintos pero
pero relacionados
relacionados
entre sí
entre sí
Para
Para poder
poder ejecutar
ejecutar tareas
tareas enen ambientes
ambientes
distribuidos,
distribuidos, es
es importante
importante queque elel orden
orden en
en
las
lassecuencias
secuenciasdedeoperaciones
operacionesde deprocesos
procesosseasea
estricto y universal. De ahí la necesidad
estricto y universal. De ahí la necesidad de de
poder
poderejecutar
ejecutarprocesos
procesosdistribuidos
distribuidoscon conuna
una
certeza de que iniciarán al mismo
certeza de que iniciarán al mismo tiempo tiempo
respecto
respectoaauna
unaunidad
unidadde detiempo
tiempogeneral.
general.
LaLa sincronización
sincronización dede relojes
relojes en
en un
un sistema
sistema
distribuido
distribuido consiste
consiste en
en garantizar
garantizar que
que los
los
procesos
procesos se ejecuten en forma cronológica, yaa
se ejecuten en forma cronológica, y
lala vez
vez respetando
respetando elel orden
orden dede los
los eventos
eventos
dentro del sistema.
dentro del sistema.
RELOJES
RELOJESFISICOS.
FISICOS.
Cuando
Cuando utilizamos
utilizamos una una base
base de de tiempo
tiempo
Universal, se dice que utilizamos Relojes Físicos.
Universal, se dice que utilizamos Relojes Físicos.
Son
Son útiles
útiles en
en aplicaciones
aplicaciones que
quemanejan
manejan eventos
eventos
secuenciados
secuenciados a alta velocidad, de tal suerteque
a alta velocidad, de tal suerte que
no
no hay
hay recursos
recursos disponibles
disponibles para
para organizar
organizar lala
sincronización
sincronización
Los
Los relojes
relojes físicos
físicos deben
deben ser ser iguales
iguales (estar
(estar
sincronizados), no deben desviarse
sincronizados), no deben desviarse del tiempo del tiempo
real
real más
más allá
allá de
de cierta
cierta magnitud.
magnitud. Debido
Debido aa lala
distorsión
distorsióndeldeltiempo
tiempoyylas lasderivas
derivasen enlos
losrelojes
relojes
de
de los distintos CPU's, en ciertos sistemas es
los distintos CPU's, en ciertos sistemas es
importante la hora real del reloj, por
importante la hora real del reloj, por lo que se lo que se
precisan
precisan relojes
relojes físicos
físicos externos
externos (más
(másde de uno)
uno)yy
se
se deben
deben sincronizar
sincronizar concon loslos relojes
relojes del
del mundo
mundo
real.
real.
RELOJES
RELOJESLÓGICOS.
LÓGICOS.
Consiste
Consisteen encrear
crearun unsistema
sistemade deconvergencia
convergenciadeldel
tiempo mediante la medición de las derivas,
tiempo mediante la medición de las derivas, de de
tal
tal suerte
suerte que
que lala noción
noción dede tiempo
tiempo universal
universal se
se
sustituye
sustituye porpor lala noción
noción dede unun tiempo
tiempo global
global
auto-ajustable.
auto-ajustable. Los relojes lógicos son útilespara
Los relojes lógicos son útiles para
ordenar eventos en ausencia de un reloj
ordenar eventos en ausencia de un reloj común. común.
Los
Losrelojes
relojeslógicos
lógicossólo
sólorepresentan
representanuna unarelación
relación
de
de orden parcial, y funcionan mediante lala
orden parcial, y funcionan mediante
alteración
alteracióndeldelconteo
conteodedetiempo
tiempopara
paramantener
mantenerlala
sincronización
sincronizaciónmediante
mediantevariables
variablesquequeafectan
afectanlala
hora
hora de
de referencia.
referencia. El
El reloj
reloj lógico
lógico establece
establece un
un
orden total entre eventos si se añade el
orden total entre eventos si se añade el número número
del
del procesador,
procesador, peropero esto
esto implica
implica pagar
pagar unun
precio
precio por la comunicación y por mantener elel
por la comunicación y por mantener
registro
registrolalatabla
tablade
deCPU's.
CPU's.
Usos
Usosde
dela
lasincronización
sincronización
Se
Se define
define como
como elel acceso
acceso concurrente
concurrente de de
varios
varios procesos
procesos aa un un dato
dato oo recurso
recurso
compartido.
compartido. En En unun determinado
determinado instante,
instante,
únicamente
únicamente uno de estos procesos serácapaz
uno de estos procesos será capaz
de
de ejecutar la sección crítica del código, que
ejecutar la sección crítica del código, que
es
es lala sección
sección donde
donde se se accede
accede alal recurso
recurso
compartido
compartidooose semodifica
modificaelelmismo.
mismo.
La exclusión
La exclusión mutuamutua distribuida se
distribuida se produce
produce
cuando
cuando los procesos y el recurso no
los procesos y el recurso no sese
encuentran en el mismo equipo, por
encuentran en el mismo equipo, por lo que lo que
en
en este
este caso,
caso, para
para coordinar
coordinar elel acceso
acceso alal
recurso
recurso las
las variables
variables compartidas
compartidas
mencionadas
mencionadas anteriormente no pueden ser
anteriormente no pueden ser
utilizadas. Es por esto que el único
utilizadas. Es por esto que el único medio medio
para
para controlar
controlar lala sección
sección crítica
crítica eses lala
comunicación
comunicaciónmediante
medianteelelpaso
pasodedemensajes.
mensajes.
Requisitos
Requisitosde
dela
laexclusión
exclusiónmutua:
mutua:
-Sólo
-Sólo unun proceso,
proceso, de
de todos
todos los
los que
que poseen
poseen secciones
secciones
críticas
críticas por el mismo recurso compartido, debe tener
por el mismo recurso compartido, debe tener
permiso para entrar en ella en un momento dado.
permiso para entrar en ella en un momento dado.
-Un
-Un proceso
proceso que
que se
se interrumpe
interrumpe enen una
una sección
sección no
no crítica
crítica
debe hacerlo sin interferir con los otros procesos.
debe hacerlo sin interferir con los otros procesos.
-Un
-Unproceso
procesono
nodebe
debepoder
podersolicitar
solicitaracceso
accesoaauna
unasección
sección
crítica
crítica para después ser demorado indefinidamente, no
para después ser demorado indefinidamente, no
puede permitirse el interbloqueo o la inanición.
puede permitirse el interbloqueo o la inanición.
-Si
-Si ningún
ningún proceso
proceso está
está en
en su
su sección
sección crítica,
crítica, cualquier
cualquier
proceso
proceso que solicite entrar en la suya debe poderhacerlo
que solicite entrar en la suya debe poder hacerlo
sin demora.
sin demora.
-No
-No se
se debe
debe suponer
suponer sobre
sobre lala velocidad
velocidad relativa
relativa de
de los
los
procesos o el número de procesadores.
procesos o el número de procesadores.
-Un
-Unproceso
procesopermanece
permaneceen
ensu
susección
seccióncrítica
críticapor
porun
untiempo
tiempo
finito.
finito.
Una
Una manera
manera de de satisfacer
satisfacer los
los requisitos
requisitos de
de exclusión
exclusión
mutua
mutua es
es dejar
dejar lala responsabilidad
responsabilidad aa los
los procesos
procesos que
que
deseen
deseenejecutarse
ejecutarseconcurrentemente.
concurrentemente.
4.-
4.-Problemas
Problemasde
deexclusión
exclusiónmutua
mutuayysincronización
sincronización
Los
Los distintos
distintos procesos
procesos dentro
dentro dede un
un ordenador
ordenador
no
noactúan
actúande deforma
formaaislada.
aislada.Por
Porun unlado,
lado,algunos
algunos
procesos cooperan para lograr
procesos cooperan para lograr un objetivoun objetivo
común.
común.Por Porotro
otrolado,
lado,los
losprocesos
procesoscompiten
compitenporpor
elel uso
uso de unos recursos limitados, como elel
de unos recursos limitados, como
procesador,
procesador,lalamemoria
memoriaooloslosficheros.
ficheros.Estas
Estasdos
dos
actividades
actividadesde decooperación
cooperaciónyycompetición
competiciónllevan
llevan
asociada
asociada la necesidad de algún tipo de
la necesidad de algún tipo de
comunicación entre los procesos.
comunicación entre los procesos.
Puede
Puedeverse
versela concurrencia
la concurrenciade
deprocesos como
procesos comolala
ejecución
ejecución simultánea
simultánea de de varios
varios procesos.
procesos. SiSi
tenemos
tenemos un multiprocesador o
un multiprocesador o un sistema
un sistema
distribuido
distribuido la concurrencia parece clara, en
la concurrencia parece clara, en un
un
momento dado cada procesador ejecuta
momento dado cada procesador ejecuta un un
proceso.
proceso.
5.-
5.-Comunicación
Comunicaciónde
deprocesos
procesos(IPC)
(IPC)
Es
Es una
una función
función básica
básica dede los
los sistemas
sistemas
operativos. Los procesos pueden comunicarse
operativos. Los procesos pueden comunicarse
entre
entre sísí aa través
través de
de compartir
compartir espacios
espacios de
de
memoria,
memoria, ya ya sean
sean variables
variables compartidas
compartidas oo
buffers,
buffers, oo aa través
través de
de las
las herramientas
herramientas
provistas por las rutinas de IPC.
provistas por las rutinas de IPC.
Los
Los procesos
procesos pueden
pueden estar
estar ejecutándose
ejecutándose en en
una
una oo más
más computadoras
computadoras conectadas
conectadas aa una
una
red.
red.Las
Lastécnicas
técnicasdedeIPC
IPCestán
estándivididas
divididasdentro
dentro
de métodos para: paso
de métodos para: paso de mensajes, de mensajes,
sincronización,
sincronización, memoria
memoria compartida
compartida yy
llamadas
llamadasdedeprocedimientos
procedimientosremotos
remotos(RPC).
(RPC).El El
método
método de de IPCIPC usado
usado puedepuede variar
variar
dependiendo
dependiendodel delancho
anchode
debanda
bandayylatencia
latencia(el
(el
tiempo desde el pedido de información
tiempo desde el pedido de información y el y el
comienzo
comienzo deldel envío
envío dede lala misma)
misma) de de lala
comunicación
comunicación entre
entre procesos,
procesos, yy del
del tipo
tipo de
de
datos
datosque
queestán
estánsiendo
siendocomunicados.
comunicados.
6.-
6.-Semáforos
Semáforos
Los
Los semáforos
semáforos son son unauna herramienta
herramienta de de
sincronización que ofrece una
sincronización que ofrece una solución al solución al
problema
problema de de lala sección
sección crítica
crítica (porción
(porción de de
código
código dede un
un programa
programa de de computador
computador en en lala
cual
cualseseaccede
accedeaaun unrecurso
recursocompartido
compartidoque queno no
debe ser accedido por más de un proceso
debe ser accedido por más de un proceso o hilo o hilo
en
en ejecución).
ejecución). Un
Un semáforo
semáforo provee
provee unauna simple
simple
pero
peroútil
útilabstracción
abstracciónpara
paracontrolar
controlarelelacceso
accesode de
múltiples procesos a un recurso
múltiples procesos a un recurso común en común en
programación
programación paralela,
paralela, oo entornos
entornos
multiusuarios.
multiusuarios.
Semáforos
Semáforosbinarios
binarios
UnUn semáforo
semáforo binario
binario eses un un indicador
indicador (S)(S) de
de
condición
condición que que registra
registra sisi un un recurso
recurso está
está
disponible o no. Un semáforo binario
disponible o no. Un semáforo binario sólo puede sólo puede
tomar
tomar dos
dos valores:
valores: OO yy 1.1. Si,
Si, para
para un
unsemáforo
semáforo
binario
binario S=1 entonces el recurso está disponibleyy
S=1 entonces el recurso está disponible
lala tarea
tarea lolo puede
puede utilizar;
utilizar; sisi S=0
S=0 elel recurso
recurso no
no
está disponible y el proceso debe
está disponible y el proceso debe esperar esperar
Semáforos
Semáforoscon
conmúltiples
múltiplesvariables
variables
En
En este
este caso
caso elel semáforo
semáforo se se inicializa
inicializa concon elel
número
número total
total de
de recursos
recursos disponibles
disponibles (n) (n) yy las
las
operaciones
operaciones de de WAIT y
WAIT y SIGNAL
SIGNAL se se diseñan
diseñan de de
modo
modo que que sese impida
impida elel acceso
acceso alal recurso
recurso
protegido
protegido por el semáforo cuando el valor de
por el semáforo cuando el valor de
éste es menor o igual que
éste es menor o igual que cero.cero.
Cada
Cadavezvezquequesesesolicita
solicitayyobtiene
obtieneun unrecurso,
recurso,elel
semáforo
semáforose sedecrementa
decrementayyse seincrementa
incrementacuandocuando
se
selibera
liberaunounodedeellos.
ellos.SiSilalaoperación
operaciónde deespera
espera
se ejecuta
se ejecuta cuando el semáforo tiene un valor
cuando el semáforo tiene un valor
menor
menor que uno, el proceso debe quedar en
que uno, el proceso debe quedar en
espera
espera de de que
que lala ejecución
ejecución de de una
una operación
operación
señal
señallibere
liberealguno
algunode los
de losrecursos.
recursos.
7.-
7.-Monitores
Monitores