Está en la página 1de 11

ndice

INTRODUCCION ............................... ERROR! MARCADOR NO DEFINIDO.


COMUNICACIN Y SINCRONIZACION ........................................................ 2
ESQUEMA. .....................................................................................................4
INDICADORES DE EVENTOS .......................................................................5
ALMACENAMIENTO DE ARCHIVOS Y ARCHIVOS COMPARTIDOS .........5
PRIMITIVAS ENVIAR Y RECIBIR ..................................................................6
COMUNICACIN DIRECTA:................................................................................8
FORMATO DE LOS MENSAJES .................................................................10
CONCLUSION ................................... ERROR! MARCADOR NO DEFINIDO.
BIBLIOGRAFIA ................................. ERROR! MARCADOR NO DEFINIDO.

Introduccin

En los sistemas operativos multiprogramados surge el concepto de


proceso, asociado a la ejecucin de un programa. En general, un proceso es
un flujo de ejecucin, representado bsicamente por un contador de programa,
y su contexto de ejecucin, que puede ser ms o menos amplio. As, un
proceso incluye en su contexto el estado de la pila, el estado de la memoria y
el estado de la E/S, mientras que un thread tpico tiene como contexto propio
poco ms que la pila. En algunos sistemas es posible determinar el contexto
propio de un proceso en el momento de su creacin, como ocurre con la
llamada al sistema clone() de Linux. En adelante, sin perder generalidad,
utilizaremos siempre el trmino proceso, independientemente de cul sea su
contexto.
Uno de los objetivos del sistema operativo es la representacin de los
procesos y el soporte de los cambios de contexto entre procesos, que
posibilitan la comparticin del recurso CPU. El acceso a otros recursos
compartidos y la comunicacin entre procesos relacionados (por ejemplo, de
una misma aplicacin) hacen necesaria la utilizacin de mecanismos de
sincronizacin dentro del sistema operativo. Tpicamente, un proceso requiere
la CPU durante un periodo de tiempo, realiza alguna operacin de E/S, y
vuelve a requerir la CPU, repitindose este ciclo hasta la finalizacin del
programa. El proceso pasa por diversos estados entre los que se definen
transiciones, como representa, en su forma ms sencilla, el grafo de la Figura
siguiente.
Cada vez que un proceso pasa al estado preparado, est compitiendo
por

el

recurso

CPU.

Un

segundo

objetivo

del

sistema

operativo

multiprogramado es la planificacin del uso del (de los) recurso(s) de proceso.


Los criterios que se siguen para la planificacin y las polticas que se usan se
estudiarn ms adelante en el desarrollo de la presente investigacin.
Comunicacin y sincronizacin

Es una funcin bsica de los sistemas operativos. Los procesos pueden


comunicarse entre s a travs de compartir espacios de memoria, ya sean
variables compartidas o buffers, o a travs de las herramientas provistas por
las rutinas de IPC. La IPC provee un mecanismo que permite a los procesos
comunicarse y sincronizarse entre s, normalmente a travs de un sistema de
bajo nivel de paso de mensajes que ofrece la red subyacente.
Necesaria si se desea que varios procesos puedan colaborar para
realizar una misma tarea.

Sincronizacin funcionamiento coordinado en la resolucin de una tarea


encomendada.

El SO ofrece mecanismos bsicos de comunicacin, que permiten


transferir cadenas de bytes. Deben ser los procesos que se comunican
quienes interpreten el significado de las cadenas transferidas para su labor
coordinada.
Los mecanismos de comunicacin y sincronizacin son dinmicos. Es
decir, cuando se necesita un mecanismo de este estilo, se crea, usa y
destruye, de forma que no se establezca de forma definitiva ningn mecanismo
de comunicacin, ya que ellos podran producir efectos indeseados. Es decir,
la comunicacin es algo puntual.

Los servicios bsicos de comunicacin son:

a. crear: el proceso solicita la creacin del mecanismo


