SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
Facultad de Sistemas y Telecomunicaciones
SISTEMAS OPERATIVOS
Problemas Basicos De Comunicación
El Algoritmo Del Banquero
Diana Tigrero (1)
, Andrea Vargas (2)
, Wilson Mazzini (3)
, Alex Acosta (4)
.
La Libertad – Ecuador
dianagonzalez20_t@hotmail.com (1)
, morelia.222@hotmail.com (2)
,
wilsonjavier99@outlook.es (3)
, xelax_2121@hotmail.com (4)
.
Resumen
La realización de este trabajo fue con el objetivo de recolectar información
sobre problemas básicos de comunicación basados mediante la solución del
algoritmo del banquero propuesto por Edsger Dijkstra para resolver
inconvenientes de gestión de recursos de los sistemas operativos.
BIOGRAFÍA EDSGER DIJKSTRA
“Nació el 11 de mayo de 1930 en
Rotterdam.” (Karen, 2011).
Estudios:
Estudio física teórica en la Universidad
de Leiden. Trabajó como investigador
para Burroughs Corporation a
principios de los años 1970. En la
Universidad de Texas en Austin
Estados Unidos, ocupó el
Schlumberger Centennial Chair in
Computer Sciences y se retiró en
2000.
Contribuciones:
En la informática está la solución del
problema del camino más corto,
también conocido como el algoritmo de
Dijkstra, la notación poloca inversa y lo
relacionado algoritmo shuting yard, the
multiprogramming system, el algoritmo
del banquero y la construcción del
semáforo para coordinar múltiples
procesadores y programas.
El algoritmo de Dijkstra es usado en la
ruta más corta primero (SPF) que es
usado en el protocolo de enrutamiento
open shortest path first (OSPF).
Desde los años 1970, el principal
interés de Dijkstra fue la verificación
formal. La opinión que prevalecía
entonces era que uno debe primero
escribir un programa y seguidamente
proporcionar una prueba matemática
de su corrección. Dijkstra objetó que
las pruebas que resultan son largas e
incómodas, y que la prueba no da
ninguna compresión de cómo se
desarrolló el programa.
Muchos de los últimos trabajos de
Dijkstra tratan sobre las maneras de
hacer fluida la argumentación
matemática.
Dijkstra murió el 6 de agosto de
2002 después de una larga lucha
contra el cáncer.
INTRODUCCIÓN
El Algoritmo del banquero, en sistemas
operativos es una forma de evitar el
interbloqueo, propuesta por primera
vez por Edsger Dijkstra. Es un
acercamiento teórico para evitar los
interbloqueos en la planificación de
recursos. Requiere conocer con
anticipación los recursos que serán
utilizados por todos los procesos. Esto
último generalmente no puede ser
satisfecho en la práctica.
”Este algoritmo usualmente es
explicado usando la analogía con el
funcionamiento de un banco. Los
clientes representan a los procesos,
que tienen un crédito límite, y el dinero
representa a los recursos. El banquero
es el sistema operativo.” (Alvarez
Izaguirre, 2013)
El banco confía en que no tendrá que
permitir a todos sus clientes la
utilización de todo su crédito a la vez.
El banco también asume que si un
cliente maximiza su crédito será capaz
de terminar sus negocios y devolver el
dinero a la entidad, permitiendo servir
a otros clientes.
Según (Alvarez Izaguirre, 2013) en su
blog expone que el algoritmo mantiene
al sistema en un estado seguro. Un
sistema se encuentra en un estado
seguro si existe un orden en que
pueden concederse las peticiones de
recursos a todos los procesos,
previniendo el interbloqueo. El
algoritmo del banquero funciona
encontrando estados de este tipo.
Los procesos piden recursos, y son
complacidos siempre y cuando el
sistema se mantenga en un estado
seguro después de la concesión. De lo
contrario, el proceso es suspendido
hasta que otro proceso libere recursos
suficientes.
Estructuras y complejidad
Se deben utilizar cuatro estructuras de
datos para implementar el algoritmo
del banquero. Estas codifican el
estado del sistema de asignación de
recursos. Sea n, el número de
procesos del sistema, m el número de
tipos de recursos. Se necesita:
 Recursos (Available, disponible):
