Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
s.o.
1. ÍNDICE:
Introducción……………………………………………………………………….…...1
Objetivos General
Objetivos
Específicos………………………………………………………………….……….....2
Monitores…………………………………………………………………….………...3,4
Paso de Mensajes……………………………………………………………..……...5
Direccionamiento……………………………………………………………………..6,7
Disciplina en la Cola de
Mensajes…………………………………………………………………………..…...8
Exclusión Paso de
Mensajes…………………………………………………………………………….…8,9
Concurrencia e
Interbloqueo………………………………………………………………………...10,11
Conclusiones……………………………………………………………………….….12
Preguntas………………………………………………………………………………13
2. INTRODUCCIÓN
En las funciones de los Sistemas Operativos existen herramientas y procesos que
deben ser tomados en cuenta, para de este modo comprender las distintas
características y utilidades de algunos procesos que regularmente ejecutamos al
trabajar con un ordenador.
Es muy normal no preguntarse de que forma trabaja internamente un procesador, pero
en nuestro caso es importante conocer el proceso que se lleva para que nuestra
computadora haga alguna tarea.
En esta ocasión vamos a explicar los métodos como trabaja el monitor, el paso de
mensajes y por ultima la concurrencia y el Interbloqueo, con la finalidad de comprender
como se llevan a cabo y a que se refiere cada punto de lo antes mencionado.
3. OBJETIVO GENERAL
Explicar cuál es la finalidad de los temas expuestos al igual de como trabajan estas
funcionalidades dentro del Sistema Operativo.
OBJETIVOS ESPECÍFICOS
Conocer el significado de cada una de estos temas, analizando paso a paso su labor
dentro de los Sistemas Operativos.
Compartir con nuestros compañeros lo aprendido de este tema para que las dudas que
surjan queden resueltas.
4. MONITORES
Un monitor es un módulo de SW que consta de uno o más procedimientos, unas
variables de condición, unas secuencias de inicialización y unos datos locales.
Características:
1. Las variables de datos locales están sólo accesibles para los procedimientos del
monitor y no para procedimientos externos.
2. Un proceso entra en el monitor invocando a uno de sus procedimientos.
3. Solo un proceso puede estar en el monitor, cualquier otro se espera hasta que el
monitor esté disponible.
Si se cumple la regla de un proceso a la vez, el monitor puede ofrecer un servicio de
exclusión mutua donde las variables de datos del monitor pueden ser accedidas solo
por un proceso a la vez. Si un proceso llama a un monitor y si mientras está en el
monitor debe suspenderse hasta que se cumpla alguna condición, debe hacerse
liberando al monitor. Entonces hace falta un servicio para que el proceso no solo esté
suspendido sino que libere el monitor y otro proceso pueda entrar. Más tarde, cuando
se cumpla la condición y el monitor esté de nuevo disponible, el proceso puede
reanudarse y tiene que permitírsele volver a entrar en el monitor en el punto de la
suspensión.
Un monitor proporciona sincronización por medio de las variables de condición que se
incluyen dentro del monitor y que son accesibles solo desde dentro. Las funciones para
operar esas variables de condición son:
• Cwait(c): que suspende la ejecución del proceso llamado bajo la condición c. El
monitor está disponible para ser usado por otro proceso.
• Csignal(c): que reanuda la ejecución de algún proceso suspendido después de
un cwait(c) bajo la misma condición. Si hay varios procesos, elige uno de ellos para
desbloquear; en caso contrario hace nada.
5. Sólo un proceso puede estar en el monitor, cualquier otro que quiera entrar se añadirá
a una cola de procesos suspendidos mientras espera a que el monitor esté disponible.
Una vez que un proceso está dentro del monitor puede suspenderse a sí mismo
temporalmente bajo una condición x (ejecutando cwait(x)); entonces se sitúa en una
cola de procesos que esperan volver a entrar al monitor. Si un proceso que se está
ejecutando en el monitor detecta un cambio en una variable de condición x, ejecuta
signal(x) lo que avisa a la cola de condición correspondiente que la condición ha
cambiado. Por lo tanto, algún proceso bloqueado puede volver a habilitarse.
Ejemplo: procesos “productores y consumidores”
6. PASO DE MENSAJES
Cuando los procesos interactúan unos con otros (procesos cooperantes); se deben
satisfacer 2 requisitos básicos: la sincronización y la comunicación. La comunicación de
un mensaje entre dos procesos implica cierto nivel de sincronía en ellos. El receptor no
puede recibir un mensaje hasta que sea enviado por un emisor. El paso de mensajes
en un método para ofrecer ambas funciones que tiene la ventaja de poder ser
implementado en cualquier ambiente. Para lograr esta funcionalidad se recurre a dos
primitivas: Send (destino, mensaje) y Receive (origen, mensaje)
• Send: Para enviar mensajes. Cuando un proceso cualquiera ejecuta un send
puede suceder que: El proceso se bloquea hasta que se recibe el mensaje
(envíos bloqueantes). O bien, que el proceso no se bloquea (envíos no
bloqueantes).
• Recieve: Para recibir un mensaje. Si previamente el proceso ha enviado un
mensaje, este es recibido y se continua la ejecución. Si no hay ningún mensaje
para recibir entonces puede suceder que el proceso se bloquea hasta que llegue
el mensaje (recepción bloqueante) o el proceso continua ejecutando y abandona
el intento de recepción (recepción no bloqueante).
Así, tanto la primitiva emisora como la receptora pueden ser bloqueantes creando
las siguientes situaciones:
• Envío bloqueante, recepción bloqueante: los dos procesos se esperan hasta
complementar el paso de mensaje. Exige un alto nivel de sincronización entre
procesos.
• Envío no bloqueante, recepción bloqueante: el emisor continúa ejecutando, el
receptor se bloquea hasta que llegue el mensaje. Esta es la situación más
común ya que permite que un proceso envíe más mensajes a varios destinos tan
rápido como sea posible sin tener que detenerse. Sin embargo un proceso
receptor debe bloquearse hasta que llegue un mensaje antes de hacer algo útil
(ej. Un proceso servidor de tareas o recursos para otros procesos)
• Envío no bloqueante, recepción no bloqueante: ninguno de los procesos se
espera.
* Nota:
• Send no bloqueante: ejemplo que ilustra esta condición es un proceso que
solicita una salida (impresión) y continúa enviándola hasta que se le de atención. La
desventaja es que envía muchos mensajes que tienen que ser canalizados por la
programación de procesos y, además, consume tiempo del CPU en la transacción.
7. • Receive bloqueante: un proceso que solicita un mensaje para continuar
necesitará la información esperada antes de continuar. Sin embargo, si el mensaje se
pierde el proceso receptor puede bloquearse indefinidamente. Una solución ante esta
situación sería comprobar la existencia de un mensaje antes de ejecutar un receive.
DIRECCIONAMIENTO:
Se debe definir de alguna manera en las primitivas cuales son los procesos
involucrados en transacción de la comunicación.
• Direccionamiento directo:
Para el caso Send se incluye una especificación del proceso destino como
argumento de la primitiva.
Para el caso de un receive, se puede designar explícitamente un proceso emisor
como argumento de la primitiva (muy práctico para los procesos concurrentes y
demasiado exclusivo de estos). O bien se recurre a un direccionamiento implícito
donde el parámetro de origen de la receive tendrá como valor de retorno el proceso del
send, cuando se haya realizado la operación de recepción. receive(id proceso: send,
mensaje).
• Direccionamiento indirecto: La relación no es directa, sino que se implementa
una estrategia de mensajes encolados, donde un proceso emisor empuja un mensaje
en la cola de mensajes (buzón) y un proceso receptor específico o cualquier otro lo
saca del encolado. Como ventaja se destaca una mayor flexibilidad en el proceso.
Destacando la amplitud de la relación entre los procesos cooperantes.
1 a 1: permite una comunicación privada entre los procesos.
1 a N: es útil para las aplicaciones donde la información se difunde a muchos
procesos
N a 1: resulta útil para interacciones cliente servidor donde un proceso ofrece un
servicio a un conjunto de procesos (el buzón toma el nombre de puerto).
N a M: una combinación de las dos anteriores.
Formato de mensajes
Depende del criterio del servicio de mensajería propuesto por el sistema operativo.
Pero un formato típico se describe a continuación.
Id proceso
OrigenCabecera:
8. alberga
información sobre
el mensaje
Id proceso Destino
Longitud del
mensaje
Tipo de mensaje
Información de
control
BCM campo
apuntador para
listas de mensajes,
numero de
secuencia,
prioridad, etc.
Contenido
Cuerpo del
mensaje: alberga
el contenido real
del mensaje
DISCIPLINA DE LA COLA DE MENSAJES:
• FIFO
• si hay mensajes urgentes puede ser que un fifo no sea suficientes, entonces se
recurre a un esquema de prioridades: por tipo de mensajes o por tipo de emisor
• el receptor decide cual mensaje toma
EXCLUSIÓN MUTUA CON EL PASO DE MENSAJES.
Supóngase que se emplean primitivas receive bloqueantes y send no
bloqueantes que comparten un buzón llamado exmut para enviar y recibir mensajes. El
buzón contiene inicialmente un mensaje de contenido nulo. Un proceso que desea
entrar en su sección crítica intenta conseguir primero el mensaje. Si el buzón está vacío
el proceso se bloquea desde la primitiva. Cuando finalmente consigue el mensaje
ejecuta su sección crítica y pasa el mensaje al buzón (los procesos cooperantes se
pasan el mensaje entre si para poder acceder a su sección crítica). Esta técnica
supone que si hay varios procesos concurrentemente ejecutando un receive, sólo uno
será privilegiado con el mensaje, y el resto será bloqueado.
program exclusión_mutua
procedure p(i:entero)
const
var
9. n=1.. (numero de procesos
concurrentes)
begin
crear_buzon (exmut);
send (exmut,null);
parbegin
p(1),p(2).. p(n);
parend;
end.
msj:mensaje
begin
repeat
receive(exmut,msj);
sección crítica
send (exmut,msj);
resto del programa
forever
end;
CONCURRENCIA E INTERBLOQUEO
Concurrencia
Dos o más procesos decimos que son concurrentes, paralelos, o que se ejecutan
concurrentemente, cuando son procesados al mismo tiempo, es decir, que para
ejecutar uno de ellos, no hace falta que se haya ejecutado otro.
En sistemas multiprocesador, esta ejecución simultánea podría conseguirse
completamente, puesto que podremos asignarle, por ejemplo, un proceso A al
procesador A y un proceso B al procesador B y cada procesador realizaran la ejecución
de su proceso.
Cuando tenemos un solo procesador se producirá un intercalado de las instrucciones
de ambos procesos, de tal forma que tendremos la sensación de que hay un
paralelismo en el sistema (concurrencia, ejecución simultánea de más de un proceso).
Interbloqueo
* Nota:
• Recursos reutilizables: Es aquel que puede ser usado con seguridad por un
proceso y no se agota con el uso. Los procesos obtienen unidades de recursos que
liberan posteriormente para que otros procesos las reutilicen (procesadores, canales de
e/s, memoria, almacenamiento secundario, dispositivos, archivos, semáforos, etc.)
10. • Recursos consumibles. Es aquel que puede ser creado:producido y
destruido:consumido por algún proceso (interrupciones, señales, mensajes, información
en buffers de e/s)
Se define al interbloqueo como el bloqueo permanente de un conjunto de procesos que
compiten por los recursos del sistema o bien, que se comunican unos con otros. Todos
los interbloqueos suponen demandas contradictorias de recursos por parte de 2 o más
procesos.
Para producir un interbloqueo se dan tres condiciones:
• Exclusión mutua: se presenta al tratar de cumplir la regla de exclusión de un
proceso un recurso.
• Retención y espera: un proceso puede retener algunos recursos previamente
asignados mientras espera que se le asignen otros.
• No apropiación : ningún proceso puede ser forzado a abandonar un recurso que
ya tenga
11. Conclusión Jafet:
En mi opinión los temas de exposición son de gran utilidad para nosotros en lo que
respecta a SO. Como ya hemos visto en los trabajos anteriores, los temas van ligados,
y si no se entiende uno, no entenderemos los demás.
La tecnología y el modo de trabajar en una computadora ha cambiado y es necesario
actualizarnos con ellas y los diferentes tipos de programas que se incluyan dentro de
su SO.
Los procesos de los que se habla en este trabajo son fáciles de entender, sin embargo
tienen una lógica que debemos de analizar, ya sea ¿por qué? O el ¿como?.
Conclusión Óscar
La sincronización que los procesos tienen entre ellos resulta muy peculiar ya que, todos
los elementos tienen características similares, me he dado cuenta que el FIFO no solo
se usa en Paso de mensajes sino también en los semáforos y como ese ejemplo
existen otros más.
Conclusión Cristina:
El monitor es uno de los principales dispositivos de salida de una computadora por lo
cual podemos decir que nos permite visualizar tanto la información introducida por el
usuario como la devuelta por un proceso computacional.
La tecnología de estos periféricos ha evolucionado mucho desde la aparición de las
PC, desde los viejos monitores de fósforo verde hasta los nuevos de plasma. Pero de
manera mucho más lenta que otros componentes, como microprocesadores, etc.
12. Sus configuraciones han ido evolucionando según las necesidades de los usuarios a
partir de la utilización de aplicaciones más sofisticadas como el diseño asistido por
computadoras o el aumento del tiempo de estancia delante de la pantalla y q se ha
arreglado aumentando el tamaño de la pantalla y la calidad de la visión.
Conclusión Leonardo:
Particularmente considero que es importante conocer los procesos que un usuario no
ve al momento de utilizar su ordenador, existen muchas tareas que se generan
internamente dentro de una computadora las cuales en muchas ocasiones no tenemos
ni idea de como se generan. Este tipo de trabajo nos ayuda a conocer las
funcionalidades internas de un ordenador, lo cual puede ser de gran utilidad para saber
de que forma trabaja nuestra computadora, y a partir de ellos generar ideas o
soluciones dentro de nuestra área.
En nuestro caso conocimos las funciones y herramientas que se utilizan en los
Monitores, Paso de Mensajes y Concurrencia e Interbloqueo, estas tres con distintas
tareas dentro del ordenador, lo cual nos muestra una amplitud respecto a la
Informática.
Conclusión Gerardo:
En estos temas nos muestra el funcionamientro de los monitores que nos permiten
detener los procesos como tambien hacer continuar estos.
Como tambien nos muestra los pasos de mensaje en el cual nos da a entender como
recibir y como tarda un mensaje en enviar como al mismo tiempo recibir un ejemplo
seria los mensajes de texto, que nos da a entender que ay un proceso por el cual pasa
el mensaje.
Y por ultimo el inter bloqueo el cual nos explica que cuando un proceso esta en
movimiento bloquea los otros que se hayan mandado a llamar.
Conclusión Jesús:
Los monitores hacen la misma funcion que los semaforos, ya quedetienen y hacer
continuar los procesos como ellos.
Todos los procesos llevan una relacion, y que los recursos que se asignan en los
mismos se pueden usar y modificar en los distintos procesos.
Las condiciones que manejan van ligados los procesos y los recursos, ademas de que
tienen que llevar reglas para dar uso a los recursos.
13. PREGUNTAS
1.- ¿Qué función tiene el Monitor?
Permite detener procesos para que entren otros procedimientos variables y
estructurados de un modulo especial.
2.- ¿Cuántos procesos se pueden realizar a la vez en el monitor?
Sólo un proceso puede estar en el monitor, cualquier otro que quiera entrar se
añadirá a una cola de procesos suspendidos mientras espera a que el monitor
esté disponible.
3.- ¿Qué implica la comunicación de mensajes entre dos procesos?
Sincronización y comunicación
4.- Describe a que se refiere send y receive:
Send: es cuando se envía un mensaje y se genera una espera hasta que es
recibido
Receive: es cuando se recibe un mensaje, se muestra y se continúa con el
proceso de espera para recibir otro.
5.- Define:
a) Envío bloqueante:
Significa que el proceso que hace un SEND queda detenido hasta que se
cerciora de que el mensaje ha llegado al destino.
b) Recepción bloqueante:
14. Se corresponde con los procesos que espera recibir un mensaje, si el mensaje
no le llega, el proceso se bloquea y no continúa hasta que no lo reciba.
c) Envío no bloqueante:
El proceso envía un mensaje y continúa, no se preocupa de si llega o no.
d) Recepción no bloqueante:
Un proceso espera recibir algo, efectúa un RECEIVE y si no le llega nada
continúa su ejecución.
6.- Menciona cuáles son los tipos de direccionamiento de mensajes y defínelos:
Directo: el emisor conoce al receptor, sabe a qué proceso va a mandar el
mensaje.
Indirecto: los mensajes no se envían a un proceso determinado, ni los recibirá un
proceso determinado, sino que se remitirán a una estructura de datos llamada
buzón.
7.- Menciona un ejemplo cotidiano con el cuál puedas ejemplificar la concurrencia en
un solo Procesador
Puede tomarse como ejemplo, la fila del banco, puésto que en ocasiones está
abierta una sola caja para muchos clientes, los cuales se clasifican como
clientes y usuarios sin cuenta, y van pasando intercaladamente uno de la fila de
clientes y luego uno de la fila de usuarios sin cuenta.
8.- ¿Cuáles son los tipos de recursos del Interbloqueo?
Reutilizables y Consumibles