SlideShare una empresa de Scribd logo
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

Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discos
Jazmín Limón
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesadorManuel Ceron
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesosAbimael hernandez
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida
eduardoed5
 
Acceso Directo a la Memoria - DMA
Acceso Directo a la Memoria - DMAAcceso Directo a la Memoria - DMA
Acceso Directo a la Memoria - DMA
Erika Rodríguez
 
Arquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos OracleArquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos Oracle
vinivaldivieso
 
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
 
Procesos e hilos- Parte 1
Procesos e hilos- Parte 1Procesos e hilos- Parte 1
Procesos e hilos- Parte 1
Maritzol Tenemaza
 
Tabla De Transicion
Tabla De TransicionTabla De Transicion
Tabla De Transicion
GILDARDO MARTINEZ ESPINOSA
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
Luis Dario Gomez
 
Requisitos no Funcionales
Requisitos no FuncionalesRequisitos no Funcionales
Requisitos no Funcionales
Rene Guaman-Quinche
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
David Martinez
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
José Antonio Sandoval Acosta
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekker
nerexi
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
Mariela Cabezas
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativoschikscorpion_23
 

La actualidad más candente (20)

Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discos
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Estrategias de busqueda
Estrategias de busquedaEstrategias de busqueda
Estrategias de busqueda
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesador
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesos
 
2.2 y 2.3
2.2 y 2.32.2 y 2.3
2.2 y 2.3
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida
 
Acceso Directo a la Memoria - DMA
Acceso Directo a la Memoria - DMAAcceso Directo a la Memoria - DMA
Acceso Directo a la Memoria - DMA
 
Arquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos OracleArquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos Oracle
 
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
 
Procesos e hilos- Parte 1
Procesos e hilos- Parte 1Procesos e hilos- Parte 1
Procesos e hilos- Parte 1
 
Tabla De Transicion
Tabla De TransicionTabla De Transicion
Tabla De Transicion
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Requisitos no Funcionales
Requisitos no FuncionalesRequisitos no Funcionales
Requisitos no Funcionales
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekker
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativos
 

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 Procesos
Lorena Ramos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
puracastillo
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
Cristhian Rosales
 
Presentación1
Presentación1Presentación1
Presentación1
janet290
 
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSUNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
Selqit 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 operativos
Crisel777
 
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
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
Fernando Lopez Ocampo
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
Fernando Lopez Ocampo
 
UNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADORUNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADOR
Velazquez Cruz Amairany
 
Funciones de un SO
Funciones de un SOFunciones de un SO
Funciones de un SO
Colegio Metropolitano
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
Joel Bohorquez
 
Exposicion semaforos
Exposicion semaforosExposicion semaforos
Exposicion semaforos
John Goyeneche
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
Llabajo 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

Cpu descripcion general
Cpu descripcion generalCpu descripcion general
Cpu descripcion general
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 integrador
Instituto Tecnológico de Tepic
 
Energias renovables
Energias renovablesEnergias renovables
Energias renovables
Instituto Tecnológico de Tepic
 
Reportes Unidad 2
Reportes Unidad 2Reportes 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
Instituto Tecnológico de Tepic
 
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
Instituto Tecnológico de Tepic
 
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
Instituto Tecnológico de Tepic
 
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
Instituto Tecnológico de Tepic
 
Practica linux Empaquetamiento
Practica linux EmpaquetamientoPractica linux Empaquetamiento
Practica linux Empaquetamiento
Instituto Tecnológico de Tepic
 
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
Instituto Tecnológico de Tepic
 
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
Instituto Tecnológico de Tepic
 
Las transiciones de procesos
Las transiciones de procesosLas transiciones de procesos
Las transiciones de procesos
Instituto Tecnológico de Tepic
 
Implementación de hilos
Implementación de hilos Implementación de hilos
Implementación de hilos
Instituto Tecnológico de Tepic
 
4.2 Manual de recompilación
4.2 Manual de recompilación4.2 Manual de recompilación
4.2 Manual de recompilación
Instituto Tecnológico de Tepic
 
El te‰tano
El te‰tanoEl te‰tano

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
 

Último

Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 

Último (6)

Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 

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.