Está en la página 1de 15

1.

-Planificador
1.-Planificadorde
deprocesos
procesos

El término planificación de procesos hace


El término
referencia a un planificación
conjunto dede procesos hace
políticas y
mecanismos del SO que gobiernan elpolíticas
referencia a un conjunto de orden en y
mecanismos
que se ejecutandel
los SO que gobiernan
procesos. el ordendeen
Un planificador
que se ejecutan
procesos los procesos.
es un módulo Un planificador
del SO que se encarga dede
procesos
mover los es un módulo
procesos entredel
lasSO que se encarga
distintas colas dede
mover los procesos entre las distintas colas de
planificación.
planificación.

El planificador, además de tener que escoger el


El planificador,
proceso correcto además
para de tener que
ejecutar, escoger
tiene queel
proceso correcto
preocuparse también depara ejecutar,
realizar un usotiene que
eficiente
depreocuparse también
la CPU, debido a de
querealizar un uso eficiente
la conmutación de
de la CPU, debido
procesos es muy costosa. a que la conmutación de
procesos es muy costosa.
2.-
2.-Sincronización
Sincronización

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

En general la sincronización en procesos


distribuidos tiene muchas utilidades,
especialmente en aplicaciones en tiempo real,
simulación, líneas de producción, sistemas de
trámites complejos, cálculos avanzados,
renderización, indexación para buscadores web,
encuestas, etc.

Esto define un ámbito particular de aplicaciones


que necesariamente caen en el concepto
de aplicaciones en tiempo real, pero esto no es
tan estricto, ya que la sincronización puede
trabajar a otra escala. En pocas palabras,
podemos correr una aplicación distribuida con
relojes sincronizados en cámara lenta, de tal
modo que su comportamiento y sus dificultades
de operación no cambian..
3.-
3.-Exclusión
Exclusiónmutua
mutua

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

Son estructuras de un lenguaje de programación


que ofrecen una funcionalidad equivalente a la
de equivalente a la de los semáforos y que son
más fáciles de controlar. Un monitor es un
módulo de software que consta de uno o más
procedimientos, una secuencia de inicialización
y unos datos locales.

Los monitores tienen una importante propiedad


que los hace útiles para lograr la exclusión
mutua: sólo puede haber un proceso activo en
un monitor en cualquier instante. Los monitores
son una construcción del lenguaje de
programación, por lo que el compilador sabe
que son especiales y puede manejar las llamadas
a los procedimientos del monitor en forma
distinta a las llamadas a otros procedimientos.
8.-
8.-Mensajes
Mensajes

Este método de comunicación entre procesos


utiliza dos primitivas (send y receive) que, al
igual que los semáforos y a diferencia de los
monitores, son llamadas al sistema en vez de
construcciones del lenguaje. Como tales, se
pueden colocar con facilidad en procedimientos
de biblioteca.

La primera llamada envía un mensaje a un


destino especificado y la segunda recibe un
mensaje de un origen especificado (o de
cualquiera, si al receptor no le importa). Si no
hay un mensaje disponible, el receptor se puede
bloquear hasta que llegue uno. De manera
alternativa, puede regresar de inmediato con un
código de error.
9.-
9.-Interbloqueo
Interbloqueo

Es una anomalía que puede ocurrir durante la


ejecución de procesos concurrentes debido a la
competencia por los recursos.
Si bien es cierto que prácticamente ningún
sistema operativo real incorpora mecanismos de
tratamiento de interbloqueo, esto es debido a
una cuestión de la pérdida de rendimiento que
conlleva su tratamiento para la baja
probabilidad que hay de que ocurra.

El problema se da cuando existe un conjunto de


procesos bloqueados, cada uno de ellos
esperando por un recurso que retiene otro
proceso de ese conjunto. Ningún proceso del
conjunto puede avanzar, a esto se le conoce
como Interbloqueo, bloqueo mutuo o abrazo
mortal (deadlock).
10.
10.Condiciones
Condicionespara
paraque
quese
secumpla
cumplael
el
Interbloqueo
Interbloqueo

Si en un sistema se produce una situación de


interbloqueo, entonces se cumplen
simultáneamente estas cuatro condiciones:

-Exclusión mutua. Los recursos no se pueden


compartir.

-Retención y espera. Un proceso que retiene uno


o varios recursos se encuentran esperando por
recursos asignados a otros procesos.

-No expropiación. Un recurso sólo puede ser


liberado por el proceso que lo retiene,
voluntariamente.

-Espera circular. Existe una serie de procesos en


espera {Po, P1,...Pn} en la que todo Pi espera por
un recurso retenido por Pi+1; y Pn espera por un
recurso retenido por Po.

También podría gustarte