Un vectores de longitud m que
mantiene la cantidad total de
recursos, de cada tipo, que pueden
ser utilizados por los procesos. De
esta forma, Recursos[i] = k significa
que hay una cantidad total k de
recursos tipo disponibles.
 Demanda (Max): Esta matriz, n x
m, guarda las cantidades máximas
de recursos de cada tipo que
pueden ser demandadas por cada
proceso. Si Max[i] [j]=k, el proceso
i, puede solicitar, como máximo k
instancias del recurso j.
 Asignación (allocation): En esta
matriz, n x m, número de recursos
de cada tipo actualmente
asignados a cada proceso.
Asignación[i] [j] = k significa que el
proceso i tiene asignado k
unidades del recurso j.
 Necesidad (need): Una matriz, n x
m, que indica la necesidad restante
de recursos de cada proceso. Si
Necesidad[i] [j] = k, entonces el
proceso i puede necesitar k
instancias del tipo de recurso j.
Observe que Necesidad[i] [j] =
Max[i] [j] - Asignación[i] [j].
En términos de complejidad, el
algoritmo del banquero es de orden O
(n2
× m), donde n es el número de
procesos y m la cantidad de recursos.
Algoritmo del banquero.
El uso de este tipo de algoritmo
permite impedir el interbloqueo, pero
supone una serie de restricciones:
 Los procesos deben ser
independientes, es decir que
puedan ser ejecutados en
cualquier orden. Por lo tanto su
ejecución no debe estar forzada
por condiciones de sincronización.
 Debe haber un número fijo de
recursos a utilizar y un número fijo
de procesos.
 Los procesos no pueden finalizar
mientras retengan recursos.
Ventajas del algoritmo del banquero
según (Beiker, 2015):
 No es necesario expulsar y
hacer retroceder procesos como
en la detección del interbloqueo.
 Es menos restrictivo que la
prevención.
Desventajas (Beiker, 2015):
 Se debe conocer la máxima
demanda de recursos por
anticipado.
 La ejecución de los recursos no
debe estar forzada por la
sincronización.
 Se tiene un número fijo de
procesos y recursos.
 Los procesos no finalizan
mientras retengan recursos.
 Requiere que los procesos
salden sus préstamos en un
tiempo finito.
Debilidades del Algoritmo Del
Banquero
 Requiere que exista un número
fijo de recursos asignables, pero
generalmente no se puede
contar con que el número de
recursos se mantenga siempre
constante.
 Requiere que la población de
usuarios se mantenga
constante, lo cual es
irrazonable.
 Requiere que el S. O. garantice
que todas las peticiones serán
concedidas en un tiempo finito,
pero en la realidad se requieren
mayores garantías.
 Requiere que los procesos
reintegren los recursos en un
tiempo finito, pero en la realidad
se requieren mayores garantías.
 Requiere que los procesos
indiquen sus necesidades
máximas de recursos por
adelantado, lo cual
generalmente no ocurre.
 Generalmente no es utilizado en
S. O. reales.
A continuación se presenta un
ejemplo:
Utilizando el algoritmo del banquero
resuelva el siguiente problema,
indicando el orden en que los procesos
pasan a ser estados seguros evitando
el problema del interbloqueo.
Lista de procesos: P1-P3-P4-P0 ó P2
A la derecha se tienen 5
procesos, cada uno tiene recursos de
tipo A, B y C. En la primera columna
de asignados está la cantidad de
recursos que el proceso ha obtenido a
lo largo de un tiempo; en la segunda
columna de Máximo Necesario, están
los recursos que tiene que obtener de
cada tipo para comenzar a ser
ejecutado. Por ejemplo, el P0 no ha
obtenido ningún recurso del tipo A,
sólo 1 del tipo B y ninguno del tipo C, y
necesita para ejecutarse haber
conseguido 7 del A, 5 del B y 3 del C.
En la última columna se tienen los
recursos disponibles que da el
sistema, los que se pueden utilizar con
todos los procesos. Hay 3 del A, 3 del
B y 2 del C.
El algoritmo del banquero trata de
asegurar qué proceso tiene un “estado
seguro” es decir, se requiere alcanzar.
el máximo requerido entre los que
estén en Asignados y los que se
encuentren en Disponibles.
Ejemplo: El proceso 0 no está en
estado seguro. Si se suman Asignados
+ Disponibles para cada uno de los
recursos A, B y C, realmente no se
alcanzan los Máximos Requeridos.
Entonces se va al proceso 1 y se trata
de hacer lo mismo, sumar Asignados +
Disponibles. Allí sí se tiene un
ESTADO SEGURO, A con 5, B con 3 y
C con 2, y como se alcanza a llenar los
Máximos, ese proceso se ejecuta.
Una vez que el proceso se ejecutó,
entonces se procede a SUMAR los
recursos asignados del proceso
anterior a los disponibles. Hay que
recordar que el proceso al terminar de
ejecutarse libera todos sus recursos,
por lo tanto pasan tanto los de tipo A,
B y C a sumarse con los disponibles 3-
3-2 y se tendrán nuevos
DISPONIBLES que repartir, siendo
ahora éstos 5-3-2.
Con estos se pasa al proceso P2 y así
sucesivamente.
Imagen de comprobación del algoritmo del banquero en modo seguro.
Conclusión
 Comprender como funciona el