b. enviar o escribir: el proceso emisor enva informacin al proceso receptor
c. recibir o leer: el proceso receptor recibe informacin
d. destruir: el proceso solicita la destruccin del mecanismo de comunicacin
La comunicacin puede ser sncrona y asncrona:

a.

Sncrona: los dos procesos han de ejecutar servicios de forma simultnea.


El emisor ha de ejecutar el servicio enviar mientras el receptor ejecuta
recibir.

b. Asncrona: el emisor hace el envo y prosigue su ejecucin. El SO ofrece


un almacenamiento intermedio para guardar la informacin enviada, hasta
que el receptor la solicite.

Esquema.

En un sistema operativo multiprogramado los procesos compiten por el


acceso a los recursos compartidos o cooperan dentro de una misma aplicacin
para comunicar informacin. Ambas situaciones son tratadas por el sistema
operativo mediante mecanismos de sincronizacin que permiten el acceso
exclusivo de forma coordinada a los recursos y a los elementos de
comunicacin compartidos. Segn el modelo de sistema operativo descrito
anteriormente, basado en colas de procesos y transiciones de estados, los
procesos abandonan la CPU para pasar a estado bloqueado cuando requieren
el acceso a algn dispositivo, generalmente en una operacin de E/S, pasando
a estado preparado cuando la operacin ha concluido y eventualmente volver

a ejecucin. La gestin de estos cambios de estado, es decir, los cambios de


contexto, es un ejemplo de seccin crtica de cdigo dentro del sistema
operativo que debe ser ejecutada por ste en exclusin mutua. Otros ejemplos
de cdigo que debe protegerse como seccin crtica incluyen la programacin
de los dispositivos de E/S y el acceso a estructuras de datos y buffers
compartidos.

Indicadores de eventos
Los indicadores de eventos es una tal solucin eficaz de medir y mejorar
la calidad de software. Contadores de rendimiento de software han
proporcionado una manera conveniente supervisar aplicacin ejecucin
estado y recurso de uso en un nivel agregado. Evento instrumentacin tambin
ha sido popular a lo largo de los aos. Eventos provocados por un componente
de

software

en

diferentes

etapas

de

ejecucin

pueden

reducir

significativamente el tiempo necesario para diagnosticar varios problemas.


Adems de deteccin para determinados eventos o modelos de eventos, uno
puede aplicar tcnicas de minera de datos y la correlacin de datos para ms
analizar los eventos para generar datos estadsticos significativos e informes
en ejecucin del programa y el comportamiento problemtico. La capacidad
de recopilar eventos en los sistemas de produccin en tiempo real ayuda a
evitar la necesidad de tener una instalacin del depurador inmanejable en
equipos de cliente.

Almacenamiento de archivos y archivos compartidos


En trminos fsicos, la mayora de los archivos informticos se
almacenan en discos duros, discos magnticos que giran dentro de una
computadora que pueden registrar informacin indefinidamente. Los discos
duros permiten acceso casi instantneo a los archivos informticos.
Hace unos aos solan usarse cintas magnticas para realizar copias de
seguridad. Tambin se usaban otros medios de almacenamiento como discos

compactos grabables, unidades Zip, etctera. No obstante en la actualidad han


cobrado mucho auge las memorias flash, dispositivos con mucha capacidad
de almacenamiento que tienen la ventaja de ser pequeos y porttiles; suelen
usarse para guardar archivos en dispositivos pequeos como telfonos
mviles o reproductores de audio porttiles.
La manera en que un sistema operativo organiza, da nombre, almacena y
manipula los archivos se denomina globalmente como su sistema de archivos.
Todos los sistemas operativos tienen al menos un sistema de archivos;
algunos sistemas operativos permiten usar varios sistemas de archivos
diferentes. Por ejemplo, en Microsoft Windows 7, se reconocen los antiguos
sistemas de archivos FAT y FAT32 de las versiones antiguas de Windows,
adems del sistema de archivos NTFS que es el sistema de archivos normal
en las versiones recientes de Windows. NTFS no es ms moderno que FAT32;
ha existido desde que Windows NT se public en 1993.
Un archivo compartido es una propiedad de un archivo informtico que tiene
la caracterstica de poder ser accedido o manipulado por mltiples personas,
computadoras, sesiones o programas. Es un tipo de recurso compartido. Un
grupo de archivos puede compartirse:

