Comunicación entre procesos mediante pipes en sistemas operativos
1.
2. La comunicación entre
procesos es una función
básica de los sistemas
operativos. Los procesos
pueden comunicarse entre sí
a través de compartir
espacios de memoria, ya
sean variables compartidas o
buffers, o a través de las
herramientas provistas por las
rutinas de IPC.
3. El siguiente ejemplo representa gráficamente la comunicación entre un
proceso padre y dos hijos en base a pipes(Permiten la comunicación y
sincronización entre procesos). En este caso, los dos procesos hijo, leen
datos de dos archivos, y se los envían mediante pipes(tuberías) al
proceso padre. El proceso padre lee la información de los pipes(tuberías)
y la envía a un archivo denominado destino.
4. Se utiliza el mecanismo de tubería (pipe)
estándar el cual permite a un proceso hijo
heredar un canal de comunicación con su
padre; los datos que se escriben en un
extremo de la tubería se leen en el otro.
Hay otro método que es la memoria
compartida que ofrece una forma
extremadamente rápida de comunicar
cantidades grandes o pequeñas de datos
5.
6. Síncrona
En esta comunicación quien
envía permanece
bloqueado esperando a que
llegue una respuesta del
receptor antes de realizar
cualquier otro ejercicio.
Asíncrona
En la comunicación
asíncrona quien envía
continúa con su ejecución
inmediatamente después
de enviar el mensaje al
receptor.
7. Persistente
El receptor no tiene que estar
operativo al mismo tiempo que
se realiza la comunicación, el
mensaje se almacena tanto
tiempo como sea necesario
para poder ser entregado (Ej.:
e-Mail).
Momentánea
El mensaje se descarta si el
receptor no está operativo al
tiempo que se realiza la
comunicación. Por lo tanto no
será entregado.
8. Directa
Aquí cada proceso que desee comunicarse
debe nombrar explícitamente el
destinatario o el remitente de la
comunicación.
Indirecta
La comunicación Indirecta: Es aquella
donde la comunicación está basada
en una herramienta o instrumento ya
que el emisor y el receptor están a
distancia.
9. La Gestión de Memoria es una
tarea realizada por el Sistema
Operativo de un computador que
consiste en cargar y descargar
procesos en memoria principal
para que sean ejecutados. Para
ello el S.O. gestiona lo que se
conoce como MMU o Unidad de
Administración de Memoria, el
cual es un dispositivo hardware
que transforma las direcciones
lógicas en físicas.
10. Ofrece a cada proceso un espacio lógico propio.
Proporcionar protección entre los procesos
Permitir que los procesos compartan memoria
Maximizar el rendimiento del sistema
12. Consiste que la memoria principal es divida en un conjunto de
marcos de igual tamaño. Cada proceso se divide en páginas de
igual tamaño que los marcos. Un proceso se carga situando todas
sus páginas en marcos libres pero no necesariamente contiguos.
Ventaja / Desventaja
Hay una pequeña
No tiene fragmentación
cantidad de
externa
fragmentación interna
13. Es un esquema de manejo de memoria mediante el cual la
estructura del programa refleja su división lógica; llevándose a cabo
una agrupación lógica de la información en bloques de tamaño
variable denominados segmentos.
14. Compila módulos
separados.
Comparte los
segmentos.
Conoce las unidades
lógicas
Modificación de los Los segmentos Define segmentos
cambios dentro de un crecen que aun no existan
modulo dinámicamente
15. Se basa en una gran reserva de
memoria donde se va asignando
Ventajas Desventajas
memoria en tiempo de compilación antes
• Sencilla de • Empleo
de que el programa asociado sea implementar, ineficiente de
poca la memoria
ejecutado. Para que un objeto pueda ser sobrecarga del debido a la
sistema fragmentación
almacenado en memoria estática su operativo. interna.
• El número de
tamaño ha de ser conocido en tiempo de procesos
activos es fijo.
compilación
16. Es una asignación a una dirección
base de cada elemento a partir de la
cual se va configurando la estructura de
datos; a diferencia de la asignación
• No hay • Uso ineficiente
Ventajas
Desventajas
dinámica, se encuentra la asignación fragmentación del procesador
interna. debido a la
estática, la cual se basa en una gran compactación
• Uso más para
reserva de memoria donde se van eficiente de la contrarrestar la
memoria fragmentación
asignando los elementos del programa principal. externa.
de forma contigua.
17. Es una técnica para
proporcionar la simulación de un
espacio de memoria mucho
mayor que la memoria física de
una máquina. Esta "ilusión"
permite que los programas se
hagan sin tener en cuenta el
tamaño exacto de la memoria
física.
18. - Los programas se pueden ejecutar por partes, la
memoria lógica puede ser mayor que la real disponible.
- Al cargar menos cantidad de cada programa se
necesitan menos operaciones de entrada y salida para
las operaciones de carga e intercambio de los mismos.
19. Es un identificador único para una ubicación de la
memoria con las cuales un CPU u otros dispositivos
puede almacenar, modificar o recuperar datos de la
misma.
Directo Indirecto Registro
Inmediato
Indirecto
Relativo Indexado Inherente