algoritmo del Banquero, como
trabaja el CPU al momento de
realizar una serie de procesos
que el usuario requiere.
 El algoritmo del banquero en
ciertas condiciones (exclusión
mutua y recursos limitados)
puede ser de gran utilidad, en
condiciones donde las
desventajas de este algoritmo
pasen desapercibidas o sean
minimizadas, el proceso de
asignación de recursos seria
óptimo.
 El algoritmo del banquero
detecta posibles interbloqueos a
través del algoritmo de
seguridad que utiliza.
Bibliografía
A. S. Tanenbaum. (1996). Sistemas Operativos
(2da ed.). MÉXICO: Prentice Hall
Hispanoamericana.
Alvarez Izaguirre, C. (2 de Maerzo de 2013).
Algoritmo del Banquero. Recuperado
el 11 de Noviembre de 2015, de
http://carlosrobertoalvarezizaguirre.bl
ogspot.com/2013/03/algoritmo-del-
banquero.html
Beiker, J. (28 de Abril de 2015). Prezi.
Recuperado el 11 de Noviembre de
2015, de
https://prezi.com/gd0vhrhxcege/algor
itmo-del-banquero/
Deitel, H. M. (1993). Sistemas Operativos (2da
ed.). BOSTON: Addison-Wesley.
JIMENEZ BARRAGAN, A. (11 de Octubre de
2012). SISTEMAS OPERATIVOS.
Recuperado el 11 de Noviembre de
2015, de http://sistemas-
operativos.blogspot.mx/2012/10/algo
ritmo-del-banquero.html
Milenkovic M. (1994). Sistemas Operativos:
Conceptos y Diseño (2da ed.).
MADRID: McGraw-Hill.
Sánchez Torrubia, G., & Lozano Terrazas, V.
(s.f.). Algoritmo de Dijkstra: Un
Tutorial Interactivo. Recuperado el 11
de Noviembre de 2015, de
http://bioinfo.uib.es/~joemiro/aenui/
procJenui/ProcWeb/actas2001/saalg2
23.pdf
Stallings, W. (1993). Computer Organization
and Architecture (3era ed.). NEW
YORK: Macmillan.

Más contenido relacionado

Destacado (20)

Planificacion cpu
Planificacion cpuPlanificacion cpu
Planificacion cpu
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
RSS
RSSRSS
RSS
 
Portafolio unidad 4 mercadotecnia electronica
Portafolio unidad 4 mercadotecnia electronicaPortafolio unidad 4 mercadotecnia electronica
Portafolio unidad 4 mercadotecnia electronica
 
La carta
La cartaLa carta
La carta
 
REGRESO AL FUTURO
REGRESO AL FUTUROREGRESO AL FUTURO
REGRESO AL FUTURO
 
Conceptos fundamentales de redes
Conceptos fundamentales de redesConceptos fundamentales de redes
Conceptos fundamentales de redes
 
Tecnicas comunicacion
Tecnicas comunicacionTecnicas comunicacion
Tecnicas comunicacion
 
Pablo y raul
Pablo y raulPablo y raul
Pablo y raul
 
