SlideShare una empresa de Scribd logo
1 de 5
INSTITUTO TECNOLOGICO DE TEPIC
DEPARTAMENTO DE SISTEMAS Y COMPUTACION
INGENIERIA EN SISTEMAS COMPUTACIONALES A DISTANCIA
SISTEMAS OPERATIVOS
UNIDAD 2 CUESTIONARIO COMUNICACIÓN ENTRE PROCESOS
NOMBRE: Macias Urzua Delia M.
NO.CONTROL: 15401201
1. Bajo un ejemplocotidiano explique enque consiste la condiciónde carrera.
El usuario A quiere hacer un depósito. El B unretiro. El usuarioA comienza la transacciónylee susaldo que es
1000. En ese momentopierde suturnode ejecución (ysusaldo queda como1000) yel usuarioB inicia el retiro:
lee el saldo que es 1000, retira 200 yalmacena el nuevosaldoque es 800 ytermina. El turnode ejecución
regresa al usuario A el cualhace sudepósitode 100, quedando saldo= saldo+ 100 = 1000 + 100 = 1100. Como
se ve, el retirose perdióyesole encanta al usuario A yB, pero al banquero nole convinoesta transacción. El
error pudo ser al revés, quedandoel saldofinal en800.
2. ¿Cómo evita el sistema operativola condiciónde carrera?
Buscandola manera de prohibir que más de unproceso lea yescriba los datos compartidos al mismo tiempo.
3. ¿En qué consiste la Exclusiónmutua?
Se encarga de asegurar que, siunprocesoestá utilizandouna variable o archivo compartido, los demás procesos
se excluirán de hacer lo mismo. Cuando un proceso está ocupado actualizando la memoria compartida en su
regióncrítica, ningún otro procesopuede entrar a suregióncrítica yocasionar problemas. Evita el ingresoa sus
secciones críticas por más de un procesoa la vez.
4. Cuandoexiste procesamiento en paralelo, la condiciónde carrera no puede ser solucionada solamente conla
regióncritica, se requieren cumplir cuatro condicionesylograr una buena solución. ¿Cuáles Sonestas?
Aunque este requerimientoevita lascondiciones de carrera, noes suficiente para que los procesos en paralelocooperen
de la manera correcta yeficiente al utilizar datos compartidos. Necesitamos cumplir con cuatrocondiciones para tener
una buena solución:
 No puede haber dos procesos de manera simultánea dentro de sus regiones críticas.
 No puedenhacerse suposiciones acerca de las velocidades o el número de CPUs.
 Ningúnproceso que se ejecute fuera de su región crítica puede bloquear otros procesos.
 Ningúnproceso tiene que esperar para siempre para entrar a suregióncrítica.