Entre distintas computadoras de una red, con diferentes permisos para


cada una de ellas.

Entre distintas computadoras por internet con programas especiales


como los de P2P.

Entre distintas sesiones de usuarios de un sistema operativo

Entre distintos programas que utilizan iguales archivos. Por ejemplo,


muchos archivos DLL son compartidos por mltiples aplicaciones.

Primitivas enviar y Recibir


Algunos kernel tienen operaciones especficas ajustadas a la
invocacin remota. Amoeba, por ejemplo, tiene DoOperation/GetRequest--

SendReply. Es ms eficiente que el simple Send-Receive (y ms fiable y


legible). Amoeba y otros sistemas tienen tambin comunicacin con grupos o
radiado (parcial) (broadcast). Es importante para tolerancia de fallos, mejora
de rendimiento y reconfigurabilidad. Diversas variantes: como mensajes, como
mltiples RPCs, con un slo valor devuelto, con varios valores devueltos
(todos juntos o pidiendo uno a uno), etc.
En la prctica, mecanismos de comunicacin de alto nivel tales como
RPC/RMI, radiado y notificacin de sucesos (parecido a los manejadores de
interrupciones), se implementan en middleware y no en el kernel.
Normalmente, sobre un nivel TCP/IP, por razones de transportabilidad,
(aunque resulta ``caro").
La IPC ofrece un mecanismo que permite a los procesos comunicarse
y sincronizar sus acciones. La mejor forma de proveer la comunicacin entre
procesos es mediante un sistema de mensajes.
La funcin de un sistema de mensaje es permitir a los procesos
comunicarse entre s sin tener que recurrir a variables compartidas.
Un recurso IPC ofrece por los menos 2 operaciones:
- enviar (mensaje) (send) y recibir (mensaje) (receive).
Sea P y Q dos procesos que requieren comunicarse debern enviarse
mensajes; para ello debe existir un enlace de comunicacin entre ellos. Este
enlace puede implementarse de diversas maneras. Los mtodos para
implementar lgicamente un enlace y las operaciones de enviar / recibir son:

Comunicacin directa o indirecta

Uso de buffer automtico o explcito

Envo por copia o envo por referencia

Mensajes de tamao fijo o variables

Comunicacin directa:

Aqu cada proceso que desee comunicarse debe nombrar explcitamente el


destinatario o el remitente de la comunicacin. Este esquema se define las
primitivas de la siguiente manera:
- Enviar (P,mensaje): Enviar un mensaje al proceso P.
- Recibir (Q. Mensaje): Recibir un mensaje del proceso Q.
Con las siguientes propiedades:

Se establece automticamente el enlace entre cada par de procesos.


Lo procesos slo necesitan conocer la identidad de otro para la
comunicacin.

Solo hay un enlace entre cada par de procesos.

El enlace puede ser unidireccional o bidireccional.

Este esquema exhibe un simetra de direccionamiento; es decir, los procesos


tanto emisor como receptor necesitan nombrar al otro para comunicarse. Otra
variante de este esquema es utilizar asimetra de direccionamiento, con las
siguientes primitivas:
- Enviar (P, mensaje): enviar un mensaje al proceso P.
- Recibir (Id,mensaje) : recibir un mensaje de cualquier proceso con el que
hubo comunicacin.
Aqu slo el emisor nombra al destinatario; el destinatario no est obligado a
nombrar al emisor.
Comunicacin indirecta:

Aqu los mensajes se envan a, y se reciben de, buzones (tambin llamados


PUERTOS). Un buzn puede considerarse en lo abstracto como un objeto en
el que los procesos pueden colocar mensajes y del cual se pueden sacar
mensajes. Cada buzn tiene una identificacin nica. Aqu dos procesos se
pueden comunicarse slo si comparten un buzn. Las primitivas se definen
como:
- Enviar (A,mensaje): enviar un mensaje al buzn A.
- Recibir (A,mensaje): recibir un mensaje del buzn A.

Un enlace de comunicacin tiene las siguientes propiedades:

Se establece un enlace entre un par de procesos slo si tienen un buzn


compartido.

Un enlace puede estar asociado a ms de dos procesos.

Entre cada par de procesos en comunicacin puede haber varios


enlaces distintos, cada uno de los cuales corresponder a un buzn.

Los enlaces pueden ser unidireccionales o bidireccionales.

Hay varias formas de designar el dueo de y los usuarios de un buzn dado.


Una posibilidad es permitir que un proceso declare variables de tipo buzn. El
proceso que declara un buzn es el dueo de ese buzn. Cualquier otro
proceso que conozca el nombre de dicho buzn podr usarlo. Por otro lado,
un buzn propiedad del S.O tiene existencia propia; es independiente y no est
unido a ningn proceso especfico. El S.O establece un mecanismo que
permite a un proceso:

Crear un buzn nuevo

Enviar y recibir mensajes a travs del buzn

Destruir un buzn.

Formato de los mensajes

Un mensaje es un contenedor que se emplea para intercambiar informacin


entre dos o ms procesos. Los mensajes tienen un cierto formato
generalmente compuesto por una cabecera, que contiene informacin sobre
la fuente y el destinatario, y un cuerpo, que contiene informacin especfica.
Los mecanismos de mensajera se refieren al conjunto de funcionalidades que
permiten al sistema operativo realizar la entrega de un mensaje a uno o varios
procesos. Mediante dicho mecanismo tambin es posible resolver problemas
de concurrencia.
Los sistemas operativos generalmente ofrecen dos llamadas al sistema para
que un proceso pueda enviar y recibir mensajes:

send(destino, mensaje): Enva un mensaje a un destino.

receive(fuente, mensaje): Recibe un mensaje de una fuente.

Una operacin compuesta derivada de las primitivas bsicas es:

sendrec (dest_fuent, mensaje): Enva un mensaje a un destino y recoge la


respuesta.

Cualquier proceso que necesite comprobar si tiene mensajes para ser


procesados por l debe invocar la llamada al sistema recv.
Los formatos pueden ser:

Fijos: Los procesos acuerdan emplear un formato fijo para sus


mensajes.

Variable: Usado en Netlink para la codificacin de atributos de un


mensaje.

Mixto: Los procesos acuerdan emplear mensaje con partes cuyo


formato es fijo, como por ejemplo una cabecera inicial, seguido de
partes de tamao variable.

Conclusin

Luego de haber investigado y analizado se puede ver que se han


desarrollado varios tipos de sistemas operativos con diferentes interfaces y
categoras. Pero hemos podido observar que todos los sistemas operativos
han sufrido cambios por parte de los programadores, y siguen evolucionando.
El dilogo entre el usuario y la mquina suele realizarse a travs de una
interfaz de lnea de comandos o de una interfaz grfica de usuario (GUI, siglas
en ingls). Las interfaces de lnea de comandos exigen que se introduzcan
instrucciones breves mediante un teclado. Las GUI emplean ventanas para
organizar archivos y aplicaciones con iconos y mens que presentan listas de
instrucciones. El usuario manipula directamente estos objetos visuales en el
monitor sealndolos, seleccionndolos y arrastrndolos o movindolos con
un Mouse.
Existen diversos mtodos a nivel de lenguaje maquina y hardware que
permiten un manejo automatizado y verstil en lo que procesos o bien la
comunicacin entre ellos respecta, as como tambin la manipulacin de
archivos como compartimiento pero va mas all se que solo un usuario maneja
ya que lo que no es detectable a la vista que prcticamente todo una interfaz
que maneje todo tipo de objetos se le llama un sistema de archivos global.

También podría gustarte