Presentacionparaelmiercoles 150826163505-lva1-app6892
Presentacionparaelmiercoles 150826163505-lva1-app6892Presentacionparaelmiercoles 150826163505-lva1-app6892
Presentacionparaelmiercoles 150826163505-lva1-app6892
 
Presentació power point itinerari 2 xarxes locals
Presentació power point itinerari 2 xarxes localsPresentació power point itinerari 2 xarxes locals
Presentació power point itinerari 2 xarxes locals
 
Informatica
InformaticaInformatica
Informatica
 
RSS
RSSRSS
RSS
 
Los alimentos y dietas
Los alimentos y dietasLos alimentos y dietas
Los alimentos y dietas
 
Psicologia general
Psicologia generalPsicologia general
Psicologia general
 
Primera parte estatutorentas
Primera parte estatutorentasPrimera parte estatutorentas
Primera parte estatutorentas
 
PAQUETES ADMINISTRATIVOS ACTUALES
PAQUETES ADMINISTRATIVOS ACTUALESPAQUETES ADMINISTRATIVOS ACTUALES
PAQUETES ADMINISTRATIVOS ACTUALES
 
Presentación1
Presentación1Presentación1
Presentación1
 
Institucion educativa sagrados corazones
Institucion educativa sagrados corazonesInstitucion educativa sagrados corazones
Institucion educativa sagrados corazones
 
El croquis 114 - njiric + njiric arhitekti - 1997 - 2003
El croquis   114 - njiric + njiric arhitekti - 1997 - 2003El croquis   114 - njiric + njiric arhitekti - 1997 - 2003
El croquis 114 - njiric + njiric arhitekti - 1997 - 2003
 

Similar a Problemas basicos de comunicación

Bloqueos mutuos
Bloqueos mutuosBloqueos mutuos
Bloqueos mutuosozkar21
 
2° unidad sistemas operativos
2° unidad sistemas operativos2° unidad sistemas operativos
2° unidad sistemas operativosCrisel777
 
Maria capuzzo blogdigital
Maria capuzzo blogdigitalMaria capuzzo blogdigital
Maria capuzzo blogdigitalMariaCapuzzo
 
Resumen maria de los angeles
Resumen maria de los angelesResumen maria de los angeles
Resumen maria de los angelesjcezarv
 
Interbloqueo
InterbloqueoInterbloqueo
Interbloqueopadivi
 
Taller interbloqueo
Taller interbloqueo Taller interbloqueo
Taller interbloqueo Vero Mateus
 
Ciclo de Vida y Diseño de Sistemas de Informacion
Ciclo de Vida y Diseño de Sistemas de InformacionCiclo de Vida y Diseño de Sistemas de Informacion
Ciclo de Vida y Diseño de Sistemas de InformacionJonathanCarrillo46
 
Establecimiento de niveles de riesgo de las politicas de seguridad
Establecimiento de niveles de riesgo de las politicas de seguridadEstablecimiento de niveles de riesgo de las politicas de seguridad
Establecimiento de niveles de riesgo de las politicas de seguridadYESENIA CETINA
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorFernando Camacho
 
Niveles de riesgo, narcisa
Niveles de riesgo, narcisaNiveles de riesgo, narcisa
Niveles de riesgo, narcisanino1527
 
U7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOSU7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOSLuiS YmAY
 
Ciclo de vida de un proyecto de software
Ciclo de vida de un proyecto de softwareCiclo de vida de un proyecto de software
Ciclo de vida de un proyecto de softwareErick Velasco
 

Similar a Problemas basicos de comunicación (20)

Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Op
OpOp
Op
 
Bloqueos _
Bloqueos _Bloqueos _
Bloqueos _
 
Alcides diaz
Alcides diazAlcides diaz
Alcides diaz
 
Bloqueos mutuos
Bloqueos mutuosBloqueos mutuos
Bloqueos mutuos
 
2° unidad sistemas operativos
2° unidad sistemas operativos2° unidad sistemas operativos
2° unidad sistemas operativos
 
Maria capuzzo blogdigital
Maria capuzzo blogdigitalMaria capuzzo blogdigital
Maria capuzzo blogdigital
 