5. Explique o describa loque sucede enla figura 2-22.
El procesoA entra a suregióncrítica luegoel B intenta entrar a suregión perose bloquea yen el momento en
que termina el procesoA entra a su región crítica ydespués de un determinado tiemposale.
6. ¿Que sonlas variablescandado?
Es un métododistintopara resolver el problema de la condición de carrera a través de un software. Una
variable de candadoes una sola variable compartida. Cuando unproceso desea entrar a suregióncrítica
primeroevalúa el candado. Si este candadoes 0, el procesolofija en 1 yentra a la regióncrítica. Si el candado
ya es 1 sóloespera hasta que el candadose haga 0. Por ende, un 0 significa que ningúnprocesoestá ensu
regióncrítica yun 1 significa que algún procesoestá en suregióncrítica.
7. ¿Qué es la espera ocupada?
Acción de evaluar enforma continua una variable hasta que aparezca cierto valor se le conoce como espera
ocupada. Por logeneralse debe evitar, ya que desperdicia tiempo de la CPU. La espera ocupada sólose utiliza
cuandohayuna expectativa razonable de que la espera será corta.
8. ¿En qué consiste la soluciónde Peterson para lograr la exclusiónmutua?
Es un algoritmode programaciónconcurrente para exclusiónmutua, que permite a dos o más procesos o hilos
de ejecución compartir un recursosinconflictos, utilizandosólomemoria compartida para la comunicación.
Esta solución brinda una solución al problema de la exclusión mutua a través de una combinaciónde la ideade
tomar turnos con la ideade las variables de candadoylas variables de advertencia, creado por el matemático
holandésT. Dekker. Es unalgoritmo de programación concurrente, que permite a dos o másprocesos ohilos de
ejecución compartir un recursosinconflictos, utilizandosólomemoria compartida para la comunicación.
Antes de utilizar lasvariables compartidas, cada procesollama a entrar_region consu propio número de proceso
(0 o 1) como parámetro. Esta llamada hará que espere, si es necesario, hasta que sea seguro entrar. Una vez
que haya terminado conlas variables compartidas, el procesollama a salir_regionpara indicar que ha terminado
y permitir que los demás procesos entren, si así lodesea.
Los procesos p0 yp1 no puedenestar enla seccióncrítica al mismo tiempo:si p0 está enla seccióncrítica,
entonces bandera [0] = true, yocurre que bandera [1] = false, conloque p1 ha terminadola sección crítica, o
que la variable compartida turno= 0, con lo que p1 está esperandopara entrar a la seccióncrítica. En ambos
casos, p1 nopuede estar enla seccióncrítica.
9. Cuandose trabaja La InstrucciónTSL se deshabilitan interrupcioneso se bloquea el bus de memoria?
Bloquear el bus de memoria es una acción muy distinta de la de deshabilitar las interrupciones. Al deshabilitar las
interrupciones ydespués realizar una operaciónde lectura enuna palabra de memoria, seguida de una operación de
escritura, nose evita que unsegundoprocesador enel bus acceda a la palabra entre la lectura yla escritura.
10. ¿En que consiste el problema del productor consumidor?
El programa describe dos procesos, productor yconsumidor, ambos comparten un buffer de tamañofinito. La
tarea delproductor es generar un producto, almacenarloycomenzar nuevamente;mientras que el
consumidor toma (simultáneamente) productos unoa uno. El problema consiste enque el productor no añada
más productos que la capacidad delbuffer yque el consumidor nointente tomar unproducto si el buffer está
vacío.
La idea para la solución es la siguiente, ambos productos se ejecutansimultáneamente yse “despiertan” o
“duermen” segúnel estado delbuffer. Concretamente, el productor agrega productos mientras quede espacio
y en el momento en que se llene el buffer se pone a “dormir”. Cuandoel consumidor toma un producto
notifica al productor que puede comenzar a trabajar nuevamente. Encasocontrario si el buffer se vacía, el
consumidor se pone a dormir yen el momentoenque el productor agrega unproductocrea una señal para
despertarlo. Se puede encontrar una solución usandomecanismos de comunicación interprocesos,
generalmente se usan semáforos. Una inadecuada implementacióndel problema puede terminar en
un deadlockdonde ambos procesos quedenenespera de ser despertados. Este problema pude ser
generalizadopara múltiples consumidores yproductores.
11. ¿Qué es Mutexesy/o como funciona?
Los mutexes son buenos sólo para administrar la exclusión mutua para cierto recurso compartido o pieza de
código. Se implementan con facilidad y eficiencia, lo cual hace que sean especialmente útiles en paquetes de
hilos que se implementanen su totalidad enespaciode usuario. Un mutex es una variable que puede estar en
uno de dos estados:abierto (desbloqueado) ocerrado (bloqueado). Enconsecuencia, se requiere sólo1 bit para
representarla, peroenla práctica se utiliza confrecuencia unentero, endonde 0 indica que está abiertoytodos
los demás valores indicanque está cerrado. Se utilizan dos procedimientos conlos mutexes. Cuandounhilo (o
proceso) necesita acceso a una región crítica, llama a mutex_lock. Si el mutex está actualmente abierto(loque
significa que la regióncrítica está disponible), la llamada tiene éxito yentonces el hilollamador puede entrar a
la regióncrítica.
Por otro lado, si el mutex ya se encuentra cerrado, el hilo que hizola llamada se bloquea hasta que el hiloque
está enla región crítica termine yllame a mutex_unlock. Si se bloqueanvarios hilos por el mutex, se selecciona
uno de ellos al azar y se permite que adquiera el mutex. Como los mutexes son tan simples, se pueden
implementar confacilidaden espacio de usuario, siempre ycuandohaya una instrucciónTSL oXCHG disponible.
12. ¿Qué es Pthreads y/o como funciona?
Pthreads proporciona variasfuncionesque se puedenutilizar para sincronizar los hilos. El mecanismo básicoutiliza
una variable mutex, cerrada o abierta, para resguardar cada regióncrítica. Unhiloque desea entrar a una región
crítica primero trata de cerrar el mutex asociado. Si el mutex está abierto, el hilopuede entrar de inmediatoyel
bloqueose establece enforma automática, evitando que otros hilos entren;si el mutex ya se encuentra cerrado, el
hiloque hizola llamada se bloquea hasta que el mutex esté abierto. Si hayvarios hilos esperandoel mismomutex,
cuandoestá abiertosólouno de ellos podrá continuar yvolver a cerrarlo.
13. ¿Las variablesde condiciónsonun mecanismode sincronización?
Si, ya que los procesos que entrantienenque ser condicionados para que funcionen de marera responsable y
cumplancon suobjetivo.
14. Como se resuelve el problema del productor-consumidor mediante el usode semáforos?
Se implementan llamadas al sistema (up ydown), endonde el sistema operativo deshabilita brevemente todas
las interrupciones, mientras evalúa el semáforo, loactualiza ypone el procesoa dormir, si es necesario. Como
todas estas acciones requierensólo unas cuantasinstrucciones, nohaypeligro aldeshabilitar las interrupciones.
Si se utilizanvarias CPUs, cada semáforo debe estar protegido por una variable de candado, endonde se utilicen
las instruccionesTSL o XCHG para asegurar que sólouna CPU a la vez pueda examinar el semáforo
15. Cuandose está desarrollandouna computadora, por logeneral primero se simula mediante unprograma que
ejecuta una instrucción a la vez. Inclusohasta los multiprocesadores se simulanestrictamente enforma
secuencial como ésta. ¿Es posible que ocurra una condiciónde carrera cuandonohayeventos simultáneos
como éste?
No, no es posible debido a que esta condición solo sucede cuando dos procesos (instrucciones) necesitan
ejecutarse al mismo tiempo, es decir cuando intentan entrar a una regióncrítica.
16. ¿Funciona la soluciónde espera ocupada en la que se utiliza la variable turno(figura 2-23) cuando los dos
procesos se ejecutanenunmultiprocesador con memoria compartida, es decir, dos CPU que comparten una
memoria común?
17. La soluciónde Petersonal problema de exclusión mutua que se muestra enla figura 2-24, ¿funciona cuando la
planificación es apropiativa? ¿Y qué pasa cuandoes no apropiativa?Un restaurante de comida rápida tiene
cuatro tipos de empleados:(1) los que toman pedidos de los clientes;(2) los cocineros, que preparanla comida;
(3) los especialistas de empaquetado, que metenla comida en bolsas;y(4) los cajeros, que entregan las bolsas a
los clientes yrecibensudinero. Cada empleadopuede considerarse comounprocesosecuencialcomunicativo.
¿Qué forma de comunicación entre procesos utilizan? Relacione este modelocon los procesos enUNIX.
Ropería el esquema, ylos procesos podríanentrar al mismotiempo, generandoconflictos.
Un restaurante de comida rápida tiene cuatro tipos de empleados:(1) los que tomanpedidos de los clientes;(2)
los cocineros, que preparanla comida;(3) los especialistas de empaquetado, que metenla comida en bolsas;y
(4) los cajeros, que entregan las bolsas a los clientes y reciben su dinero. Cada empleado puede considerarse
como un procesosecuencial comunicativo. ¿Qué forma de comunicaciónentre procesos utilizan? Relacione este
modelocon los procesos en UNIX.
Se comunica a través de mensajes ya que este espera la respuesta para determinar cuándoempieza la siguiente
tarea.
Al combinar la ideade tomar turnos conla idea de las variables de candado ylas variables de advertencia, un
matemático holandés llamadoT. Dekker fue el primero enidear una soluciónde software para el problema de la
exclusiónmutua que no requiere de una alternancia estricta.
18. Suponga que tenemos unsistema de pasode mensajes que utiliza buzones. Al enviar a un buzónllenoal tratar de
recibir de unovacío, unprocesonose bloquea. En vez de ello, recibe de vuelta un código de error. Para responder al
códigode error, el procesosólovuelve a intentar, una yotra vez, hasta tener éxito. ¿Produce este esquema condiciones
de carrera?.
No, porque no sucede ningún problema con el CPU, simplemente sigue intentando enviar el mensaje, este no tiene
conflictocon otros procesos.
No conduce a condicionesde carrera (nose pierda nada), peroes tiempo de espera.

