Está en la página 1de 39

Resumen del libro Sistemas Operativos Stallings, 4ta edicin, espaol

Por Vera Caruso (verita@ardacomar!


Versin "# al "$ de diciembre de %""&
'ntroduccin ( Conceptos Principales &
)ogros principales &
Procesos &
*estin de memoria &
Seguridad + proteccin de la in,ormacin 4
Plani,icacin + gestin de recursos 4
-structura del sistema 4
Caracter.sticas de los sisop modernos 4
Procesos 4
Creacin de un proceso 4
-stados de un proceso 4
-structuras de control del so /
0ablas de memoria /
0ablas de Procesos /
'magen de un proceso /
Cambios de modo + estado 1
2ormas de e3ecucin del so 1
4ilos, S5P + micro6ernels 1
7ene,icios de uso de 8ilos 9
Operaciones b:sicas de los 8ilos 9
4ilos a nivel usuario (;)0! + a nivel 6ernel (<)0! =
5ultiprocesamiento =
>iseo de un so multiprocesador $
5icro6ernels $
>iseo del micro6ernel #"
Concurrencia? e@clusin mutua + sincroniAacin #"
-@clusin mutua #"
Soluciones por so,tBare ##
Clgoritmo de >e66er ##
Clgoritmo de Peterson ##
Soluciones por 8ardBare ##
'n8abilitacin de interrupciones ##
'nstrucciones especiales de m:Duina #%
Sem:,oros #%
Problema del productor consumidor #%
Problema de la barber.a #&
5onitores #&
5onitores con seales #&
5onitores con noti,icacin + di,usin #&
Paso de mensa3es #&
-@clusin 5utua #4
Problema de los lectores escritores #4
Concurrencia? deadloc6 + starvation #/
'nterbloDueo (deadloc6! #/
Condiciones de interbloDueo #/
-n,oDues de resolucin del problema #/
Prevencin del deadloc6 #/
Prediccin del deadloc6 #1
Eegativa de iniciacin de procesos #1
Clgoritmo del 7anDuero? Eegativa de asignacin de recursos #1
>eteccin del deadloc6 #1
Clgoritmo de deteccin #9
Recuperacin de un deadloc6 #9
-strategia integrada de deadloc6 #9
>eadloc6 de un solo procesoF (p:g 49# Stallings! #9
Problema de la cena de los ,ilso,os #9
*estin de 5emoria #=
Particin de la memoria #=
7udd+ S+stem (sistema de colegas! #$
Paginacin (simple! #$
Segmentacin (simple! %"
5emoria Virtual %"
-structura de las tablas de p:ginas %"
7u,,er de traduccin adelantada (0)7! %#
>ecisiones acerca del tamao de p:gina? %#
0ablas de segmentos en memoria virtual %#
Paginacin + segmentacin combinadas %%
Pol.ticas de un SO al respecto de memoria virtual %%
Pol.ticas de reemplaAo de p:ginas %%
Clgoritmos b:sicos %&
Plani,icador de monoprocesadores %4
Plani,icacin de multiprocesadores %/
Plani,icacin en tiempo real %1
Caracter.sticas de un SO en tiempo real %1
*estin de -ntrada Salida %9
-structura lgica de las ,unciones de -(S %9
Clmacenamiento intermedio de la -(S %=
Plani,icacin de discos %=
2uncionamiento del disco %=
Clgoritmos de plani,icacin de disco %$
RC'> &"
Cac8G de disco &"
*estin de arc8ivos &#
CrDuitectura de un sistema de arc8ivos &#
OrganiAacin de arc8ivos (estructura lgica de los registros! &#
'Hnodos &%
Procesamiento distribuido &&
Clases de aplicaciones cliente(servidor &4
Consistencia de la cac8e de arc8ivos &4
Paso distribuido de mensa3es &4
RPC? llamadas a procedimiento remoto &/
Cgrupaciones &/
5Gtodos de agrupacin &/
*estin distribuida de procesos &1
5otivos de la migracin de procesos &1
Problemas de concurrencia (determinar el estado global! &9
Clgoritmo de instant:neas distribuidas &9
-@clusin mutua distribuida &9
Clgoritmo distribuido para e@clusin mutua &9
'nterbloDueo distribuido &=
Prevencin del deadloc6 &=
Prediccin &=
>eteccin del deadloc6 &=
Seguridad &$
Introduccin / Conceptos Principales
Sistema operativo
- programa Due controla la e3ecucin de los programas de aplicacin + Due actIa
como inter,aA entre las aplicaciones de usuario + el 8ardBare del eDuipo
- Ob3etivos? comodidad, e,iciencia, capacidad de evolucin
O,rece servicios de?
- Creacin de programas, debugger
- -3ecucin de programas
- Cdministrador de recursos? Ccceso a e(s, Ccceso controlado a arc8ivos, Ccceso al
sistema (sistema compartido!
- >eteccin + respuesta a errores
- Contabilidad (accountabilt+!
2acilidad de evolucin, ,rente a?
- CctualiAaciones de 8ardBare
- Euevos servicios de los usuarios
- Correcciones, patc8es
4istoria ( -volucin
- Proceso en serie
- Proceso por lotes
- Por lotes con multiprogramacin
- Sistemas >e tiempo compartido
Logros principales
Procesos
- 2unciones principales del SO (6ernel!
o Creacin + terminacin de procesos
o Plani,icacin + e@pedicinm de procesos
o Cambio de procesos
o SincroniAacin + soporte a la comunicacin entre proc
- Problemas principales (Due surg.an antes!
o SincroniAacin incorrecta
o 2allos de e@lcusin mutua
o 2uncionamiento no determinista
o 'nterbloDueo (deadloc6!
Gestin de memoria
- 2unciones principales del SO (6ernel!
o Csignacin de espacio de direcciones a los procesos
o 'ntercambio
o *estin de p:ginas + segmentos
- Responsabilidades principales
o Cislamiento del proceso
o Csignacin + gestin autom:ticas
o Soporte para la programacin modular
o Proteccin + control deacceso
o Clmacenamiento a largo plaAo
- 5emoria Virtual
Seguridad y proteccin de la informacin
o Control de acceso
o Control del ,lu3o de in,ormacin
o Certi,icacin
Planificacin y gestin de recursos
2unciones principales del SO (6ernel! en la gestin de -(S
- *estin de bu,,ers
- Csignacin de canales de e(s + dispositivos a los procesos
- -Duidad
- Sensibilidades di,erenciales
- -,iciencia, minimiAar el tiempo de respuesta, ma@imiAar productividad
Otras ,unciones de soporte?
- 0ratamiento de interrupciones
- Contabilidad
- supervisin
Estructura del sistema
- So,tBare modular, con inter,aces entre s.
- Sistema operativo por niveles? ##& (#4 8ardBareJ /9 sisopJ =#& trato con
ob3etos e@ternos, e(s, red!
Caractersticas de los sisop modernos
- CrDuitectura micro6ernel (vs gran 6ernel monol.tico!
- 5ulti8ilos
- 5ultiproceso simGtrico (S5P!
o K rendimiento
o disponibilidad
o crecimiento incremental
o escalabilidad
- Sisop distribuidos
- >iseo orientado a ob3etos
Procesos
Creacin de un proceso
- Euevo traba3o por lotes
- Cone@in interactiva
- Creado por el so para dar un servicio
- *enerado por un proceso e@istente
Estados de un proceso
5odelo >escripcin -stados -@plicacin
5odelo de %
estados
Con una sola cola, puede
seleccionarse uno Due estG
bloDuedo esperando e(s
-3ecutando
Eo e3ecutando Cl crearse
Cola de procesos en espera
5odelo >escripcin -stados -@plicacin
5odelo de /
estados
Se divide la No ejecucin en
% estados?
)isto + 7loDueado
Euevo Eo est: cargado en memoria,
(admitir!? )isto
)isto Para e3ecutarse (e@pedir!? -3ec
0erminar (muere su padre!
-3ecucin Sale por Duantum? )isto, sale por
suceso? bloDueado, sale por
terminado
7loDueado Ocurre suceso? listo
5uere su padre? terminado
0erminado
5odelo de 9
estados
;sa memoria virtual, se
agrega un estado
Suspendido, Due se
combina con )isto +
7loDueado
Euevo Se puede admitir como )isto o
)isto,Susp
)isto C )isto,Susp (no8a+ mem! o -3ec
)isto, Suspendido -n mem secund, pero disponible
7loDueado Puede pasar a 7loD,Susp para
liberar mem
7loDueado,
Suspendido
-st: en mem secund esperando
un suceso
Puede pasar a )isto,Susp
-3ecucin )isto (Duantum!, 7loDueado, a
)isto,Susp
0erminado
Observaciones?
5odelo de / estados? sin memoria virtual, todos los procesos de todas las colas tienen
Due estar en memoria principal, surge entonces el intercambio + un nuevo estado,
Suspendido, Due se combina con los demas
5odelo 9 estados? Cuando se crea un nuevo proceso,puede aadirse a la cola de
)istos o )istos,Susp
RaAones para la suspensin?
- 'ntercambio? se necesita liberar memoria principal
- Solicitud de un usuario interactivo? se solicita la suspension
- 0emporiAacin
- Solicitud del proceso padre
- Otra raAn? sospec8a Due es causante de un problema
Estructuras de control del so
LuG deben contener las tablas
Tablas de memoria
- Csignacin de memoria principal a procesos
- Csignacin de memoria secundaria a procesos
- Ctributos de proteccin de bloDues de mem principal o virtual
Tablas de Procesos
)a imagen del proceso puede guardarse en mem secundaria, pero al menos una parte
tiene Due estar en mem principal
Imagen de un proceso
- >atos del usuario
- Programa del usuario
- Pila del sistema ()'2O! para almacenar par:metros + direcciones de retorno a
llamadas a procedimientos
- PC7 (7loDue de control del proceso!
o P'> del proceso
o 'n,ormacin del estado del procesador (registros!
o 'n,ormacin de control del proceso (estado, memoria, permisos, etc!
5odos de e3ecucin
- 5odo usuario
- 5odo de sistema, de control o modo 6ernel
Creacin de un nuevo proceso
#! Csignar un pid
%! Csignar espacio para el proceso, imagen
&! 'nicialiAar el PC7
4! -stablecer los enlaces apropiados, colas de plani,icacin
Cambios de proceso
- 'nterrupcin de relo3, Duantum
- 'nterrupcin de -(S
- Page ,ault, ,allo de memoria
- Cepo(0rap, error ,atal o no, asociado con la e3ecucin del programa
- )lamada del supervisor, el proceso invoca una operacin Due se debe e3ecutar
en otro modo, 8a+ un cambio de estado a 7loDueado
Cambios de modo y estado
Cambio Descripcin cciones
Cambio de modo Cambio de modo usuario a modo
nucleo para e3ecutar alguna
operacin privilegiada
Salvar conte@to de programa
Csignar PC a direcc de comienAo
de programa Due mane3a
interrupcion
Cambiar modo usuarioHM nucleo
Cambio de estado Para cambiar de un proceso a
otro, un cambio de proceso
(process sBitc8! implica un
cambio de estado
Salvar conte@to
CctualiAar el estado de la PC7 del
proceso
5over la pcb a la cola adecuada
(listos, bloD,!
Seleccionar otro proceso
CctualiAar el estado del pcb del
proceso elegido
CctualiAar las estruct de datos en
memoria
Puede producirse un cambio de modo sin cambiar el estado del proceso Due est:
actualmente en e3ecucin
-l cambio de proceso supone un cambio de estado, e implica un es,uerAo ma+or Due
un cambio de modo
!ormas de e"ecucin del so
- -3ecutar el 6ernel ,uera de cualDuier proceso -l so tiene su propia regin de
memoria + su propia pila paracontrolar las llamadas + retornos de procedimiento
-l concepto de proceso se aplica slo a los programas del usuario
- -3ecutar dentro de los procesos de usuario Cuando 8a+ interrupcin se salva
conte@to, 8a+ cambio de modo 8acia una rutina del so, aunDue la e3ecucin
continIa dentro del proceso de usuario en curso, no 8a+ un cambio de proceso
- Sistema operativo basado en procesos -l sB Due ,orma parte del 6ernel e3ecuta
en modo 6ernel, + las ,unciones importantes se organiAan en procesos separados
#ilos$ S%P y micro&ernels
Concepto de proceso
- Programa e3ecutable
- >atos asociados al programa
- Conte@to de e3ecucin, estado
- ;nidad de propiedad de los recursos
- ;nidad de e@pedicin
>e cada 8ilo se conoce
- -l estado de e3ecucin
- -l conte@to del procesador
- ;na pila de e3ecucin
- Clmacenamiento est:tico para variables locales
- Ccceso a la memoria + recursos del proceso, compartidos con todos los 8ilos del
mismo
-ntorno multi8ilo
- Capacidad del so para mantener varios 8ilos de e3ecucin dentro de un mismo
proceso
- Continua 8abiendo una sola PC7, + un espacio de direcciones del usuario
asociados al proceso, pero a8ora 8a+ pilas separadas para cada 8ilo, as. como
distintos bloDues de control para cada uno
'eneficios de uso de (ilos
Se tarda menos en crear un 8ilo Due un proceso
Se tarda menos en terminar un 8ilo Due un proceso
Se tarda menos en cambiar entre dos 8ilos de un mismo proceso
Se aumenta la e,iciencia de la comunicacin entre programas
-3emplos de uso de 8ilos (sistemas monousuario + multiproceso!
traba3o interactivo + segundo plano
- Procesamiento as.ncrono
- Cceleracin de la e3ecucin
- -structuracin modular de los programas
-stados de un 8ilo
- -3ecucin, )isto + 7loDueado
- Eo tiene sentido 8ablar de suspensin, porDue si un proceso est: e@pulsado de la
mem principal, todos sus 8ilos tambiGn lo est:nF (comparten el mismo espacio de
direcciones del proceso!
)peraciones b*sicas de los (ilos
- Creacin
o 0iene su propio cone@to, pasa a la cola de listos
- 7loDueo
o Cuando necesita esperar por un suceso, se bloDueda, a8ora el
procesador pasa a e3ecutar otro 8ilo )isto
o Solo para <)0 ? -l bloDueo de un 8ilo EO supone el bloDueo de todo el
proceso sino se pierde la ,uncionalidad del uso de 8ilos, empieAa a
e3ecutar algun otro de la cola de )istos
- >esbloDueo
o Cuando retorna el suceso por lo Due el 8ilo se bloDue, pasa a la cola
de )istos
- 0erminacin
#ilos a ni+el usuario ,-LT. y a ni+el &ernel ,/LT.
Caracterstica -LT /LT
*estin de 8ilos )o realiAa la aplicacin (biblioteca
de 8ilos!, el 6ernel no es
conciente de Due e@isten 8ilos
)o 8ace el nIcleo
-stados 4a+ un unico estado (segIn el
nucleo!, el del proceso completo
Cuando se bloDuea el proceso,
alguno de los 8ilos puede pensar
Due sigue en estado -3ecutandoF
Cuando se reinicie el proceso,
sigue en la e3ecucion Due estaba
Se mantienen los estados del
proceso + de todos los 8ilos
'ntercambio de 8ilos Eo necesita privilegios de modo
6ernel, se evita la sobrecarga de
% cambios de modo (usuarioH
6ernel + 6ernelHusuario!
-l paso de un 8ilo a otro del
mismo proceso necesita un
cambio de modo (a 6ernel!
Plani,icacin Se puede 8acer una plani,icacin
espec.,ica
Podrian e3ecutar realmente en
paralelo, se complica un poco
Portabilidad Pueden e3ecutar en cualDuier so >epende de la capacidad del SO
de mane3ar <)0
7loDueos Cuando se bloDuea un 8ilo, se
bloDuea todo el proceso
Solucin? 3ac6eting? 8acer Due la
llamada bloDueadora no lo sea
Se bloDuea solo el 8ilo
-3ecucin Slo puede e3ecutar en un unico
procesador
Pueden plani,icarse mIltiples
8ilos en mIltiples procesadores
5ono8ilo
- (#?#! ;E proceso ;E 8ilo N;ni@ clasicosO
Cada 8ilo de e3ecucin es un Inico proceso con sus propios recursos + espacio de
direcciones
- (5?#! 5;C4OS procesos, ;E 8ilo cada uno NPinE0, )inu@O
;n proceso de,ine un espacio de direcciones + unos recursos din:micos propios
Pueden crearse varios 8ilos Due e3ecuten en el proceso
5ulti8ilo
- (#?5! ;E proceso, 5;C4OS 8ilos
;n 8ilo puede emigrar del entorno de un proceso a otro, esto permite Due el 8ilo
pueda migrar entre sistemas distintos
- (5?E! 5;C4OS procesos, 5;C4OS 8ilos
combina #?m con m?#
%ultiprocesamiento
Procesamiento en paralelo
'nstruccin ( >atos >atos simple >atos mIltiples
'nstruccin simple S'S> S'5>
'nstruccin mIltiple 5'S> (no implementada! 5'5>
Otra clasi,icacin es como se asignan los procesos a procesadores
S'5>
5'5> 5emoria compartida (,uertemente
acoplados!
5aestro ( esclavo
-l 6ernel siempre est: en un
procesador
;n ,allo puede 8acer caer a todo
el sistema
5ultiproceso simGtrico (S5P!
-l 6ernel puede e3ecutar en
cualDuier procesador
-l so es mas comple3o pero mas
estable
5emoria distribuida
(debilmente acoplados!
Cgrupaciones (clusters!
>iseo comple3o del so
Dise0o de un so multiprocesador
;n SO S5P gestiona el procesador + el resto de los recursos para Due el usuario lo
vea como un monoprocesador multiprogramado
Puntos clave?
- Procesos o 8ilos concurrentes? se debe permitir Due varios procesadores e3ecuten
el mismo cdigo del nucleo al mismo tiempo Se deben gestionar las tablas para
evitar el interbloDueo + las operaciones no v:lidas
- Plani,icacin? se deben evitar los con,lictos, porDue la plani,icacin se puede
realiAar en cualDuier procesador
- SincroniAacin? mediante la sincro se impone la e@clusin mutua + un orden de
sucesos
- *estin de memoria? e@plotar la capacidad de paralelismo de 8ardBare, coordinar
los mecanismos de paginacin para garantiAar consistencia
- 2iabilidad + tolerancia a ,allos
%icro&ernels
-volucin?
- SO monol.ticos
- SO por capas? las ,unciones se organiAan 3er:rDuicamente, slo se producen
interacciones entre capas ad+acentes )a ma+or.a de las capas se e3ecutan en
modo 6ernel
- 5icro6ernel
Caracter.sticas
- Slo las ,unciones absolutamente escenciales permanecen en el nIcleo, las
menos escenciales se constru+en sobre el micro6ernel + se e3ecutan en modo
usuario
- 0iende a reemplaAar la arDuitectura tradicional (en capas verticales! por una
8oriAontal )os componentes se implementan como procesos servidores e
interactIan con los otros a travGs de mensa3es distribuidos por el micro6ernel
Venta3as
- ;ni,ormidad de inter,aces
- -@tensibilidad
- 2le@ibilidad
- Portabilidad
- 2iabilidad
- Soporte a sistemas distribuidos
- Soporte para so OO
>esventa3a? rendimiento Consume m:s tiempo construir + enviar un mensa3e Due
e,ecutar una llamada al sistema CunDue puede solucionarse agregando
,uncionalidades al micro6ernel, se le aadir.a rigideA al diseo Otro en,oDue? reducir
aIn m:s el tamao, para eliminar la penaliAacin de rendimiento e incrementar la ,le@
+ ,iabilidad
Dise0o del micro&ernel
;n micro6 debe incluir las ,unciones Due dependen directamnete del 8ardBare + cu+a
,uncionalidad es necesaria para dar soporte a las aplicaciones + servidores Due
e3ecutan en modo nucleo
- *estin de memoria de ba3o nivel
o Control del espacio de direcciones, traduccin de p:ginas + direcc
virtuales )a paginacin + la proteccin podr.an implementarse a,uera
- Comunicacin entre procesos
o Paso de mensa3es >ebe mane3ar puertos (cola de mensa3es
destinadas a un proceso en particular! + una lista de capacidades de
acceso (para ver DuG procesos tienen permiso para comiunicarse con
Gl!
- *estin de interrupciones + e(s
o Podr.an gestionarse las int de 8B como mensa3es, e incluir los puertos
de e(s en espacios de direcciones >ebe poder reconocer las int pero
no gestionarlas, sino Due debe enviar un mensa3e al proceso asociado
Concurrencia1 e2clusin mutua y sincroni3acin
- Sistema monoprocesador multiprogramado? el intercalamiento da la apariencia de
e3ecucin simult:nea
- CunDue no 8a+ paralelismo real + e@iste cierta sobrecarga, 8a+ bene,icios en la
e3ecucin intercalada (e,iciencia + estructuracin de los programas!
2ormas de interaccin entre procesos
Grado de
conocimiento
4elacin Influencia entre s Posibles problemas
'ndependientes Competencia )os tiempos de e3ecucin se
pueden ver a,ectados
-@clusin mutua
'nterbloDueo (renovables!
'nanicin
'ndirecto Cooperacin por
compartimiento
>irecto, 8a+
comunicacin
Cooperacin por
comunicacin
-l resultado puede depender
de la in,ormacin obtenida
de los otros
)os tiempos de e3ecucin se
pueden ver a,ectados
-@clusin mutua
'nterbloDueo (renovables!
'nanicin
Co8erencia de datos
'nterbloDueo (consumibles!
'nanicin
Problemas de control a resolver
- -@clusin mutua
- SincroniAacin + co8erencia de datos
- 'nterbloDueo (recursos renovables o no renovables!
- 'nanicin
E2clusin mutua
-l cumplimiento de la e@clusin mutua puede provocar? deadloc6 e inanicin
ReDuisitos para la e@clusin mutua
- Slo un programa puede acceder a su seccin cr.tica en un momento dado
- Cuando el proceso accede a su seccin cr.tica, no debe inter,erir con los otros
procesos
- ;n proceso no puede demorarse inde,inidamente en su seccin cr.tica (8a+ Due
evitar la inanicin + el interbloDueo!
- Cuando no 8a+ ningIn proceso en su seccin cr.tica, cualDuier proceso Due Duiera
entrar en la su+a debe poder 8acerlo sin demora
Soluciones por soft5are
Algoritmo de Dekker
Soluciones !uncionamiento Consecuencias
#er intento # variable global compartida
turno Q nro proceso
accede cuando esta en su numero
Se deben alternar en el uso, el
ritmo de e3ecucin se da por el
m:s lento
7us+ Baiting
Si 8a+ una ,alla, el otro se
bloDuea permanentemente
%do intento Se puede analiAar el sealNiO del otro, pero no
modi,icarlo
Cuando la seal del otro est: en ,also, entra
este, cambia su seal propia a true
Si el otro ,alla, no 8a+ bloDueo
Pero puede no garanti3ar
e2clusin mutua
&er intento 2i3a su estado sin conocer el del otro Puede provocar un interbloDueo,
cada proceso puede insistir en su
derec8o de entrar en la secc
cr.tica, no 8a+ vuelta atr:s
4to intento Cctivan su seal para indicar Due Duieren
ingresar en la secc cr.tica, pero deben poder
cederla a otro proceso
Puede provocar li+eloc&, cortes.a
mutua, ninguno entra (salvo Due
cambie el ritmo de e3ecucin, + se
libera!
Solucin correcta Var 0urno indica Duien tiene prioridad para
e@igir su ingreso en secc cr.tica
SealNiO para indicar intencin de ingresar
Pongo sealNiOQ#, miro sealNnO
para ver si 8a+ alguien mas con
#, si HM analiAo turno, no, entro
Algoritmo de Peterson
Cl igual Due el Clg de >e66er?
Var global sealNnO indica la posicin de cada proceso ,rente a la e@clusin mutua
Var turno resuelve los con,lictos de simultaneidad
5ain(!
SealN"OQ"J sealN#OQ"J
Proceso#(!
P8ile(#!
R
sealN#OQ#J
turno Q "J
B8ile (sealN"O SS turno QQ "!
(T EO puedo entrar, tengo Due esperarF T(
seccinUcritica(!
sealN#OQ"J
V
idem para el Proceso" (pero el B8ile analiAa el del P#!
Soluciones por (ard5are
Inhabilitacin de interrupciones
- Slo para monoprocesadores
- Eo 8a+ superposicin de los procesos concurrentes, sino slo intercalacin
- Para garantiAar e@clusin mutua, alcanAa con impedir Due un proceso sea
interrumpido, se pueden poner primitivas Due inabiliten(8abiliten las int + entre
medio, poner el acceso a la seccin cr.tica
Instrucciones especiales de mquina
- Para con,iguraciones multiprocesador, con acceso comIn a la memoria
- )os procesadores ,uncionan independiente, no es posible implementar
mecanismos para traba3ar sobre las int
- -s aplicable a sistemas con memoria compartida (monoprocesador +
multiprocesador!
- ;sa bus+ Baiting, puede producir inanicin e interbloDueo
'nstruccin Comparar + 2i3ar (0est S Set!
- -s una atmica
- Var compartida cerro3o Slo puede entrar aDuel proceso encuentre cerro3oQ"
- -l resto, Duedan en espera activa (bus+ Baiting!
- Cuando un proceso abandona la seccin cr.tica, vuelve a poner cerro3oQ"
'nstruccin 'ntercambiar
- Cerro3o se inicia Q" Cada proceso tiene var local claveQ#
- Puede entrar el primero Due encuentre cerro3oQ", + la cambia a cerro3oQ# (as.
e@clu+e Due los otros ingresen!
- Cuando un proceso abandona la seccin cr.tica, vuelve a poner cerro3oQ"
Sem*foros
>os o m:s procesos cooperan mediante seales (sem:,oros! Pueden verse
obligados a detener su e3ecucin 8asta recibir una seal espec.,ica
Primitivas atmicas para operar sem:,oros
2uncionamiento
- Iniciali3acin? sema,oroQnJ valor nM", con la cantidad de recursos de cierto tipo
- 6ait? sema,oroHHJ si valor W ", el proceso Due e3ecuta Bait se bloDuea
- Signal? sema,oroKKJ si valorW", se debloDuea un proceso bloDueado por un Bait,
si valor M", se agrega un recurso a la lista de disponibles
5ientras los procesos est:n bloDueados, esperando el acceso, se Duedan en una
cola
Sem:,oros robustos? Si se especi,ica el orden (e3 2'2O!
Sem:,oros dGbiles? no se indica el orden para e@traer los elementos
Caracter.sticas?
- *arantiAan e@clusin mutua
- Si es robusto, garantiAa Due no se produce inanicin (los dGbiles s. pueden
producirla!
- Si se inicia con la cantidad de recursos disponibles, entonces se puede interpretar
Due?
o Cantidad MQ", es el nImero de procesos Due pueden e3ecutar un Bait
sin bloDuearse
o Cantidad W ", en valor absoluto es la cantidad de procesos bloDueados
en la cola
- >esventa3a? las primitivas (Bait, signal! tienen Due estar desperdigadas por todo el
programa, 8aciendo di,.cil la deteccin de algIn problema de sincroniAacin
Problema del productor 7 consumidor
>e,inicin del problema?
- E productores generan datos + los guardan en un bu,,er
- # consumidor los retira de a uno
- no se deben superponer operaciones sobre el bu,,er
- 7loDueos? del productor, si inserta en bu,,er llenoJ del consumidor si Duiere
eliminar en el bu,,er vac.o
Problema de la barbera
>e,inicin del problema?
Se Duiere administrar la capacidad de la tienda(%"!, del so,a(X!, de las sillas(&!, del
pago + de coordinar las tareas de serUbarbero o serUca3ero
%onitores
Son estructuras de un lengua3e de programacin Due o,recen ,uncionalidad
eDuivalente a la de los sem:,oros, + Due son m:s ,aciles de controlar (implementado
en Yava + como una biblioteca de programas!
%onitores con se0ales
Caracter.sticas?
- -ncapsulamiento? Var de datos locales slo accesible a los procedimientos del
monitor
- 'ngreso al monitor invocando a uno de sus procedimientos
- Slo un proceso e3ecuta por veA, cualDuier otro Due invoDue se bloDuea
- >eben incluir alguna ,orma de sincroniAacin (e3 Lue deba esperar a una
condicin mientras estG e3ecutando en el monitor, o sea Due se bloDuee 8asta
obtener la condicin! ;tiliAa % variables de condicion (diferentes al uso de
sema,oros!
o CBait(c!, suspende la e3ecucion del proceso Due llama, 8asta Due sur3a
la condicion c C8ora el monitor esta disponible para Due otro proceso
ingrese
o Csignal(c!, reanuda la e3ecucion de algun proceso suspendido
esperando por c, si 8a+ varios, elige uno, sino, no 8ace nada Si el
proceso Due e3ecuta un csignal no termino, 8acen ,alta dos cambios de
proces, uno para suspenderlo + otro para reanudarlo cuando el monitor
vuelva a Duedar disponible
- )a venta3a ,rente a los sem:,oros es Due todas las ,unciones de sincroniAacin
est:n concentradas dentro del monitor, eso 8ace m:s ,acil el control
%onitores con notificacin y difusin
Caracter.sticas?
)a primitiva csignal se reemplaAa con cnoti,+ Cuando un proceso e3ecuta un cnoti,+
(@!, se origina una noti,icacin a la cola de la condicin @, pero el proceso Due da la
seal, continIa e3ecut:ndose Cuando el monitor vuelve a estar disponible, se va a
e3ecutar el proceso Due encabece la cola de @ (o3oF 4a+ Due volver a c8eDuear la
condicion, porDue no se garantiAa Due no ingrese otro antes!
Podr.an no reactivarse a la ,uerAa los procesos, utiliAando cbroadcast(@!, de ,orma tal
Due los procesos Due e@peran por la condicin, se pongan en estado de )isto
Paso de mensa"es
Se reDuiere la comunicacin + la sincroniAacin cuando dos procesos interactIan
entre s.
-ste mecanismo tiene la venta3a de Due puede ser implementado en sistemas
distribuidos, en sistemas multiprocesador + en monoprocesador con memoria
compartida
Primitivas? send + receive
Send bloDueante, Receive
bloDueante (4ende3 8ou3!
)os dos se bloDuean 8asta Due
se entrega el mensa3e
2uerte sincroniAacin
Send EO bloDueante, Receive
bloDueante
Se bloDuea slo el receptor -3 Proceso servidor
Permite e@clusin mutua
Einguna bloDueante Einguno espera
>ireccionamiento
- >irecto ? el send indica el proceso destino -n el caso del receive, se podr.a indicar
espec.,icamente de Duien se Duiere recibir (e3 Procesos concurrentes +
cooperantes! o no indicar (e3 Servidores, cuando no se sabe por adelantado Duien
puede pedir!
- 'ndirecto ? los mensa3es no se env.an directamente del receptor al emisor sino Due
se usa una estructura intermedia de colas temporales (mailbo@!
o Permite la relacin #?#, 5?#, #?E, 5?5 ;na relacin 5?# se llama
puerto
o )a asociacin procesoHbuAn puede ser din:mica o est:tica
2ormato de mensa3es
- 5ensa3es de cortos de tamao ,i3o
- 5ensa3es de tamao variable
Cola? 2'2O
E2clusin %utua
-n el caso de send no blo9ueante y recei+e blo9ueante, podr.a garantiAarse la
e@clusin mutua -l mensa3e en el buAn actIa de testigo (to6en! Due se pasa de un
proceso a otro *arantiAa la e@cl mutua en sistemas concurrentes
- -l buAn contiene inicialmente un mensa3e, de contenido nulo
- -l proceso Due Duiere entrar en la seccin cr.tica, intenta recibir el mensa3e
o Si est: vac.o se bloDuea 8asta Due llegue (incluso si m:s de un
proceso lo intenta 8acer, se bloDuean!
o Si est: lleno, lo recibe e ingresa a la seccin cr.tica (slo uno podr:
ingresar al buAn, aunDue 8a+a m:s de uno esperando!
- Cuando sale de su seccin cr.tica, env.a un mensa3e al buAn
Problema de los lectores 7 escritores
>e,inicin del problema?
E lectores pueden acceder a leer simult:neamente )os lectores slo leen
# escritor puede escribir en cada instante )os escritores slo escriben
Si un escritor est: accediendo, ningIn lector puede leerlo
Soluciones?
- Con sem:,oros?
o Prioridad a los lectores
o prioridad a los escritores
- Paso de mensa3es, con prioridad a los escritores
Concurrencia1 deadloc& y star+ation
Interblo9ueo ,deadloc&.
- -s un bloDueo permanente de un con3unto de procesos Due compiten por los
recursos del sistema o bien se comunican unos con otros Se produce cuando
cada proceso retiene un recurso + solicita otro
- Lue se produAca o no interbloDueo, depende tanto de la din:mica de la e3ecucin
como de los detalles de la aplicacin
- Puede haber deadlock tanto en recursos reutilizables como en los consumibles!
0ipos de recursos
- ReutiliAables ? puede ser utiliAado por el proceso sin Due se agote, cuando se libera
est: disponible para ser usado por otro proceso
- Consumibles ? puede ser creado (producido! + destruido (consumido! Cuando un
proceso ZadDuiere[ un recurso, es destruido -3emplos? interrupciones, seales,
mensa3es, bu,,ers de e(s, etc
Condiciones de interblo9ueo
# -@clusin mutua
% Retencin + espera ? un proceso puede retener unos recursos +a asignados
mientras espera Due se le asignen otros
& Eo apropiacin ? ningun proceso peude ser ,orAado a Due abandone(libere los
recursos asignados
4 C.rculo vicioso de espera ? e@iste una cadena cerrada de procesos, cada uno de los
cuales retiene al menos un recurso Due necesita el siguiente
Enfo9ues de resolucin del problema
Principio Es9uema 8enta"as Des+enta"as
Prevencin
(a travGs de
eliminar alguna de
las condiciones de
deadloc6!
Solicitar todos los
recursos a la veA
Eo se necesita apropiar
2unciona bien con
procesos Due 8acen # sola
r:,aga de actividad
'ne,iciente
Retraso en inicio del proceso
Conocimiento de las
necesidades de recursos
Cpropiacin Conveniente con recursos
cu+o estado es salvable
,acilmente
-@pulsa m:s de lo necesario
Su3eto a reinicios c.clicos
Ordenacin de
recursos
-s viable aplicarlo con
c8eDueos durante la
compilacin
Eo 8ace ,alta
procesamiento durante la
e3ecucin
Poco uso de apropiacin
Eo permite solicitudes
incrementales de recursos
Prediccin lgoritmo del
'an9uero?
7IsDueda de un
camino seguro
Eo es necesaria
apropiacin
>ebe conocerse la demanda
,utura de recursos
)os procesos pueden
bloDuearse por largos
per.odos
>eteccin Comprobacin
peridica del
deadloc6
Eunca retrasa el inicio del
proceso
2acilita la gestin online
PGrdidas por apropiacin
Pre+encin del deadloc&
)a estrategia de prevencin consiste en e@cluir la posibilidad de interbloDueo 4a+ dos
mGtodos b:sicos? indirectos, buscan impedir la aparicin de alguna de las tres
condiciones necesarias )os directos consisten en evitar el c.rculo vicioso de espera
- -@clusin mutua? no puede anularse
- Retencin + espera? podr.a prevenirse e@igiendo Due todos los procesos soliciten
todos los recursos Due necesitan a un mismo tiempo + bloDueando el proceso
8asta Due todos los recursos pueden concederse -s ine,iciente
- Eo apropiacin
o Si a un proceso se le deniega una nueva solicitud de recursos, podr.a
oblig:rselo a Due devuelva sus recursos anteriores + Due los solicite de
nuevo a todos cuando lo necesite
o Si un proceso reDuiere de un recurso retenido por otro proceso, el SO
podr.a e@pulsar al segundo proceso + e@igirle Due libere sus recursos
-sto ,uncionar.a slo si ambos procesos tienen di,erente prioridad
- C.rculo vicioso de espera? puede prevenirse de,iniendo una ordenacin lineal de
los recursos Si a un recurso se le asignaron recursos de tipo Ri solo podr: pedir
los del tipo siguiente a Ri (por e3 R3! Puede ser ine,iciente, retardando procesos +
denegando acceso a recursos
Prediccin del deadloc&
Se pueden alcanAar las & condiciones necesarias para un deadloc6, pero se realiAan
elecciones adecuadas para asegurase Due no se llegue nunca a un interbloDueo
Permite entonces ms concurrencia que la pre!encin
Se decide din:micamente si la peticin actual de asignacin podr.a generar un
deadloc6
Negati!a de iniciacin de procesos
Consiste en EO iniciar un proceso si sus demandas pueden llevar a un deadloc6
;n proceso comenAar: slo si puede servirse con los recursos disponibles la
demanda m:@ima de todos los recursos actuales m:s la del nuevo proceso
-s poco ptima porDue se asume el peor de los casos (Due todos necesiten el ma@imo
a la veA!

Algoritmo del "anquero# Negati!a de asignacin de recursos
- -stado ? asignacin actual de recursos a los procesos 2ormado por vectores?
Recursos + >isponible
- -stado seguro ? en el Due e@iste al menos una secuencia Due no lleva al
interbloDueo (o sea Due todos los procesos pueden e3ecutarse 8asta el ,inal!
- -stado inseguro ? aDuel Due no es seguro
- -sta estrategia no predice el deadloc6 con certeAa, sino Due anticipa la posiblidad
de deadloc6 + asegura Due nunca e@ista tal posibilidad
Se necesitan?
- matriA de demanda,
- matriA de asignacin,
- vector de recursos,
- vector de disponible
ReDuiere?
- Due cada proceso presente la demanda m:@ima de recursos por anticipadoJ
- Due los procesos sean independientes, Due no tengan sincroniAacin
- un nImero ,i3o de recursos + procesos
- los procesos no pueden ,inaliAar mientras retengan recursos
Deteccin del deadloc&
-n lugar de imponer restricciones como las tGcnicas de prevencin, la estrategia de
deteccin no limita el acceso a los recursos ni restringen a los procesos, se concede
todo cuanto sea posible, periodicamente el SO e3ecuta un algoritmo Due permite
detectar la condicin de circulo vicioso de espera + decide cmo recuperar la
situacin
Algoritmo de deteccin
;tiliAa la matriA de Csignacin + el vector >isponible, + una matriA Solicitud (las
columnas representan los recursos de cada tipo, + las ,ilas los procesos, cada Li3
representa la cantidad de recursos del tipo 3 solicitados por el proceso i
# Se marcan los Due no est:n interbloDueados Cl principio, todos est:n sin
marcar
% Se marcan todos los Due tienen asignacinQ"
& Se buscan los procesos Due estGn sin marcar, + Due la asignacin sea WQal
disponible para ese recurso Si no se encuentra, termina
4 Si se encuentra algun proceso, se marca, + se incrementa el disponible con el
valor de la asignacin + se repite el paso &
-@iste deadloc6 si + solo si 8a+ procesos no marcados al terminar el algoritmo Cada
proceso no marcado est: interbloDueado )a estrategia consiste en encontrar un
proceso cu+as solicitudes de recursos pueden satis,acerse con los recursos
disponibles, se supone Due se conceden, Due termina + libera todo
$ecuperacin de un deadlock
- ;na veA detectado, se peude seguir alguno de estos en,oDues?
- Cbortar todos los interbloDueados
- Retroceder cada proceso interbloDueado 8asta algIn punto de control de,inido
previamiente + volver a e3ecutar los procesos
- Cbortar sucesivamente procesos interbloDueados 8asta Due de3e de 8aber
deadloc6
- Cpropiarse de recursos sucesivamente 8asta Due de3e de 8aber deadloc6
%strategia integrada de deadlock
- Cgrupar los recursos por clases
- ;sar la estrategia de ordenacin lineal para prevenir circulos viciosos de espera e
impedir interbloDueos entre clases de recursos
Deadloc& de un solo proceso: ,p*g ;<= Stallings.
;n proceso Duiere 8acer una lectura de un bloDue de datos de un disco(cinta
Podr.a 8acerse espera activa (se Dueda colgado 8asta Due la operacin de e(s
termine! o bien se lo puede suspender
-l problema es Due las operaciones de e(s inter,ieren en las decisiones de intercambio
del SO
Riesgo de deadloc6? si a un proceso Due emite una orden de e(s, Dueda suspendido
esperando el resultado, si se lo e@pulsa antes de comenAar la operacin, sale de
memoria bloDueado, esperando a Due la operacin termine 5ientras tanto, la
operacin de e(s Dueda bloDueada 8asta Due el proceso vuelva a memoria
Cmo se evita? la memoria del usuario implicada en la operacin de e(s debe Duedar
permanentemente en memoria principal, inmediatamente despuGs de emitir la orden
de e(s, aunDue Gsta orden se Duede en cola + no se e3ecute durante un tiempoF
Problema de la cena de los filsofos
>e,inicin del problema?
4a+ / ,ilso,os Due piensan(!, comen(!
4a+ / tenedores, + / platos en la mesa
Cada ,ilso,o usa para comer % tenedores, el de la derec8a + la iADuierda
Se debe satis,acer la e@clusin mutua, el interbloDueo + la inanicin
Solucin adecuada? usar sem:,oros establecer un m:@imo de 4 ,ilso,os simult:neos
sentados, al menos uno se asegurar: de tener los dos tenedores -sto garantiAa Due
est: libre de interbloDueos e inanicin
Gestin de %emoria
>ebe satis,acer los siguientes reDuisitos?
- Reubicacin? cuando vuelve a cargarse en memoria un proceso descargado a
disco, 8a+ Due reapuntar todas las direcciones
- Proteccin? contra Zinter,erencia[ de otros procesos )as re,erencias Due 8ace un
proceso deben veri,icarse para evitar cruces
- Comparticin? debe admitir la ,le@ibilidad para compartir en memoria principal
cierta Aona entre varios procesos
- OrganiAacin lgica
- OrganiAacin ,.sica
Particin de la memoria
0Gcnicas de particin de la memoria
0Gcnica >escripcin Venta3as >esventa3as
Particin est:tica Particiones est:ticas al
momento de generaracin del
sistema
2:cil de implementar,
poca sobrecarga al SO
2ragmentacin interna
Particin din:mica )os procesos se cargan en una
particin del tamao e@acto
Eo 8a+ ,ragmentacin
interna
;so e,iciente de mem
principal
2ragmentacin e@terna
Se reDuiere
compactacin (uso
ine,iciente del
procesador!
Paginacin simple 5emoria dividida en ,rames de
igual tamao
Cada proceso se divide en
p:ginas, la Iltima tiene
,ragmentacin interna
;n proceso se carga situando
las p:ginas en ,rames libres,
pueden ser no contiguos
Eo 8a+ ,ragmentacin
e@terna
4a+ peDuea
,ragmentacin interna
Segmentacin
simple
Proceso dividido en segmentos
Se cargan en particiones
din:micas Due pueden no ser
contiguas
Eo 8a+ ,ragmentacin
interna
5e3ora utiliAacin
memoria
Reduce la sobrecarga
comparada con part
din:mica
5emoria virtual
paginada
'dem, paginacin simple, no 8a+
Due cargar todo en memoria
principal
Eo 8a+ ,ragmentacin
e@terna
Clto grado de
multiprogramacin
Sobrecarga por gestin
comple3a de memoria
5emoria virtual
segmentada
'dem segmetnacin simple, no
es necesario cargar todo en
memoria principal
Eo 8a+ ,ragmentacin
interna
Clto grado de
multiprogramacin
Soporte para protecc +
comparticin
Sobrecarga por gestin
comple3a de memoria
- 2ragmentacin interna ? se malgasta el espacio interno de una particin, cuando el
bloDue dedatos cargado es m:s peDueo Due la particin
- 2ragmentacin e@terna ? 8a+ un gran numero de Z8uecos[ peDueos entre
particionesJ la memoria e@terna a todas las particiones se ,ragmenta cada veA
m:s
- Compactacin ? de veA en cuando el SO desplaAa los procesos para Due estGn
contiguos, de ,orma Due toda la memoria libre Duede 3unta en un bloDue
Clgoritmos de ubicacin
- 2irst 2it ? recorre la memoria + asigna el primero disponible Due sea
su,icientemente grande -s el m:s sencillo + suele ser uno de los me3ores
- 7est 2it ? elige el bloDue de tamao m:s parecido al solicitado -s uno de los
peores? porDue al buscar el bloDue m:s parecido, de3a los ,ragmentos m:s
peDueos posibles, aumentando la ,ragmentacin e@terna
- Ee@t 2it ? recorre la memoria desde el lugar de la Iltima ubicacin + elige el
siguiente bloDue disponible Due sea su,icientemente grande )leva a asignaciones
,recuentes al ,inal de la memoria, reDuiere compactacin m:s ,recuente
- Porst 2it ? elige el m:s grande, para Due Duede el ma+or espacio disponible
'uddy System ,sistema de colegas.
)os bloDues se asignan de tamaos variables Son potencias de %
Cl principio, esta toda la memoria en un bloDue Cuando viene una solicitud, se divide
la memoria en %, + a su veA uno de esos bloDues puede volver a dividirse, 8asta Due el
bloDue m:s c8ico sea menor o igual al tamao Due se busca
-l sistema mantiene una lista de los 8uecos Cuando un par est: libre, se los 3unta +
se los elimina de la lista + se une en un solo bloDue
Paginacin ,simple.
- >ireccin lgica ? re,erencia a una posicin de memoria independiente de la
asignacin actual de los datos a la memoria, 8a+ Due traducirla a ,.sica antes del
acceso
- >ireccin relativa ? caso particular de la direccin lgica, la direccin se e@presa
como una posicin relativa a un punto conocido (en gral al inicio del programa!
- >ireccin ,.sica (o absoluta! ? posicin real en la memoria principal
)a memoria se divide en particiones de tamao ,i3o (,rames, marcos!
)os procesos se dividen en porciones (p:ginas!
Se asigna cada p:gina a un ,rame libre ;n programa puede ocupar m:s de una
p:gina, + pueden no estar contiguas %l mecanismo es similar a la particin esttica
-sto es transparente para el programador
)as direcciones lgicas del programa tendr:n? un nImero de p:gina + un
desplaAamiento dentro de la p:gina 4a+ Due 8acer la traduccin de direcciones
lgicas a ,.sicas
-3emplo de c:lculos de direcciones + cantidad de p:ginas
>atos? direcciones de #1 bits 0amao de p:gina #<b
C:lculo? #<b Q #"%4 b+tes Q %
#"
Se necesitan #" bits para el desplaAamiento dentro
de la p:ginaJ en consecuencia (#1H#"!Q1 bits para el nImero de p:gina
-ntonces, el sistema puede tener como m:@imo, %
1
Q 14 p:ginas de # <b cada una
-l SO mantiene?
- una lista de marcos libres
- ;na tabla de p:ginas para cada proceso
Segmentacin ,simple.
-s otra ,orma de dividir a un programa? tanto el programa como los datos asociados
se dividen en segmentos Eo es necesario Due tengan todos la misma longitud,
aunDue tiene una long m:@ima
>irecciones? las direcc lgicas tienen dos partes, un nImero de segmento + un
desplaAamiento Por tener segmentos de tamaos desiguales, no 8a+
correspondencia simple entre las direcc lgicas + ,.sicas
%l mecanismo es similar a una particin dinmica )a di,erencia es Due puede ocupar
m:s de una particin + no es necesario Due todas estGn en memoria ni contiguas
-s visible para el programador, + se o,rece como venta3a
-l SO mantiene?
- una lista de bloDues libres en la memoria
- ;na tabla de segmentos para cada proceso
-3emplo de c:lculos de direcciones + segmentos
>atos? direcciones de nKm bits
E bits HM nImero de segmento
5 desplaAamiento
0amao m:@imo del segmento? %
m

%emoria 8irtual
)as re,erencias dentro de un proceso son con direcciones lgicas, Due se traducen,
con lo cual no 8a+ problema con la carga ( descarga del proceso
Eo es necesario Due las p:ginas o segmentos se encuentren contiguas durante la
e3ecucin
Eo es necesario Due todas las p:ginas(segmentos estGn cargados en memoria
simult:neamente en tiempo de e3ecucin
Si el procesador encuentra una direccin lgica Due no est: en memoria, genera una
interrupcin Due indica un ,allo de acceso a memoria (page ,ault! 4a+ Due traer a la
memoria principal el ,ragmento de proceso Due contiene la direccin lgica Due
provoc el ,allo >espuGs de emitir la solicitud de e(s, el SO puede e@pedir otro
proceso para Due se e3ecute mientras 8ace la e(s ;na veA Due retorna la e(s de la
p:gina, entonces el proceso Dueda en )isto
Principio de cercan.a? las re,erencias a los datos + al programa dentro de un proceso
tienden a agruparse, por lo tanto es v:lida la suposicin de Due durante per.odos
cortos de tiempose necesitar:n slo algunas p:ginas en memoria
Estructura de las tablas de p*ginas
-n gral 8a+ una tabla de p:ginas por proceso, pero cada proceso puede ocupar una
cantidad enorme de memoria virtual
Pero la cantidad de memoria dedicada slo a la tabla puede ser inaceptable, en
consecuencia en general los SO almacenan las tablas de p:ginas en memoria virtual,
en lugar de en memoria real (o sea? puede generar un Page 2ault la bIsDueda en
la tablaFFF!
Cuando un proceso se e3ecuta al menos una parte de su tabla de p:ginas debe estar
en memoria
Otra ,orma ser.a tener un esDuema de % niveles para organiAar grandes tablas de
p:ginas 4a+ un directorio de p:ginas en el Due cada entrada apunta a una tabla de
p:ginas Si el directorio de p:ginas es \ + el tam de p:gina ], entonces un proceso
puede estar ,ormado por 8asta \ @ ]
Otro en,oDue alternativo es el uso de una tabla de p:ginas invertida (PoBer PC,
CS4""! Con este mGtodo la parte del nImero de p:gina de una direccin virtual se
traduce a una tabla de 8as8ing )a tabla de 8as8 tiene un punteroa la tabla de p:ginas
invertida, Due contiene a su veA las entradas de la tabla de p:ginas
4a+ una tabla de p:ginas invertida por cada p:gina de memoria real en lugar de una
por cada p:gina virtual -ntonces, se neceista una parte ,i3a de memoria real para las
tablas, sin importar cuantos procesos o p:ginas virtuales se soporten
'uffer de traduccin adelantada ,TL'.
Con el modelo e@plicado antes (la tabla de p:ginas en memoria virtual!, cada
rere,erencia a una direccin, puede generar dos accesos a la memoria, uno para
obtener la entrada a la tabla de p:ginas correspondiente, + otro para encontrar el dato
deseado
)a ma+oria de los esDuemas resuelven estos dos accesos 8aciendo uso de una cac8G
especial para las entradas de p:ginas, llamada 0)7 (translation loo6aside bu,,er!,
,unciona igual Due las otras cac8G (usando correspondencia asociativa!, guardando
las entradas de las tabla de p:gina usada m:s recientemente
2uncionamiento? 8a+ una bIsDueda de una direccin lgica, entonces el sistema?
# Primero e@amina la 0)7 (si 8a+ acierto, tlb 8it! se obtiene el nImero de ,rame +
se completa la direccin real
% Si no est: en la 0)7 (,allo, tlb miss!, el procesador emplea el nImero de
p:gina como .ndice para buscar en la tabla de p:ginas delproceso + e@aminar
la entrada Due corresp de la tabla de p:ginas
& Si el bit est: activo, entonces est: enmemoria, + se puede obtener el nImero
de ,rame -l procesador actualiAa la 0)7 para incluir esta nueva entrada
4 Si el bit est: inactivo (la p:gina no est: en memoria!, se produce un Page
2ault
Decisiones acerca del tama0o de p*gina1
- P:ginas c8icas, implica menos ,ragmentacin interna, ma+or es lacantidad de
p:ginas Due se necesitan por proceso, un nImero ma+or dep:ginas por proceso
signi,ica Due las tablas de p:ginas ser:n ma+ores
- 0ablas m:s grandes, implican Due probablemente no estGn en memoria real, en
consecuencia, una Inica re,erencia puede provocar dos ,allos de p:gina (uno para
traer la tabla, otro para la p:gina!
- Si son p:ginas m:s c8icas, va a 8aber m:s en memoria, + por el principio de
cercan.a va a 8aber menos ,allos de p:gina
Tablas de segmentos en memoria +irtual
- Cada proceso tiene su propia tabla de segmentos
- Cada entrada de la tabla de segmentos contiene la direccin de comienAo del
segmento correspondiente de la memoria principal + su longitud
- Se necesita un bit en cada entrada de la tabla de segmentos para indicar si el
segmento se encuentra en memoria principal, si el bit est: activo,entonces
tambiGn indica la direccin de comienAo del segmento + la longitud
- 0iene un bit de control para analiAar si el contenido ,ue modi,icado desde Due se
carg
Paginacin y segmentacin combinadas>
- Cuando se combinan ambos mGtodos, el espacio de direcciones de un usuario se
divide en varios segmentos segIn el criterio del programador
- Cada segmento se vuelve a dividir en varias p:ginas de tamao ,i3o, Due tienen el
mismo tamao Due un ,rame de memoria principal
- Para el programador una direccin es un segmento K desplaAamiento, para el
sistema, es un nImero de p:gina dentro de un segmento + un desplaAamiento
dentro de una p:gina
0ablas?
Por cada proceso 8a+ una tabla de segmentos + varias tablas de p:ginas, una por
cada tabla de segmento del proceso (como si ,ueran dos niveles!
Cuando un proceso se e3ecuta, un registro contiene la direccindel comienAo de la
tabla de segmentos para ese proceso
7IsDueda de la direccin? dada una direcc virtual, el procesador emplea parte del
nImero de segmento como .ndice en la tabla de segmentos del procecso para
encontrar la tabla de p:ginas de dic8o segmento ] as. la parte del nImero de la
direcc virtual se usar: como .ndice en la tabla de p:ginas para localiAar el nImero de
,rame Due corresponde
Proteccin? como cada tabla de segmentos inclu+e la longitud (adem:s de la direcc
base! un programa no puede acceder m:s all: de los l.mites del segmento
Compartimiento? para conseguir comparticin, es posible Due un segmento se
re,erencie desde las tablas de segmentos de m:s de un proceso
Polticas de un S) al respecto de memoria +irtual
)ectura?
- Por demanda
- Paginacin previa (o3o, no es intercambioF, cuando un proceso se suspende, todas
las p:ginas se vuelan de la memoria principal!
;bicacin? (idem memoria gral!
- 7est 2it
- 2irst 2it
- Ee@t 2it
- Sin embargo en paginacin pura o paginacinHsegmentacin la ubicacin
carece de importancia
Polticas de reempla3o de p*ginas
LuG p:gina reemplaAar en la memoria cuando 8a+ Due cargar una nueva p:gina -)
ob3etivo es reemplaAar una p:gina Due tenga la menor posibilidad de ser re,erenciada
en un ,uturo cercano
Csignacin ( Clcance ReemplaAo )ocal ReemplaAo *lobal
2i3a Ero ,i3o de ,rames a un
proceso
)a p:gina a reemplaAar se
elige entre los ,rames
asignados al proceso
'5POS'7)-F
Variable -l nro de ,rames asignados
al proceso puede cambiar
durante la e3ecucin
)a p:gina se elige entre los
,rames asignados en ese
momento
)a p:gina se elige entre
todos los ,rames
disponibles
Clcance
- ReemplaAo local ? elige entre las p:ginas residentes del proceso Due origin el
Page 2ault
- ReemplaAo global ? todas las p:ginas en memoria son candidatas a ser
reemplaAadas
Con asignacin variable + alcance local, cmo 8acer para cambiar la asignacin (Due
sea variableF!
Algoritmo P&& frecuencia de fallos de pgina (Page 2ault 2reDuenc+!
Se asocia un bit de uso a la p:gina Se pone en # cuando se accede a la p:gina
Cuando 8a+ Page 2ault, el SO anota el tiempo transcurrido desde el Iltimo Page2ault
para ese proceso Se compara contra un umbral 2, si es menor, entonces la p:gina se
aade al con3unto residente del proceso, sino, se descartan las p:ginas con bit en uso
" (+ entonces se reduce el con3unto residenteF!
lgoritmos b*sicos
lgoritmo Descripcin Caractersticas
Optimo Se reemplaAa la p:gina Due tiene
Due esperar el ma+or tiempo para
ser re,erenciada
-s inimplementableF Sirve para
comparar los otros algoritmos
)R; ReemplaAa aDuella p:gina Due
no 8a sido re,erenciada en m:s
tiempo
Por principio de cercan.a, deber.a
ser la de menos posibilidad de
ser re,erenciada >i,.cil de
implemnetar
2'2O 7u,,er circular (round robin!,
reemplaAa la p:gina Due estuvo
m:s tiempo en memoria
2:cil de implementar, pero
probablemente poco e,ectivo
Cloc6 Csocia un bit adicional a cada
,rame (bit de uso! Cl cargarse
inicialmente, bitQ" Cuando se
re,erencia despues, bitQ# -s un
bu,,er circular, pero elige el
primer " Due encuentra Si da una
vuelta, cambia todos los # por "
Cnomal.a de 7elad+? con m:s ,rames, tengo m:s page ,aultsF
Pol.ticas de vaciado
- Vaciado por demanda ? una p:gina se escribe a memoria secundaria slo cuando
8a sido elegida para reemplaAarse
- Vaciado previo ? escribe las p:ginas modi,icadas antes de Due se necesiten sus
,rames, para Due las p:ginas puedan ser escritas por lotes
Control de carga (grado de multiprogramacin!
-s cr.tico para la e,iciencia del sistema
- Si 8a+ pocos procesos? probablemtne 8a+a momentos donde todos est:n
bloDueados,entonces se tarda muc8o tiempo en intercambios
- Si 8a+ demasiados, el tamao medio del con3unto residente no es adecuado, se
producen muc8os ,allos de p:gina HM 8iperpaginacin (tras8ing!
Suspensin? cmo elegir los procesos para ba3ar cuando 8a+ Due reducir la
multiprogamacin sacar a?
- )os procesos con menos prioridad
- Procesos con ,allos de p:gina
- ^ltimo proceso activado
- Proceso con el con3unto residente m:s peDueo
- -l proceso ma+or
- Procesos con la ma+or ventana de e3ecucin restante
Planificador de monoprocesadores
0ipos de plani,icacin
- >e largo plaAo? aadir procesos al con3unto de procesos a e3ecutar -s decir, DuG
programas son admitidos por el sistema >etermina el nivel de multiprogramacin
- >e mediano plaAo? agregar procesos al con3unto de de los Due se encuentran
parcialmente en memoria -s parte del proceso de intercambio
- >e corto plaAo? decisiones acerca de DuG proceso disponible ser: e3ecutado por el
procesador
- >e entrada(salida? DuG solicitud de e(s pendiente procesada
Pol.ticas de plani,icacin
lgoritmo propiacin Seleccin Caractersticas
2C2S Eo 2'2O? -l primero Due llega 5.nima sobrecarga
PenaliAa cortos
2avorece a los de cpu + no a los
de e(s
Eo inanicin
Round Robin Preemptive, por
Duantum
Cola circular -Duitativo
Rendimiento pobre de los
procesos de e(s, puede
solucionarse con VRR (Virtual
Round Robin, Due combina
colas 2C2S con prioridades!
Eo inanicin
SPE Eo Primero los m:s cortos PenaliAa largos
4a+ Due conocer de antemano el
tiempo de e3ecucin
Posible inanicin
SR0 Preemptive, en la
llegada de un
proceso a la cola de
)istos
Cl Due le ,alta menos para
terminar
PenaliAa largos
Posible inanicin
4RRE
4ig8est
Response Ratio
Ee@t
Preemptive -lige al Due tiene m:@
tiempo esperado de servicio
(tiempo consumido K tiempo
servicio ( tiempo servicio!
-Duitativo, evita la inanicin
inclu+endo el tiempo esperando
Eo inanicin
2eedbac6 Preemptive, por
Duantum
PenaliAa a Due estuvieron
e3ecutando m:s tiempo
5Iltiples colas con
prioridades -l proceso
arranca en RL", a medida
Due e3cuta va ba3ando
Puede ,avorecer a los Due tienen
carga de e(s
Posible inanicin
2SS
2air S8are
Sc8eduling (para
grupos,
con3untos de
procesos!
Csignar menos recursos a
los usuarios Due
consumieron m:s de lo Due
les corresponde + m:s a los
Due usaron menos
Plani,icacin por prioridades, se
tiene en cuenta el uso Due 8iAo
el grupo de la CP;
SYEJ S8ortest
Yob Ee@t
Preemptive
Cpropiacin
- Eo Preemptive ( Pre,erente ? el proceso Due pasa al estado -3ecucin, continIa
e3ecutando 8asta Due a! termina o b! se bloDuea (en espera de una e(s! 'mplican
menor Zcosto[ pero son menos eDuitativas
- Preemptive ( Pre,erente ? el proceso Due est: e3ecutando puede ser interrumpido +
pasado a )isto por el SO )a apropiacin puede producirse por Due un proceso se
bloDuee o peridicamente (relo3! 'mplican ma+or es,uerAo del procesador
cambiando procesos, pero son m:s 3ustas
Planificacin de multiprocesadores
Relacin de los sistemas multiprocesador?
- Cgrupacin o multiprocesador dGbilmente acoplado o distribuido
- Procesadores especialiAados ,uncionalmente
- 5ultiprocesador ,uertemente acoplado? es un con3unto de procesadores Due
comparten una memoria principal comIn
*rado de sincroniAacin
- 2ino? paralelismo in8erente a un Inico ,lu3o de instrucciones
- 5edio? procesamiento paralelo o multitarea dentro de una aplicacin individual
5:s comple3o Due el paralelismo con 8ilos
- *rueso? multiprocesamiento de procesos concurrentes en un entorno
multiprogramado Poca sincroniAacin
- 5u+ grueso? proceso distribuido Poca sincroniAacin
- 'ndependiente? procesos no relacionados Eo 8a+ sincroniAacin e@pl.cita de los
procesos
Consideraciones de diseo
- Csignacin permanente ( est:tica
o Poca e,iciencia si no 8a+ una cola comIn (si 8a+ uno con pendientes +
otro desocupado!
o >os mGtodos de asignar?
5aestro(esclavo
CrDuitecturas simGtricas
- Csignacin din:mica
- -n general no se asignan en ,orma dedicada,sino Due 8a+ una cola Inica para
todos los procecsadores o se usa un esDuema de prioridades (varias colas por
prioridad!
- ;so de multiprogramacin en procesadores individuales (sobre todo cuando la
asignacin es est:tica,vale la pena_!
- -@pedicin? seleccin real del proceso a e3ecutar )a plani,icacin no tiene sentido
Due sea tan comple3a como en un monoprocesador
- 5ane3o de 8ilos? es muc8o mas potente Due en un sistema monoprocesadorF
(porDue 8a+ paralelismo real!
o Reparto de carga ? los procesos no se asignan a un procesador
particular, se mantiene una cola global de 8ilos listos + cadaprocesador
selecciona uno de los 8ilos cuando estG disponible
)a carga se distribu+e uni,ormemente entre los procesadores
Eo es necesario un plani,icador centraliAado
)a cola central (en memoria compartida! debe tener e@clusin
mutua
Si se reaunda la e3ecucin de cierto 8ilo, es improbable Due
vuelva almismo procesador, no se utiliAar.a la cac8G local
Si se reDuiriera alto grado de coordinacin entre los 8ilos, los
intercambios pueden a,ectar al rendimiento
& versiones di,erente?
2C2S
Primero el de menor numero de 8ilos
Primero el de menor nImero de 8ilos, preemtpive
o Plani,icacin por grupos ? se plani,ica un grupo de 8ilos para su
e3ecucin en un con3unto de procesadores
Si procesos pr@imos se e3ecutan en paralelo, podrian reducirse
los bloDueos por sincroniAacin
5inimiAa los intercambios de procesos, es e,ectiva cuando 8a+
gran sincroniAacin entre los 8ilos de un proceso
o Csignacin dedicada de procesadores ? opuesto a reparto de carga, se
le asigna un procesador a cada 8ilo -s una ,orma e@trema de la
plani,icacin por grupos
Si un 8ilo se bloDuea, el procesador Dueda desocupado, no 8a+
multiprogramacin
Como no 8a+ intercambios, se acelera la e3ecucin del
programa (salvo en elmomento de e(s, tiene elprocesador
dedicadoF!
o Plani,icacin din:mica ? el nImero de 8ilos de un programa puede
cambiar durante la e3ecucin Cuando un proceso pide uno o m:s
procesadores?
Si 8a+ procesadores desocupados, se le asignan
O al reciGn llegado se le asigna un procesador individual, Due se
le Duita a otro Due tenga m:s de uno asignado
Si no puede satis,acerse el pedido, se lo de3a en cola 8asta Due
alguno anule la peticin o pase a estar disponible
Planificacin en tiempo real
-s el tipo de procesamiento donde la e@actitud del sistema no depende slo del
resultado lgico del c:lculo sino tambiGn del instante en Due se obtenga
Eo preocupa la velocidad absoluta, sino completar (o iniciar! las tareas en el momento
m:s adecuado, ni antes ni despuGs
Caractersticas de un S) en tiempo real
- >eterminismo ? cuando realiAa las operaciones en instantes ,i3os o intervalos de
tiempo predeterminados Se analiAa cu:l es el retardo m:@imo Due tiene el SO
para responden a las peticiones
- Sensibilidad ? cu:nto tiempo tarda el SO en reconocer una interrupcin -s la
cantidad de tiempo necesario para iniciar + e3ecutar la gestin de interrupcin ('SR,
'nterrupt Service Routine!
- Control del usuario ? el usuario debe dar control preciso sobre las prioridades de las
tareas
- 2iabilidad ? un ,allo transitorio puede tener consecuencias mu+ graves
- 0olerancia a ,allos ? capacidad del sistema de conservar la m:@ima capacidad +
datos en caso de ,allo -s estable cuando puede cumplir los plaAos de las tareas
cr.ticas + de ma+or prioridad
>eterminismo K sensiblidad Q tiempo de resupuesta a sucesos e@ternos
-l coraAn de un sistema de tiempo real es el plani,icador de tareas corto plaAo
-n el diseo es importante la eDuidad + la reduccin del tiempo medio de respuesta
Se combinan la prioridades con interrupciones de relo3 )os instantes de apropiacin
(preemptiveF! se original a intervalos regulares, cuando llega el mometno, se e@pulsa a
la tarea Due est: e3ecutnado si e@iste otra esperando Due tenga ma+or prioridad
Si 8ubiera algunas aIn m:s criticas, podr.a usarse apropiacin inmediata
Clgoritmos de plani,icacin en tiempo real
- 5Gtodos con tablas est:ticas o peridicas ? aplicable a tareas peridicas, es
predecible pero in,le@ible
- Pre,erentes con prioridades est:ticas ? 8ace an:lisis est:tico pero no plani,ica, se
usa el an:lisis para determinar las prioridades para un sistema pre,erente con
prioridades
o algoritmo monnoto de ,recuencia (R5S, Rate 5onotonic Sc8eduling!
Csigna prioidades en ,uncin a sus per.odos, per.odoQtiempo Due
transcurre entre Due llega la tarea + la siguiente llegada de la misma
tarea )a tarea con ma+or prioridad es la Due tiene per.odo m:s corto, +
asi
- >e plani,icacin din:mica J se determina la viabilidad en tiempo de e3ecucin Se
acepta una nueva tarea slo si es ,actible de e3ecutarse
- >in:micos del me3or resultado ? el m:s usado )a prioridad se asigna a la llegada,
como son tareas aHperidicas,no 8a+ ,orma de saber de antemano
(esta`ticamente! su prioridad Eo se sabe si puede cumplirse la restriccion de
tiempo 2:cil de implementar
>e cada tarea, m:s all: de la prioridad, se deber.a saber (para poder plani,icarla
adecuadamente!
- 'nstante en Due est: lista
- PlaAo de comienAo + ,inaliAacin
- 0iempo de proceso
- -@igencias de recursos
- Prioridad
- Subtareas_
Gestin de Entrada 7 Salida
OrganiAacin de las ,unciones de -(S
- -(S programada ? el proceso espera a Due termine la operacin para seguir
- -(S dirigida por interrupciones ? continIa la e3ecucin de las instrucc siguientes (del
mismo proceso o el proceso se suspende + se sigue con otro! + el mdulo de e(s
lo interrumpe cuando completa su traba3o
- >5C ? Ccceso directorio a la memoria, un mdulo >5C controla el intercambio de
datos entre la memoria principal + el mdulo de e(s Se puede mover un bloDue
entero de datos sin Due intervenga el procesador, e@cepto al inicio o al ,inal -l
mdulo >5C toma control del bus cuando el procesador no lo necesita, o bien lo
obliga a suspender moment:neamente su operacin (robo de ciclo!
Estructura lgica de las funciones de E/S
- -(S lgica ? el mdulo de e(s logica trata al dispositivo como un recurso lgico + no
se preocupa de los detalles de control real del dispositivo -ste modulo se ocupa
de las ,uncioens generales (Cbrir, Cerrar, )eer, -scribir!
-n los dispositivos de almacenamiento secundario, se inclu+en & niveles
Due Zabren[ m:s el nivel de e(s lgica
o *estin de directorios? traduccin de nombres simblicos a
identi,icadores Due apuntan al arc8ivo o a una tabla de indices
(inodos_!
o Sistema de arc8ivos? se encarga de la estructura lgica de los arc8ivos
+ las operaciones (abrir, cerrar, !
o OrganiAacin ,.sica? las re,erencias lgicas a arc8ivos se traducen a
direcciones ,.sicas 0ambiGn gestiona el bu,,er (almacenamiento
intermedio!
- -(S con dispositivos ? las operaciones se conviertenen secuencias adecuadas de
instrucciones de e(s + rdenes para el canal + el controlador
- Plani,icacin + control ? la plani,icacin + puesta en cola de las operaciones + el
control se 8acen en este nivel
lmacenamiento intermedio de la E/S
Cuidado, puede 8aber deadloc6 de un solo proceso, debido al uso del
almacenamiento intermedio
0ipos de dispositivos?
Orientados a bloDue? almacenan los datos en bloDues, normalmente de tamao ,i3o,
8acen las trans,erencias de un bloDue cada veA (discos, cintas!
Orientados a ,lu3o? trans,ieren datos como una serie de b+tes, no tienen estructura de
bloDues (terminales, impresoras, puertos de comunicacin!
-sDuemas de almacenamiento intermedio
-sDuema Caracter.sticas >escripcin
5emoria intermedia sencilla )ectura por adelantado
(anticipada!
Complica al SO porDue debe
guardar constancia de las
asignaciones de la mem
intermedia del sistema a
procesos del usuario
Cuando se completa la
trans,erencia, se pide otro bloDue
inmediatamente, esperando Due
el bloDue se necesite m:s
adelante
-l SO puede e@pulsar al proceso
porDue la op de entrada no tiene
lugar en el espacio del proceso
5emoria intermedia doble ;n proceso puede llenar(vaciar
una memoria intermedia mientras
Due el so llena(vac.a el otro
-l doble almacenam asegura Due
el proceso no tiene Dueesperar
en la e(s
-s mas rapido Due el sencillo,
pero mas comple3o
Puede ser inapropiado si el
proceso lleva a cabo rapidas
r:,agas de e(s (8a+ Due ir al ritmo
del proceso!
5emoria intermedia circular -s un modelo de
productor(consumidor con
memoria intermedia ilimitada
Se puede solucionar el tema del
ritmo, agregando m:s memorias
intermedias
Planificacin de discos
!uncionamiento del disco
Velocidad de giro, constante
;na pista tiene muc8os sectores
Si un disco tiene muc8os platos, todas las cabeAas se mueven 3untas
La combinacin de todas las pistas en la misma posicin relati+a sobre el plato
se llama cilindro
# Colocar la cabeAa en la pista deseada Para leer o escribir, la cabeAa se debe
colocar en la pista deseada, al comienAo del sector 4a+ Due mover la cabeAa
para elegir la pista 0iempo para posicionar la cabeAa en la pista es el tiempo
de b?s9ueda
a -s el tiempo de arranDue inicial K tiempo en recorrer las pistas
% -sperar a Due el sector se aline con la cabeAa, es el retardo de giro o
latencia de giro
C:lculo del retardo de giro (e3emplo!
Velocidad de rotacin Q #"""" rpm (revoluciones por minuto! Por regla de tres,
#"""" rev Q 1" seg QM # rev Q ",""1 seg Q 1 ms
0iempo de acceso Q tiempo Due se tarda en llegar a la posicin de lectura(escritura
-s tiempo de bIsDueda K retardo de giro
C:lculos sector lgico
Sector lgico HM (C'), CC7, S-C0! E Q (C, 7, C!
C Q parte entera N sectUlgico ( (sectores cabeAas ! O
7 Q parte entera Nresto C ( sectores O
C Q resto 7
-3emplo? sect lgico #&"# >atos? & platos HM 1 cabeAas, #"" sectores cada cilindro
C Q #&"# ( (#""1! Q %, resto #"#
7 Q #"#( #"" Q #, resto #
C Q #
E Q (%, #, #!
lgoritmos de planificacin de disco
lgoritmo Descripcin Caractersticas
RSS, aleatorio -l peorF Se usa para comparar con los
otros
2'2O Primero en entrar, primero en
salir
-l m:s 3usto de todos
PR' >e acuerdo a la prioridad del
proceso
-l control es ,uera de la gestinde
la cola del disco
Poco ,avorable para 7>
)'2O ;ltimo en llegar, primero en salir 5a@imiAa uso recursos + cercan.a
'mplica pocos o nulos
movimientos del braAo en arc8
secuenciales
Posibilidad de inanicin
SS02 Primero el m:s corto (cercano!
-n ambos sentidos
7usca minimiAar el movimiento
Cprovec8amiento, colas
peDueas
SCCE Recorre el disco de un lado a otro
(8asta el e@tremo del disco,
despues, despuGs todo para
aba3o!
7uena distribucin
2avorece a los traba3os con
pistas cercanas a los cilindros
mas interiores + e@teriores
)OO< 'dem SCCE pero no va 8asta el
e@tremo sino 8asta el ultimo
pedido
CHSCCE Recorre el disco de un lado a
otro, en un solo sentido
Poca variabilidad de servicio,
eDuitativo
SCCE E pasos SCCE pero de E registros a la
veA
*arantia de servicio
Se procesan de a paDuetes para
evitar Zpega3osidad[ + Due la
cabeAa estG en el mismo lugar
todo el tiempo
;sa subcolas de long n
2SCCE 'dem SCCE E pero con
EQlongitud de la cola al comienAo
del scan
Sensible a la carga
;sa dos subcolas, las nuevas
solicitudes Duedan en la %
mientras se procesa la #
4ID
@i+el Categora Descripcin y uso Tasa pedidos
,lect/escr.
Tasa transferenc
,lect/escr.
" 7andas Eo reduncia
Clto rendimiento, app no cr.ticas
)asbandas se distribu+en por disco, si
los datos est:n en discos di,erentes,
acceso en paralelo
>ist peDueas?
-@celente
>ist grandes?
-@celente
# -spe3o Copia espe3o
>uplica todos los datos Crc8ivos
cr.ticos CualDuier disco puede servir
el pedido )a escritura es doble, en los
% discos
7ueno(3usto Yusto ( Yusto
%
&
Ccceso
paralelo
Redundancia por 4amming
E(C
-l nro de discos redundantes es log
del nro de discos de datos
Pobre -@celente
Paridad por intercalacin de bits
Slo un disco redundante, no importa
cuantos discos de datos CualDuier
trans,erencia involucra a m:s de un
disco, acceso paralelo
Pobre -@celente
4
/
1
Ccceso
independiente
Paridad por intercalacin de bloDues
;n solo disco de paridad
Cada disco opera independiente, se
puede servir pedidos en paralelo -n
cada escritura 8a+ Due actualAiar los
datos + los bits de paridad
E(C
-@celente ( 3usto Yusto ( Pobre
Paridad por intercalacin distribuida de
bloDues
>istribu+e las bandas de paridad en
todos los discos
-@celente ( 3usto Yusto ( Pobre
Paridad por intercalacin doblemente
distribuida de bloDues
>os calculos distintos de paridad, con
n discos de datos, se necesitan n K %
discos
Clta disponibilidad de datos, con gran
penaliAacin de escritura (cada
escritura a,ecta % bloDues de paridad!
-@celente ( pobre Yusto ( Pobre
Cdigo de 4amming? detectar % bits errneos, corregir 8asta # bit errneo
Cac(A de disco
-s una memoria intermedia (bu,,er! Due reduce el tiempo medio de acceso a la
memoria aprovec8:ndose del principio de cercan.a
Cuestiones de diseo
- Cmo pasarle los datos cuando 8a+ un acierto
o Se trans,iere el bloDue de datos de la memoria principal al proceso
o Se le pasa unpuntero a la entrada apropiada de la cac8G de disco
- -strategia de reemplaAo
o )R; ()east Recentl+ ;sed!, se reemplaAa el bloDue Due permanece en
la cac8G con menor cantidad de re,erencias OrganiAacin? pila, cuando
se re,erencia se pone arriba, se elimina el del ,ondo, aba3o
o )2;, )east 2reDuentl+ ;sed, se elimina el bloDue Due su,rio la menor
cantidad de re,erencias Se necesita un contador
o ReemplaAo en ,uncin a la ,recuencia? pila como )R;, pero con dos
secciones Si 8a+ acierto, se pone en la arriba Si el bloDue estaba en la
secc nueva, su contador no se incrementa, sino, se incrementa Si se
produce una ,alla, se elimina el bloDue conel menor contador + Due no
estG en la secc nueva Podr.a 8acerse tambiGn con & secciones
- Rendimiento? a,ectado por la tasa de ,allas, depende del comportamiento de la
cercan.a delas re,erencias a disco, el algoritmo de reemplaAo, etc
Gestin de arc(i+os
Campos, registros, arc8ivo, base de datos
r9uitectura de un sistema de arc(i+os
(capas!
- Visto desde el programa de usuarios? (Pila ( Secuencial ( Secuencial inde@ado (
inde@ado ( 8as8ing!? mGtodo de acceso
- -(s lgica? permite a los usuarios + programas acceder a los registros
- Supervisor b:sico de e(s? responsable de iniciar + terminar todas las e(s
- Sistema de arc8ivos b:sico ( nivel de e(s ,.sica? inter,aA primaria con entorno
e@terior del sistema
- *estor del dispositivo (disco, cinta!? device drivers
)rgani3acin de arc(i+os ,estructura lgica de los registros.
0ipo Caracter.sticas Registros
Pila Se recogen en el orden Due llegan
Ccceso? por bIsDueda e@8austiva
Sin estructura
Secuencial -s la unica guardable en cinta(disco
Ccceso? bIsDueda secuencial Due
corresponda con la clave
2ormato ,i3o, un campo es la clave
Para agregar, se ponen separados,
despues se mergea
Secuencial inde@ado 'dem, se agrega?
'ndice para acceso aleatorio + un
arc8ivo de desbordamiento (over,loB!
)o Due se agrega se pone en el ,ile de
desbordamiento, apuntado desde su
registro predecesor
'ndice? campo clave K ptr a arc8ivo
principal >e veA en cuando se combina
+ rearma el ,ile
'nde@ado 5Iltiples indices, uno por cada
campo usado para la busDueda
Eo 8a+ concepto de secuencialidad +
clave unica, slo se accede a travGs de
sus .ndices
>irecto o 8as8ing Se reDuiere un campo clave en cada
registro Eo 8a+ ordenacin
secuencial
Cgrupacin de registros en bloDues
%Atodos de agrupacin 4egistros Desperdicio -tili3acin
2i3os Registros de longitud ,i3a 2ragmentacin interna (en
el Iltimo bloDue!
Secuenciales
)ongitud variable con
tramos
Registros de long
variable
Si ocupa dos bloDues, se
usa un puntero al
siguiente
Sin ,ragmentacin >i,.cil de
implementar, cuando
ocupa dos bloDues
8a+ % lecturas
)ongitud variable sin
tramos
Registros de long
variable
Eo se dividen en tramos
Se desperdicia muc8o
espacio si el registro
siguiente es ma+or Due el
tamao restante
Csignacin de arc8ivos?
- Csignacin previa de todo el espacio
- Csignacin din:mica
0amao de la seccin
- Secciones contiguas variables + grandes? me3or rendimiento, tablas m:s
peDueas, espacio di,.cil de reutiliAar -s importante la ,ragmentacinJ algoritmos
posibles de asignacin 2irst 2it, 7est 2it, Ee@t 2it
- 7loDues? m:s ,le@ibilidad, pero puede necesitar tablas m:s grandes
5Gtodos de asignacin de arc8ivos
Contigua Encadenada Inde2ada
>escripcin ;no con3unto
contiguo de
bloDues
Csignacin con
bloDues individuales,
cada uno tiene un
puntero al siguiente
bloDue de la cadena
)a tabla de asignacin de arc8ivos
contiene un .ndice separado de un nivel
para cada arc8ivo, el indice tiene una
entrada para cada seccion asignada al
arc8ivo
Recomendado
para
Secuencial Secuencial Secuencial
>irecto (8as8ing!
Csignacin
previa
Eecesaria Posible Posible
Secc tamao ,i3o
o variable
Variable 7loDues ,i3os 7loDues ,i3os Variable
0amao seccin *rande PeDueo PeDueo 5edio
2recuencia
asignacin
;na veA 5edia H ba3a Clta 7a3a
0iempo para
asignar
5edio )argo Corto 5edio
2C0 ;na entrada ;na entrada grande medio
Problemas 2ragmentacin
e@terna 4a+ Due
compactar
-limina
,ragmentacin
e@terna
5e3ora la cercan.a
*estin del espacio libre
0abla de asignacin de disco
0abla de asignacin de arc8ivos
0Gcnicas?
- 0ablas de bit ? usa un vector Due contiene un bit por cada bloDue de disco "Qlibre,
#Qusado -s ,:cil de encontrar un bloDue contiguo de datos de bloDues
disponibles Como puede ocupar muc8o (tam disco en b+tes ( = @ tam bloDue!, la
alternativa es ponerla en disco, pero seguir.a pensando muc8o, entonces se
mantienen estructuras Due resumen el contenido de subrangos de la tabla de bits
- Secciones libres encadenadas ? las secc libres se encadenan como una lista
mediante un ptr + un valor de long de espacio libre de la secc *enera
,ragmentacin
- 'nde@acin ? trata al espacio libre como si ,uera un arc8ivo, + usa una tabla .ndice
Slo puede traba3r con secc de tamao variable pore,eiciencia 4a+ una entrada
en la tabla para cada seccin libre del disco
- )ista de bloDues libres ? cada bloDue tiene asignado un nro secuencia + la lista de
nros de todos los bloDues libres se mantiene en una seccin reservada del disco
Si se usa un numero de bloDue de &% bits, se penaliAa entonces 4 b+tes por cada
bloDue de /#% b+tes -l espacio es mu+ c8ico, + para almacenar la lista en mem
principal se podr.a usar la lista como una pila con los primeros miles de elementos
cargados en mem, o como una cola 2'2O, con un par de miles de entradas entre
el principio + el ,inal
IBnodos
- 0odos los arc8ivos se contemplan por ;ni@ como un ,lu3o de b+tes
- 0odos son adminsitrados por el SO por medio de iHnodos
- ;n iHnodo (nodo indice! es una estructura de control Due contiene la in,o clave del
arc8ivo Due necesita el SO
- Varios nombres pueden asociarse a # inodo, pero un inodo solo puede asociarse
con # arc8ivo Cada arc8ivo solo puede ser controlado por un inodo
Por lo general se necesitran dos lecturas a disco para acceder a un determinado
arc8ivo? una al iHnodo del arc8ivo + otra al bloDue del arc8ivo
-n ;E'\ se usa asignacin en bloDues, din:mica + a medida Due se necesita, no se
usa asignacin previa Eo se reDuiere Due los bloDues estGn contiguos
Se usa inde@acin, con parte de la in,o almacenada en el inodo
-ntre otros datos, el inodo tiene &$ b+tes de in,o de direccin, organiAada como #&
direcciones (punteros! de & b+tes cada uno (& b+tes @ #& Q &$ b+tes!
>irecto Primeras #"
direcciones
Cpuntan a los primeros #" bloDues de datos del arc8ivo
'ndirecto simple ## Cpunta a un bloDue de disco Due tiene la siguiente parte del
indice Cada bloDue ind simple tiene los ptrs a los siguientes
bloDues del ,ile
'ndirecto doble #% Cpunta a un bloDue Due tiene la lista de bloDues indirectos
simples adicionales
'ndirecto triple #& Cpunta a unbloDue ind triple, conun &er nivel de inde@acin,
Due a su veA apuntan a ind dobles
Calculo del tamao m:@imo de un arc8ivo?
>atos? Ptr directos #%, ind simple #, doble #, triple #
tamao de bloDue Q tamao del sector, = <b (=#$% b+tes!
Puntero a disco Q &% bits? = bits identi,ican disco, %4 bits identi,ican bloDue ,.sico
0amao puntero &% bits Q 4 b+tes
Cant en 'ytes C cantDptr > ,Tblo9ue / TamPtr.
n
> Tblo9ue
>irectos Q #% (=#$% ( 4!
"
=#$% Q $=&"4 Q $1 <b
'ndirectos simples Q # (=#$% ( 4!
#
=#$% Q #1999%#1Q #1&=4 <b Q #1 5b
'ndirectos dobles Q # (=#$% ( 4!
%
=#$% Q &% *b
'ndirectos triples Q # (=#$% ( 4!
&
=#$% Q 14 0b
7+tes Q Sumatoria totalF
Cu:ntos accesos al disco 8acen ,alta para localiAar el b+te enla posicin @? tantos
como accesos a los inodos se necesiten (busco la suma de b+tes 8asta posic @!
%*2 tama0o !ile System C E
TamDptro
> Tblo9ue
tamao 2ile S+stem Q %
%4
=#$% Q a
Procesamiento distribuido
0endencia 8acia el proceso de datos distrbuido
- Soporte en la arDuitectura de comunicaciones
- Sistemas operativos de red
- Sistemas operativos distribuidos
Procesamiento cliente ( servidor
- -lementos
- Cliente
- Servidor
- 5iddleBare? son inter,aces + protocolos est:ndar
con3unto de controladores, CP' u otro sB Due me3ora la conectividad entre las
aplicaciones entre cliente + servidor Para resolver problemas de interoperacin
entre diversos vendors + protocolos
- Red
- Cplicaciones se distribu+en
- 7ases de datos se centraliAan
Clases de aplicaciones cliente/ser+idor
- Proceso basado en m:Duina central (8ost!? no es realmente c(s, sino entorno
tradional, main,rame
- Proceso basado en servidor
- Proceso basado en cliente? se procesa todo a8. salvo las validaciones de datos +
,unciones de la bd
- Proceso cooperativo? aplicacin optimiAada, aprovec8ando la potencia de los
eDuipos + la distribucin de los datos
CrDuitectura
-n dos capas
- Capa cliente
- Capa servidor
-n tres capas
- Capa cliente
- Capa intermedia (servidor de aplicaciones!
- Capa servidor (bac6end, de datos!
Consistencia de la cac(e de arc(i+os
-l rendimiento de la e(s se puede degradar por el retardo introducido por la red
)os eDuipos individuales pueden usar cac8Gs de arc8ivos, pero 8a+ Due administrar
cuidadosamente la consistencia
Cl momento de una peticin, 8a+ Due c8eDuear la cac8e del puesto (tra,ico de
arc8ivo!, luego al disco (tra,ico de disco!, o al servidor (tr:,ico del servidor! ;na veA
en el servidor, e@aminar primero su cac8e + si 8a+ ,allo, acceder a disco
Si las cac8es tienen copias e@actas, 8a+ consistencia de cac8es
Para evitar la inconsistencia (se cambian datos remotos + no se desec8an las copias
locales!, se pueden usar tGcnicas de bloDueo (garantiAa consistencia a costa de
rendimiento + ,le@ibilidad!, sino Due todos 8abran como lectura, + cuando se abre
como escritura, se noti,ica Due deben reescribirse los bloDues alterados
inmediatamente
Paso distribuido de mensa"es
-n proceso distribuido se suele dar Due los eDuipos EO compartan memoria principal,
son eDuipos aislados, entonces para comunicar procesadores EO se puede usar
sem:,oros ni usar un :rea de memoria comIn, entonces se usa una tGcnica de paso
de mensa3es
Send ( Receive
-speci,icar el destino e incluir el contenido del mensa3e
)as solicitudes de servicio peuden ser primitivas (,uncion a realiAar! + par:metros
)a recepcin tiene un :rea de almacenamiento intermedio (un bu,,er! donde se alo3an
losmensa3es Due llegan
5ensa3es ,iables ( no ,iables? so se garantiAa la entrega, se debe usar un protocolo
,iable
7loDueante ( no bloDueante
- Primitivas EO bloDueantes o as.ncronas?
o 8a+ empleo e,iciente + ,le@ible del paso de mensa3es
o programas di,iciles de probar + depurar, con secuencias irreproducibles
dependientes del tiempo + la e3ecucin
- Primitivas bloDueantes o s.ncronas?
o Eo devuelve control 8asta Due el mensa3e se transmite (servicio no
,iable! o 8asta Due se 8ace obtenido un acuse de la recepcin (servicio
,iable!
4PC1 llamadas a procedimiento remoto
Permite Due programas de m:Duinas di,erentes interactIen mediante una sem:ntica
de llamados(retornos a simples procedimientos como si estuvieran ambos en la misma
m:Duina
-s un re,inamiento de un sistema ,iable + bloDueante
2ormato est:ndar de mensa3es, el llamado se 8ace indicando el nombre del
procedimiento, los argumentos pasados + devueltos (paso de par:metros por valor o
como puntero por re,erencia, m:s di,iciles de implementar!
-nlaces?
- Persistentes ? la cone@in lgica se establece entre dos procesos al momento de la
llamada + se pierde tan pronto como se devuelvan los valores
- Eo persistentes ? se establece + se mantiene despuGs de Due el procedimiento
termina
- Sincronas (bloD! ? se comporta similar a una subrutina -s ,:cil de programar por
ser predecible, pero no e@plica por completo el paralelismo de las app distribuidas
- Cs.ncronas ? se consigue m:s paralelismo Eo bloDuean al llamador Para
sincroniAar se puede iniciar + terminar la cone@in con otra app o bien Due el
cliente emita una cadena de rpc asigncronca seguida de una Iltima s.ncrona
grupaciones
Son una alternativa al S5P para dar alto rendimiento + alta disponibilidad
Cada eDuipo es un nodo
Venta3as
- -scalabilidad total? pueden superar ,acilmente las m:Duinas autnomas m:s
grandes
- -scalabilidad intremental? se pueden aadir nodos ,:cilmente
- Clta disponibilidad
- 5e3or relacin rendimiento precio
%Atodos de agrupacin
5Gtodo >escripcin Venta3as )imitaciones
-spera pasiva -l secundario arranca si
,alla el primario
2acil de implementar
K disponibilidad
no me3ora rendimiento
Clto costo
Secundaria activa -l secundario tambiGn
procesa
Costo menor 5as comple3idad
Servidores separados Cada uno tiene sus
propios discos + los
datos se copian
continuamente
Clta disponibilidad Sobrecarga en servidor +
red por copiado
Servidores conectados a
discos
Cada uno tiene los
su+os, pero est:n
conectados, si uno ,alla,
otro servidor pasa a
estar a cargo
Reduce sobrecarga +
uso de red por no
espe3ar discos
Eecesita RC'>
Servidores compartiendo
discos
5ultiples eDuipos
comparten acceso a
disco
7a3a sobrecarga
Reduccin de riesgo de
ca.da por ,alla disco
So,t para gestionar
bloDueos
RC'>
*estin de ,allos? depende del mGtodo de agrupacin utiliAado
- Resistencia a ,allos (,ailover! ? ,uncin de intercambiar una aplicacin + los datos de
un sistema ,allido por uno alternativo
- Restauracin de ,allos (,ailbac6! ? Restaurar las aplicaciones + datos al sistema
original cuando se repar
-Duilibrio de carga?
- Compilador paralelo ? se determinan en tiempos de compilacin DuG partes de la
aplicacin se pueden e3euctar en paralelo
- Cplicaciones paralelas ? se usa el paso de msg para mover datos
- Computacin paramGtrica ? algoritmo Due debe e3ecutarse muc8as veces con datos
di,erentes
Proceso paralelo
CrDuitectura
- ^nico punto de entrada para el usuario
- ^nica 3erarDu.a de arc8ivos
- ^nico punto de control
- ^nica gestin de red virutal
- ^nico espacio de memoria
- ^nico sistema de gestin de traba3os
- ^nica inter,aA de usuario
- ^nico espacio de e(s + de procesos
- Puntos de comprobacin
- 5igracin de procesos
Gestin distribuida de procesos
%oti+os de la migracin de procesos
- Compartimiento de carga
- Rendimiento de las comunicaciones
- >isponibilidad
- ;tiliAacin de capacidades especiales
- LuiGn inicia el proceso de migracin_ ;na unica entidad_ -l destino puede
Zopinar[ acerca de recibir unproceso migrado_
- >esalo3o? un sistema destino podr.a rec8aAar una migracin
- 0rans,erencias pre,erentes ( no pre,erentes? trans,erir un proceso parcialmente
e3ecutado o con la creacin completada, o bien (la no pre,erente! involucraar
procesos Due no comenAaron la e3ecucin (con lo cual no es necesario trans,erir el
estado delproceso!
Cuando se migran procesos Due +a e3ecutaron? Se migra la imagen del proceso, se
destru+e en el sistema de origen + se crea en el destino Se mueve + no se duplica -l
problema est: en el espacio de direcciones + los arc8ivos abiertos
-strategias?
- 0rans,erencia (completa! ? se trans,iere todo en el momento de la migracin
-legante, pero puede ser costoso sin necesidad
- Copia anticipada ? se e3ecuta en origen mientras se copia a destino )oDue se
modi,ico se copia de nuevo
- 0rans,erencia (modi,icado! ? se trans,iere solo lo modi,icado, + el resto ba3o
demanda
- Copia por re,erencia ? idem, pero se desplaAan las p:ginas cuando se las
re,erencia
- Volcado (,lusing! ? se eliminan las p:ginas del proceso de la memoria de origen,
volcando a disco las modi,icadas Se accede a cada p:gina segIn se necesite +
desde el disco + no de memoria
Problemas de concurrencia ,determinar el estado global.
Cparecen los mismos problemas de concurrencia Due antes (e@clusin mutua,
interbloDueo, inanicin!, las estrategias ac: var.an por el 8ec8o de no tener un Zestado
global[ del sistema en un instante dado O sea, un sistema o proceso no puede
conocer el estado de los otros
)a complicacin surge (entre otras cosas! por el retardo temporal de las
comunicaciones
lgoritmo de instant*neas distribuidas
- )os mensa3es se entregan en el mismo orden Due se env.an, + no se pierden
mensa3es
- )os mensa3es se propagan
- CualDuier proceso inicia el algoritmo mandando un mnesa3e marcador por un canal
Due comunica con otros (n! procesos Cada uno registra su propio estado + el de
todos los canales entrantes
- Se obtiene un estado global consistente cuando cada uno env.a por todos los
canales salientes los datos del estado Due registr + retransmite los Due recibi
E2clusin mutua distribuida
)os algoritmos dependen del paso de mensa3es (+ no del acceso a memoria porDue
no tienen!
Clgoritmo centraliAado? 8a+ un nodo desginado como control del acceso a todos los
ob3etos compartidos Cuando se Duiere acceder a un recurso cr.tico, se emite un
Pedido, obtiene una Respuesta + luego cuando termina de usarlo, envia un mensa3e
de )iberacin
Algoritmo distribuido para e'clusin mutua
- 0odos los nodos pueden decidir
- Cada uno tiene in,o parcial
- Como no 8a+ relo3 comun, para sincroniAarse se usa una ordenacin de sucesos
(sucesoQenvio! Se usan Zmarcas de tiempo[ Cada sistema mantiene un contador
local, cada veA Due env.e un msg incrementa un relo3 -l tiempo asociado con el
suceso de cada mensa3e es lamarca de tiempo Due acompaa al msg EO importa
DuG suceso ocurre primero en realidad, solo importa Due se puedan ordenar de
alguna ,orma
Cola distribuida
- Primera versin ? n nodos, cada uno tiene procesos Due peuden 8acer pedidos de
acceso mutuamente e@lcusivo a un recrso de otros procesos Cada uno 8ace de
arbitro de sus propios recursos
-ste algoritmo 8ace cumplir la e@clusin mutua, es eDuitativo, evita el interbloDueo
+ la inanicin
;n proceso puede entrar a una secc cr.tica cuando?
o 8a+a recibido por parte de todos los demas nodos (nH#! un msg Due
garatniAa Due no 8a+ otro msg en camino (un Pedido anterior al del
pedido! Due Duiera accder a la cola
o 0odos los mensa3es del vector de pedidos se ordenan (+ son todos
posteriores al otro!
& tipos de mensa3es? Peticin, Respuesta, )iberacin
- Segunda versin ? pretende optimiAar la primera versin, eliminado los mensa3es
de )iberacin, con propagacin + respuestas
5Gtodo de paso del testigo (to6en!
0estigo? entidad Due un proceso retiene en un instante dado
-l proceso Due tiene el testigo, es el Due puede entrar en su seccin cr.tica sin pedir
permiso, cuando la abandona, pasa el testigo a otro proceso
- )a asignacin inicial del to6en es arbitraria
- Puede acceder si tiene el to6en, o sino di,unde un mensa3e de peticionN6O con una
marca de tiempo + espera 8asta recibir el testigo
- Cuando otro abandona la secc cr.tica + debe pasar el testigo, elige el proceso Due
tien peticinN6O M testigoN6O
Interblo9ueo distribuido
>os tipos de deadloc6? por asignacin de recursos o comunicacin de mensa3es
Puede aparecer el ,enmeno de ZinterbloDueo ,antasma[? ,alsas detecciones, no un
deadloc6 real, originado por la ,alta de un estado global
Pre!encin del deadlock
Eecesitan determinar por adelantado las necesidades de recursos?
- -l crculo +icioso de espera puede prevenirse de,iniendo una ordenacin lineal
de los tipos de recursos (desventa3a, podrian retenerse los recursos por mas
tiempo!
- )a condicin de retencin y espera puede prevenirse pidiendo a los procesos Due
todos los pedidos se concedan simultaneamente (no es e,iciente porDue se
podrian conceder los recursos por m:s tiempo Due el necesario!
5Gtodo esperarHmorir (Bait, die!? dados %pedidos, cada uno con su marca de tiempo
Se previene el circulo vicioso Si 0# tiene el recurso R, + 0% tiene marca m:s vie3a,
entonces se bloDuea o se mata )a m:s antigua tiene prioridad, una transaccin
matada revive con su tiempo original + tiene mas prioridad (por enve3ecimiento!
5Gtodo 8erirHesperar (Bound, Bait!? concede de inmediato los pedidos m:s antiguos,
matando las transacciones m:s 3ovenes Due estGn usando el recurso compartido
Prediccin
-s poco pr:cticaF PorDue 8abr.a Due guardar el estado global, inspeccionar un estado
global seguro reDuirir.a e@lcusin mutua, implica un proceso e@tra consdierable
Deteccin del deadlock
Control centraliAado
Simples + ,aciles de implemntar, un nodo centrar tiene toda la in,o
Sobrecarga de comunicaciones al nodo central
Vulnerable a ,allas del nodo central
Control 3er:rDuico
0ipo arbol Eo vulnerable a,allas en un solo punto
)imitado si los deadloc6s se concentran (localiAados!
Clguna sobrecarga, d,icil de con,igurar el sistema
Control distribuido
Eo vulnerable a ,allos en un solo punto
Eingun nodo sobrecargado
Resolucin complicada, algoritmo di,icil de disear
>eadloc6 en la comunicacin de mensa3es
- -spera mutua
- Eo disponibilidad de bu,,ers de mensa3es
Seguridad
CmenaAas
- Con,idencialidad (secreto! HM interceptacin
- 'ntegridad HM modi,icacin
- >isponibilidad HM interrupcin
- Cutenticidad HM invencin
Controles de acceso?
- Orientados al usuario
- Orientados a los datos
Proteccin?
- Ci,rado unidireccional
- Control de acceso
So,tBare maligno
7ac6doors, 7omba lgica, Caballos de tro+a, Virus (par:sitos, residentes en memoria,
del boot sector, clandestinos, polimor,os!, gusanos

También podría gustarte