Resumen maria de los angeles
Resumen maria de los angelesResumen maria de los angeles
Resumen maria de los angeles
 
Interbloqueo
InterbloqueoInterbloqueo
Interbloqueo
 
Taller interbloqueo
Taller interbloqueo Taller interbloqueo
Taller interbloqueo
 
Ciclo de vida sistema de inf.
Ciclo de vida   sistema de inf.Ciclo de vida   sistema de inf.
Ciclo de vida sistema de inf.
 
El estudio de factibilidad
El estudio de factibilidadEl estudio de factibilidad
El estudio de factibilidad
 
UNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADORUNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADOR
 
Ciclo de Vida y Diseño de Sistemas de Informacion
Ciclo de Vida y Diseño de Sistemas de InformacionCiclo de Vida y Diseño de Sistemas de Informacion
Ciclo de Vida y Diseño de Sistemas de Informacion
 
Establecimiento de niveles de riesgo de las politicas de seguridad
Establecimiento de niveles de riesgo de las politicas de seguridadEstablecimiento de niveles de riesgo de las politicas de seguridad
Establecimiento de niveles de riesgo de las politicas de seguridad
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Niveles de riesgo, narcisa
Niveles de riesgo, narcisaNiveles de riesgo, narcisa
Niveles de riesgo, narcisa
 
Funciones de un SO
Funciones de un SOFunciones de un SO
Funciones de un SO
 
U7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOSU7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOS
 