Más contenido relacionado

La actualidad más candente

Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosChiNo Sosa Erazo
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y ProcesadorMario Alberto Antonio Lopez
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativosDaniel Vargas
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesosAbimael hernandez
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
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
 
Sistemas operativos procesos
Sistemas operativos procesosSistemas operativos procesos
Sistemas operativos procesossistoperativos
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekkernerexi
 
Capitulo 2 comunicacion
Capitulo 2 comunicacionCapitulo 2 comunicacion
Capitulo 2 comunicacionErick Jamett
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.Carlos Solano
 
Particiones EstáTicas
Particiones EstáTicasParticiones EstáTicas
Particiones EstáTicasdanielchecar
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasJ M
 
Enfoque estructurado enfoque oo
Enfoque estructurado   enfoque ooEnfoque estructurado   enfoque oo
Enfoque estructurado enfoque ookarlanm07
 

La actualidad más candente (20)

Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesos
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
Tarea 1.1
Tarea 1.1Tarea 1.1
Tarea 1.1
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativos
 
¿Qué es swap?
¿Qué es swap?¿Qué es swap?
¿Qué es swap?
 
Round robin
Round robinRound robin
Round robin
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesos
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
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
 
Sistemas operativos procesos
Sistemas operativos procesosSistemas operativos procesos
Sistemas operativos procesos
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekker
 
