Subido por Felipe Guzmán

Procesos(3)

Anuncio
Procesos:
Control y Planificación
Unidad II
Objetivos
• Aboradar la sub-utilización del CPU: latencia y paralelismo
• Entender qué es un proceso
• Comprender el cómo se implementan un Sistema
Operativo
¿Qué veremos
hoy?
1. Concepto de Proceso
1.¿Para qué?
2.¿Qué es un proceso?
2. Comunicación entre
procesos
3. Procesos y
organización de
memoria
4. Comunicación entre
procesos
Procesos: ¿Para qué?
1. Reducción de
latencia (tiempos
de espera)
Fte: http://bit.ly/2TYlHoT
Latencia de
procesos
(tiempo de espera)
Procesos secuenciales:
! 40 segundos para que segundo
proceso se complete.
Concurrentemente:
! Un proceso termina antes
! El otro proceso es más lento que si
tuviese toda la máquina para él solo
2. Incremento de
uso de CPU
! Utilizar CPU en otro proceso,
mientras uno está en espera.
¿Qué es un proceso?
Proceso
• Corresponde a la instancia de un
programa que se está ejecutando
• Los SOs modernos ejecutan
procesos de forma simultánea
• Ej: Word, Excel y Spotify pueden
ejecutarse en paralelo.
• Contra-ejemplo (un solo proceso)
• Ventanas múltiples de Firefox
Procesos en el mundo real
• Los procesos y el paralelismo existen de hace mucho más tiempo que los
Sist. Operativos.
• Ej: A un trabajador le toma 10 meses fabricar un objeto.
• La compañía puede contratar 100 trabajadores para fabricar 100 objetos.
• Latencia para primer objeto >> 1/10 meses
• Velocidad será < 10 objetos por mes (si no se logra paralelismo perfecto)
• Y 100 trabajadores haciendo 10mil objetos, pueden lograr una velocidad
> 10 objetos por mes
Ahora a la máquina…
Procesos y memoria
• Cada proceso tiene su propio espacio de
memoria reservado
•Su propio espacio de direcciones de
memoria - *(char *=0xc000) diferente
para P1 y P2.
•Sus propios archivos abiertos
•Sus propios CPUs virtuales (preemptive
multitasking: tiempos de CPU para cada
proceso)
• Simplifica el modelo de programación.
•gcc es independiente de la ejecución de
Word.
• A veces se requiere interacción entre
procesos.
•A través de archivos: editor de texto
edita archivos de texto, compilador
compila archivo.
•Entre comandos: pipes o tuberías en
UNIX/Linux.
Comunicación
entre procesos
En tiempo real:
a) Intercambiando mensajes a través del
kernel
b) Compartiendo una región de memoria
física
c) A través de señales asíncronas
¿Objetivos logrados?
• Abordar la sub-utilización del CPU: latencia y paralelismo
• Entender qué es un proceso
• Comprender el cómo se implementan un Sistema
Operativo
Descargar