Ciclo de vida de un proyecto de software
Ciclo de vida de un proyecto de softwareCiclo de vida de un proyecto de software
Ciclo de vida de un proyecto de software
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (15)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Problemas basicos de comunicación

  • 1. UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA Facultad de Sistemas y Telecomunicaciones SISTEMAS OPERATIVOS Problemas Basicos De Comunicación El Algoritmo Del Banquero Diana Tigrero (1) , Andrea Vargas (2) , Wilson Mazzini (3) , Alex Acosta (4) . La Libertad – Ecuador dianagonzalez20_t@hotmail.com (1) , morelia.222@hotmail.com (2) , wilsonjavier99@outlook.es (3) , xelax_2121@hotmail.com (4) . Resumen La realización de este trabajo fue con el objetivo de recolectar información sobre problemas básicos de comunicación basados mediante la solución del algoritmo del banquero propuesto por Edsger Dijkstra para resolver inconvenientes de gestión de recursos de los sistemas operativos.
  • 2. BIOGRAFÍA EDSGER DIJKSTRA “Nació el 11 de mayo de 1930 en Rotterdam.” (Karen, 2011). Estudios: Estudio física teórica en la Universidad de Leiden. Trabajó como investigador para Burroughs Corporation a principios de los años 1970. En la Universidad de Texas en Austin Estados Unidos, ocupó el Schlumberger Centennial Chair in Computer Sciences y se retiró en 2000. Contribuciones: En la informática está la solución del problema del camino más corto, también conocido como el algoritmo de Dijkstra, la notación poloca inversa y lo relacionado algoritmo shuting yard, the multiprogramming system, el algoritmo del banquero y la construcción del semáforo para coordinar múltiples procesadores y programas. El algoritmo de Dijkstra es usado en la ruta más corta primero (SPF) que es usado en el protocolo de enrutamiento open shortest path first (OSPF). Desde los años 1970, el principal interés de Dijkstra fue la verificación formal. La opinión que prevalecía entonces era que uno debe primero escribir un programa y seguidamente proporcionar una prueba matemática de su corrección. Dijkstra objetó que las pruebas que resultan son largas e incómodas, y que la prueba no da ninguna compresión de cómo se desarrolló el programa. Muchos de los últimos trabajos de Dijkstra tratan sobre las maneras de hacer fluida la argumentación matemática. Dijkstra murió el 6 de agosto de 2002 después de una larga lucha contra el cáncer. INTRODUCCIÓN El Algoritmo del banquero, en sistemas operativos es una forma de evitar el interbloqueo, propuesta por primera vez por Edsger Dijkstra. Es un acercamiento teórico para evitar los interbloqueos en la planificación de recursos. Requiere conocer con anticipación los recursos que serán
  • 3. utilizados por todos los procesos. Esto último generalmente no puede ser satisfecho en la práctica. ”Este algoritmo usualmente es explicado usando la analogía con el funcionamiento de un banco. Los clientes representan a los procesos, que tienen un crédito límite, y el dinero representa a los recursos. El banquero es el sistema operativo.” (Alvarez Izaguirre, 2013) El banco confía en que no tendrá que permitir a todos sus clientes la utilización de todo su crédito a la vez. El banco también asume que si un cliente maximiza su crédito será capaz de terminar sus negocios y devolver el dinero a la entidad, permitiendo servir a otros clientes. Según (Alvarez Izaguirre, 2013) en su blog expone que el algoritmo mantiene al sistema en un estado seguro. Un sistema se encuentra en un estado seguro si existe un orden en que pueden concederse las peticiones de recursos a todos los procesos, previniendo el interbloqueo. El algoritmo del banquero funciona encontrando estados de este tipo. Los procesos piden recursos, y son complacidos siempre y cuando el sistema se mantenga en un estado seguro después de la concesión. De lo contrario, el proceso es suspendido hasta que otro proceso libere recursos suficientes. Estructuras y complejidad Se deben utilizar cuatro estructuras de datos para implementar el algoritmo del banquero. Estas codifican el estado del sistema de asignación de recursos. Sea n, el número de procesos del sistema, m el número de tipos de recursos. Se necesita:  Recursos (Available, disponible): Un vectores de longitud m que mantiene la cantidad total de recursos, de cada tipo, que pueden ser utilizados por los procesos. De esta forma, Recursos[i] = k significa que hay una cantidad total k de recursos tipo disponibles.  Demanda (Max): Esta matriz, n x m, guarda las cantidades máximas de recursos de cada tipo que pueden ser demandadas por cada proceso. Si Max[i] [j]=k, el proceso i, puede solicitar, como máximo k instancias del recurso j.  Asignación (allocation): En esta matriz, n x m, número de recursos de cada tipo actualmente asignados a cada proceso.
  • 4. Asignación[i] [j] = k significa que el proceso i tiene asignado k unidades del recurso j.  Necesidad (need): Una matriz, n x m, que indica la necesidad restante de recursos de cada proceso. Si Necesidad[i] [j] = k, entonces el proceso i puede necesitar k instancias del tipo de recurso j. Observe que Necesidad[i] [j] = Max[i] [j] - Asignación[i] [j]. En términos de complejidad, el algoritmo del banquero es de orden O (n2 × m), donde n es el número de procesos y m la cantidad de recursos. Algoritmo del banquero. El uso de este tipo de algoritmo permite impedir el interbloqueo, pero supone una serie de restricciones:  Los procesos deben ser independientes, es decir que puedan ser ejecutados en cualquier orden. Por lo tanto su ejecución no debe estar forzada por condiciones de sincronización.  Debe haber un número fijo de recursos a utilizar y un número fijo de procesos.  Los procesos no pueden finalizar mientras retengan recursos. Ventajas del algoritmo del banquero según (Beiker, 2015):  No es necesario expulsar y hacer retroceder procesos como en la detección del interbloqueo.  Es menos restrictivo que la prevención. Desventajas (Beiker, 2015):  Se debe conocer la máxima demanda de recursos por anticipado.  La ejecución de los recursos no debe estar forzada por la sincronización.  Se tiene un número fijo de procesos y recursos.  Los procesos no finalizan mientras retengan recursos.  Requiere que los procesos salden sus préstamos en un tiempo finito. Debilidades del Algoritmo Del Banquero  Requiere que exista un número fijo de recursos asignables, pero
  • 5. generalmente no se puede contar con que el número de recursos se mantenga siempre constante.  Requiere que la población de usuarios se mantenga constante, lo cual es irrazonable.  Requiere que el S. O. garantice que todas las peticiones serán concedidas en un tiempo finito, pero en la realidad se requieren mayores garantías.  Requiere que los procesos reintegren los recursos en un tiempo finito, pero en la realidad se requieren mayores garantías.  Requiere que los procesos indiquen sus necesidades máximas de recursos por adelantado, lo cual generalmente no ocurre.  Generalmente no es utilizado en S. O. reales. A continuación se presenta un ejemplo: Utilizando el algoritmo del banquero resuelva el siguiente problema, indicando el orden en que los procesos pasan a ser estados seguros evitando el problema del interbloqueo. Lista de procesos: P1-P3-P4-P0 ó P2 A la derecha se tienen 5 procesos, cada uno tiene recursos de tipo A, B y C. En la primera columna de asignados está la cantidad de recursos que el proceso ha obtenido a lo largo de un tiempo; en la segunda columna de Máximo Necesario, están los recursos que tiene que obtener de cada tipo para comenzar a ser ejecutado. Por ejemplo, el P0 no ha obtenido ningún recurso del tipo A, sólo 1 del tipo B y ninguno del tipo C, y necesita para ejecutarse haber conseguido 7 del A, 5 del B y 3 del C. En la última columna se tienen los recursos disponibles que da el sistema, los que se pueden utilizar con todos los procesos. Hay 3 del A, 3 del B y 2 del C. El algoritmo del banquero trata de asegurar qué proceso tiene un “estado seguro” es decir, se requiere alcanzar. el máximo requerido entre los que estén en Asignados y los que se encuentren en Disponibles. Ejemplo: El proceso 0 no está en estado seguro. Si se suman Asignados + Disponibles para cada uno de los
  • 6. recursos A, B y C, realmente no se alcanzan los Máximos Requeridos. Entonces se va al proceso 1 y se trata de hacer lo mismo, sumar Asignados + Disponibles. Allí sí se tiene un ESTADO SEGURO, A con 5, B con 3 y C con 2, y como se alcanza a llenar los Máximos, ese proceso se ejecuta. Una vez que el proceso se ejecutó, entonces se procede a SUMAR los recursos asignados del proceso anterior a los disponibles. Hay que recordar que el proceso al terminar de ejecutarse libera todos sus recursos, por lo tanto pasan tanto los de tipo A, B y C a sumarse con los disponibles 3- 3-2 y se tendrán nuevos DISPONIBLES que repartir, siendo ahora éstos 5-3-2. Con estos se pasa al proceso P2 y así sucesivamente. Imagen de comprobación del algoritmo del banquero en modo seguro.
  • 7. Conclusión  Comprender como funciona el algoritmo del Banquero, como trabaja el CPU al momento de realizar una serie de procesos que el usuario requiere.  El algoritmo del banquero en ciertas condiciones (exclusión mutua y recursos limitados) puede ser de gran utilidad, en condiciones donde las desventajas de este algoritmo pasen desapercibidas o sean minimizadas, el proceso de asignación de recursos seria óptimo.  El algoritmo del banquero detecta posibles interbloqueos a través del algoritmo de seguridad que utiliza. Bibliografía A. S. Tanenbaum. (1996). Sistemas Operativos (2da ed.). MÉXICO: Prentice Hall Hispanoamericana. Alvarez Izaguirre, C. (2 de Maerzo de 2013). Algoritmo del Banquero. Recuperado el 11 de Noviembre de 2015, de http://carlosrobertoalvarezizaguirre.bl ogspot.com/2013/03/algoritmo-del- banquero.html Beiker, J. (28 de Abril de 2015). Prezi. Recuperado el 11 de Noviembre de 2015, de https://prezi.com/gd0vhrhxcege/algor itmo-del-banquero/ Deitel, H. M. (1993). Sistemas Operativos (2da ed.). BOSTON: Addison-Wesley. JIMENEZ BARRAGAN, A. (11 de Octubre de 2012). SISTEMAS OPERATIVOS. Recuperado el 11 de Noviembre de 2015, de http://sistemas- operativos.blogspot.mx/2012/10/algo ritmo-del-banquero.html Milenkovic M. (1994). Sistemas Operativos: Conceptos y Diseño (2da ed.). MADRID: McGraw-Hill. Sánchez Torrubia, G., & Lozano Terrazas, V. (s.f.). Algoritmo de Dijkstra: Un Tutorial Interactivo. Recuperado el 11 de Noviembre de 2015, de http://bioinfo.uib.es/~joemiro/aenui/ procJenui/ProcWeb/actas2001/saalg2 23.pdf Stallings, W. (1993). Computer Organization and Architecture (3era ed.). NEW YORK: Macmillan.