Capitulo 2 comunicacion
Capitulo 2 comunicacionCapitulo 2 comunicacion
Capitulo 2 comunicacion
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
 
Conceptos de software
Conceptos de softwareConceptos de software
Conceptos de software
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Particiones EstáTicas
Particiones EstáTicasParticiones EstáTicas
Particiones EstáTicas
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Enfoque estructurado enfoque oo
Enfoque estructurado   enfoque ooEnfoque estructurado   enfoque oo
Enfoque estructurado enfoque oo
 

Similar a 2.4 Cuestionario de comunicacion entre procesos

Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosLorena Ramos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentepuracastillo
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos Cristhian Rosales
 
Presentación1
Presentación1Presentación1
Presentación1janet290
 
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSUNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSSelqit Mgw
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De ProcesosAcristyM
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De ProcesosAcristyM
 
2° unidad sistemas operativos
2° unidad sistemas operativos2° unidad sistemas operativos
2° unidad sistemas operativosCrisel777
 
Taller concurrencia y exclusión mutua.
Taller concurrencia y exclusión mutua.Taller concurrencia y exclusión mutua.
Taller concurrencia y exclusión mutua.Andrea
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesosLlabajo Baez
 

Similar a 2.4 Cuestionario de comunicacion entre procesos (20)

Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
Examen 2 s,o,
Examen 2 s,o,Examen 2 s,o,
Examen 2 s,o,
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Portafolio 2
Portafolio 2Portafolio 2
Portafolio 2
 
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSUNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
2° unidad sistemas operativos
2° unidad sistemas operativos2° unidad sistemas operativos
2° unidad sistemas operativos
 
Tema0397
Tema0397Tema0397
Tema0397
 
Taller concurrencia y exclusión mutua.
Taller concurrencia y exclusión mutua.Taller concurrencia y exclusión mutua.
Taller concurrencia y exclusión mutua.
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
UNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADORUNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADOR
 
Funciones de un SO
Funciones de un SOFunciones de un SO
Funciones de un SO
 
Procesos_so
Procesos_soProcesos_so
Procesos_so
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Exposicion semaforos
Exposicion semaforosExposicion semaforos
Exposicion semaforos
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 

Más de Instituto Tecnológico de Tepic

Resta en complemento a 2, codigo BCD, codigo GRAY, codigo exceso a 3, codigo ...
Resta en complemento a 2, codigo BCD, codigo GRAY, codigo exceso a 3, codigo ...Resta en complemento a 2, codigo BCD, codigo GRAY, codigo exceso a 3, codigo ...
Resta en complemento a 2, codigo BCD, codigo GRAY, codigo exceso a 3, codigo ...Instituto Tecnológico de Tepic
 
Configuraciones del amplificador derivativo e integrador
Configuraciones del amplificador derivativo e integradorConfiguraciones del amplificador derivativo e integrador
Configuraciones del amplificador derivativo e integradorInstituto Tecnológico de Tepic
 

Más de Instituto Tecnológico de Tepic (16)

Cpu descripcion general
Cpu descripcion generalCpu descripcion general
Cpu descripcion general
 
Resta en complemento a 2, codigo BCD, codigo GRAY, codigo exceso a 3, codigo ...
Resta en complemento a 2, codigo BCD, codigo GRAY, codigo exceso a 3, codigo ...Resta en complemento a 2, codigo BCD, codigo GRAY, codigo exceso a 3, codigo ...
Resta en complemento a 2, codigo BCD, codigo GRAY, codigo exceso a 3, codigo ...
 
Configuraciones del amplificador derivativo e integrador
Configuraciones del amplificador derivativo e integradorConfiguraciones del amplificador derivativo e integrador
Configuraciones del amplificador derivativo e integrador
 
Energias renovables
Energias renovablesEnergias renovables
Energias renovables
 
Reportes Unidad 2
Reportes Unidad 2Reportes Unidad 2
Reportes Unidad 2
 
Reporte de videos del espectro electromagnetico
Reporte de videos del espectro electromagneticoReporte de videos del espectro electromagnetico
Reporte de videos del espectro electromagnetico
 
Practica 2 Ordenes administracion de archivos linux
Practica 2 Ordenes administracion de archivos  linuxPractica 2 Ordenes administracion de archivos  linux
Practica 2 Ordenes administracion de archivos linux
 
Practica 2 Ordenes Administración de archivos linux
Practica 2 Ordenes Administración de archivos linuxPractica 2 Ordenes Administración de archivos linux
Practica 2 Ordenes Administración de archivos linux
 
Practica 1 Unidad 2 Comandos Basicos linux
Practica 1 Unidad 2 Comandos Basicos linuxPractica 1 Unidad 2 Comandos Basicos linux
Practica 1 Unidad 2 Comandos Basicos linux
 
Practica linux Empaquetamiento
Practica linux EmpaquetamientoPractica linux Empaquetamiento
Practica linux Empaquetamiento
 
3.1 Administración de memoria CUESTIONARIO
3.1 Administración de memoria CUESTIONARIO3.1 Administración de memoria CUESTIONARIO
3.1 Administración de memoria CUESTIONARIO
 
Linea del tiempo de los sistemas operativos
Linea del tiempo de los sistemas operativosLinea del tiempo de los sistemas operativos
Linea del tiempo de los sistemas operativos
 
Las transiciones de procesos
Las transiciones de procesosLas transiciones de procesos
Las transiciones de procesos
 
Implementación de hilos
Implementación de hilos Implementación de hilos
Implementación de hilos
 
4.2 Manual de recompilación
4.2 Manual de recompilación4.2 Manual de recompilación
4.2 Manual de recompilación
 
El te‰tano
El te‰tanoEl te‰tano
El te‰tano
 

2.4 Cuestionario de comunicacion entre procesos

  • 1. INSTITUTO TECNOLOGICO DE TEPIC DEPARTAMENTO DE SISTEMAS Y COMPUTACION INGENIERIA EN SISTEMAS COMPUTACIONALES A DISTANCIA SISTEMAS OPERATIVOS UNIDAD 2 CUESTIONARIO COMUNICACIÓN ENTRE PROCESOS NOMBRE: Macias Urzua Delia M. NO.CONTROL: 15401201
  • 2. 1. Bajo un ejemplocotidiano explique enque consiste la condiciónde carrera. El usuario A quiere hacer un depósito. El B unretiro. El usuarioA comienza la transacciónylee susaldo que es 1000. En ese momentopierde suturnode ejecución (ysusaldo queda como1000) yel usuarioB inicia el retiro: lee el saldo que es 1000, retira 200 yalmacena el nuevosaldoque es 800 ytermina. El turnode ejecución regresa al usuario A el cualhace sudepósitode 100, quedando saldo= saldo+ 100 = 1000 + 100 = 1100. Como se ve, el retirose perdióyesole encanta al usuario A yB, pero al banquero nole convinoesta transacción. El error pudo ser al revés, quedandoel saldofinal en800. 2. ¿Cómo evita el sistema operativola condiciónde carrera? Buscandola manera de prohibir que más de unproceso lea yescriba los datos compartidos al mismo tiempo. 3. ¿En qué consiste la Exclusiónmutua? Se encarga de asegurar que, siunprocesoestá utilizandouna variable o archivo compartido, los demás procesos se excluirán de hacer lo mismo. Cuando un proceso está ocupado actualizando la memoria compartida en su regióncrítica, ningún otro procesopuede entrar a suregióncrítica yocasionar problemas. Evita el ingresoa sus secciones críticas por más de un procesoa la vez. 4. Cuandoexiste procesamiento en paralelo, la condiciónde carrera no puede ser solucionada solamente conla regióncritica, se requieren cumplir cuatro condicionesylograr una buena solución. ¿Cuáles Sonestas? Aunque este requerimientoevita lascondiciones de carrera, noes suficiente para que los procesos en paralelocooperen de la manera correcta yeficiente al utilizar datos compartidos. Necesitamos cumplir con cuatrocondiciones para tener una buena solución:  No puede haber dos procesos de manera simultánea dentro de sus regiones críticas.  No puedenhacerse suposiciones acerca de las velocidades o el número de CPUs.  Ningúnproceso que se ejecute fuera de su región crítica puede bloquear otros procesos.  Ningúnproceso tiene que esperar para siempre para entrar a suregióncrítica. 5. Explique o describa loque sucede enla figura 2-22. El procesoA entra a suregióncrítica luegoel B intenta entrar a suregión perose bloquea yen el momento en que termina el procesoA entra a su región crítica ydespués de un determinado tiemposale. 6. ¿Que sonlas variablescandado? Es un métododistintopara resolver el problema de la condición de carrera a través de un software. Una variable de candadoes una sola variable compartida. Cuando unproceso desea entrar a suregióncrítica primeroevalúa el candado. Si este candadoes 0, el procesolofija en 1 yentra a la regióncrítica. Si el candado ya es 1 sóloespera hasta que el candadose haga 0. Por ende, un 0 significa que ningúnprocesoestá ensu regióncrítica yun 1 significa que algún procesoestá en suregióncrítica. 7. ¿Qué es la espera ocupada? Acción de evaluar enforma continua una variable hasta que aparezca cierto valor se le conoce como espera ocupada. Por logeneralse debe evitar, ya que desperdicia tiempo de la CPU. La espera ocupada sólose utiliza cuandohayuna expectativa razonable de que la espera será corta.
  • 3. 8. ¿En qué consiste la soluciónde Peterson para lograr la exclusiónmutua? Es un algoritmode programaciónconcurrente para exclusiónmutua, que permite a dos o más procesos o hilos de ejecución compartir un recursosinconflictos, utilizandosólomemoria compartida para la comunicación. Esta solución brinda una solución al problema de la exclusión mutua a través de una combinaciónde la ideade tomar turnos con la ideade las variables de candadoylas variables de advertencia, creado por el matemático holandésT. Dekker. Es unalgoritmo de programación concurrente, que permite a dos o másprocesos ohilos de ejecución compartir un recursosinconflictos, utilizandosólomemoria compartida para la comunicación. Antes de utilizar lasvariables compartidas, cada procesollama a entrar_region consu propio número de proceso (0 o 1) como parámetro. Esta llamada hará que espere, si es necesario, hasta que sea seguro entrar. Una vez que haya terminado conlas variables compartidas, el procesollama a salir_regionpara indicar que ha terminado y permitir que los demás procesos entren, si así lodesea. Los procesos p0 yp1 no puedenestar enla seccióncrítica al mismo tiempo:si p0 está enla seccióncrítica, entonces bandera [0] = true, yocurre que bandera [1] = false, conloque p1 ha terminadola sección crítica, o que la variable compartida turno= 0, con lo que p1 está esperandopara entrar a la seccióncrítica. En ambos casos, p1 nopuede estar enla seccióncrítica. 9. Cuandose trabaja La InstrucciónTSL se deshabilitan interrupcioneso se bloquea el bus de memoria? Bloquear el bus de memoria es una acción muy distinta de la de deshabilitar las interrupciones. Al deshabilitar las interrupciones ydespués realizar una operaciónde lectura enuna palabra de memoria, seguida de una operación de escritura, nose evita que unsegundoprocesador enel bus acceda a la palabra entre la lectura yla escritura. 10. ¿En que consiste el problema del productor consumidor? El programa describe dos procesos, productor yconsumidor, ambos comparten un buffer de tamañofinito. La tarea delproductor es generar un producto, almacenarloycomenzar nuevamente;mientras que el consumidor toma (simultáneamente) productos unoa uno. El problema consiste enque el productor no añada más productos que la capacidad delbuffer yque el consumidor nointente tomar unproducto si el buffer está vacío. La idea para la solución es la siguiente, ambos productos se ejecutansimultáneamente yse “despiertan” o “duermen” segúnel estado delbuffer. Concretamente, el productor agrega productos mientras quede espacio y en el momento en que se llene el buffer se pone a “dormir”. Cuandoel consumidor toma un producto notifica al productor que puede comenzar a trabajar nuevamente. Encasocontrario si el buffer se vacía, el consumidor se pone a dormir yen el momentoenque el productor agrega unproductocrea una señal para despertarlo. Se puede encontrar una solución usandomecanismos de comunicación interprocesos, generalmente se usan semáforos. Una inadecuada implementacióndel problema puede terminar en un deadlockdonde ambos procesos quedenenespera de ser despertados. Este problema pude ser generalizadopara múltiples consumidores yproductores. 11. ¿Qué es Mutexesy/o como funciona? Los mutexes son buenos sólo para administrar la exclusión mutua para cierto recurso compartido o pieza de código. Se implementan con facilidad y eficiencia, lo cual hace que sean especialmente útiles en paquetes de hilos que se implementanen su totalidad enespaciode usuario. Un mutex es una variable que puede estar en uno de dos estados:abierto (desbloqueado) ocerrado (bloqueado). Enconsecuencia, se requiere sólo1 bit para representarla, peroenla práctica se utiliza confrecuencia unentero, endonde 0 indica que está abiertoytodos los demás valores indicanque está cerrado. Se utilizan dos procedimientos conlos mutexes. Cuandounhilo (o proceso) necesita acceso a una región crítica, llama a mutex_lock. Si el mutex está actualmente abierto(loque significa que la regióncrítica está disponible), la llamada tiene éxito yentonces el hilollamador puede entrar a la regióncrítica.
  • 4. Por otro lado, si el mutex ya se encuentra cerrado, el hilo que hizola llamada se bloquea hasta que el hiloque está enla región crítica termine yllame a mutex_unlock. Si se bloqueanvarios hilos por el mutex, se selecciona uno de ellos al azar y se permite que adquiera el mutex. Como los mutexes son tan simples, se pueden implementar confacilidaden espacio de usuario, siempre ycuandohaya una instrucciónTSL oXCHG disponible. 12. ¿Qué es Pthreads y/o como funciona? Pthreads proporciona variasfuncionesque se puedenutilizar para sincronizar los hilos. El mecanismo básicoutiliza una variable mutex, cerrada o abierta, para resguardar cada regióncrítica. Unhiloque desea entrar a una región crítica primero trata de cerrar el mutex asociado. Si el mutex está abierto, el hilopuede entrar de inmediatoyel bloqueose establece enforma automática, evitando que otros hilos entren;si el mutex ya se encuentra cerrado, el hiloque hizola llamada se bloquea hasta que el mutex esté abierto. Si hayvarios hilos esperandoel mismomutex, cuandoestá abiertosólouno de ellos podrá continuar yvolver a cerrarlo. 13. ¿Las variablesde condiciónsonun mecanismode sincronización? Si, ya que los procesos que entrantienenque ser condicionados para que funcionen de marera responsable y cumplancon suobjetivo. 14. Como se resuelve el problema del productor-consumidor mediante el usode semáforos? Se implementan llamadas al sistema (up ydown), endonde el sistema operativo deshabilita brevemente todas las interrupciones, mientras evalúa el semáforo, loactualiza ypone el procesoa dormir, si es necesario. Como todas estas acciones requierensólo unas cuantasinstrucciones, nohaypeligro aldeshabilitar las interrupciones. Si se utilizanvarias CPUs, cada semáforo debe estar protegido por una variable de candado, endonde se utilicen las instruccionesTSL o XCHG para asegurar que sólouna CPU a la vez pueda examinar el semáforo 15. Cuandose está desarrollandouna computadora, por logeneral primero se simula mediante unprograma que ejecuta una instrucción a la vez. Inclusohasta los multiprocesadores se simulanestrictamente enforma secuencial como ésta. ¿Es posible que ocurra una condiciónde carrera cuandonohayeventos simultáneos como éste? No, no es posible debido a que esta condición solo sucede cuando dos procesos (instrucciones) necesitan ejecutarse al mismo tiempo, es decir cuando intentan entrar a una regióncrítica. 16. ¿Funciona la soluciónde espera ocupada en la que se utiliza la variable turno(figura 2-23) cuando los dos procesos se ejecutanenunmultiprocesador con memoria compartida, es decir, dos CPU que comparten una memoria común? 17. La soluciónde Petersonal problema de exclusión mutua que se muestra enla figura 2-24, ¿funciona cuando la planificación es apropiativa? ¿Y qué pasa cuandoes no apropiativa?Un restaurante de comida rápida tiene cuatro tipos de empleados:(1) los que toman pedidos de los clientes;(2) los cocineros, que preparanla comida; (3) los especialistas de empaquetado, que metenla comida en bolsas;y(4) los cajeros, que entregan las bolsas a los clientes yrecibensudinero. Cada empleadopuede considerarse comounprocesosecuencialcomunicativo. ¿Qué forma de comunicación entre procesos utilizan? Relacione este modelocon los procesos enUNIX. Ropería el esquema, ylos procesos podríanentrar al mismotiempo, generandoconflictos.
  • 5. Un restaurante de comida rápida tiene cuatro tipos de empleados:(1) los que tomanpedidos de los clientes;(2) los cocineros, que preparanla comida;(3) los especialistas de empaquetado, que metenla comida en bolsas;y (4) los cajeros, que entregan las bolsas a los clientes y reciben su dinero. Cada empleado puede considerarse como un procesosecuencial comunicativo. ¿Qué forma de comunicaciónentre procesos utilizan? Relacione este modelocon los procesos en UNIX. Se comunica a través de mensajes ya que este espera la respuesta para determinar cuándoempieza la siguiente tarea. Al combinar la ideade tomar turnos conla idea de las variables de candado ylas variables de advertencia, un matemático holandés llamadoT. Dekker fue el primero enidear una soluciónde software para el problema de la exclusiónmutua que no requiere de una alternancia estricta. 18. Suponga que tenemos unsistema de pasode mensajes que utiliza buzones. Al enviar a un buzónllenoal tratar de recibir de unovacío, unprocesonose bloquea. En vez de ello, recibe de vuelta un código de error. Para responder al códigode error, el procesosólovuelve a intentar, una yotra vez, hasta tener éxito. ¿Produce este esquema condiciones de carrera?. No, porque no sucede ningún problema con el CPU, simplemente sigue intentando enviar el mensaje, este no tiene conflictocon otros procesos. No conduce a condicionesde carrera (nose pierda nada), peroes tiempo de espera.