Apuntes de clase 8/04/10
La CPU cambia de proceso a proceso.
en una ejecución para cambiar de un proceso a otro el sistema se interrumpe por llamado del sistema, se guarda el estado del proceso actual y se carga el estado guardado del nuevo. A este cambio se le llama cambio de contexto. (Context switch)
Planificadores:
El planificador de corto plazo o planificador de CPU que selecciona que proceso debe ser ejecutado enseguida y se le asigna la CPU. El despachador trabaja en un lapso de milisegundos.
Planificador de medio plazo: intermedio, se dan para los procesos que se encuentran bloqueados porque requieren mas tiempo para empezar con su ejecución.
Planificador de largo plazo, que controla el grado de multiprogramación.
Los procesos pueden ser descritos como:
Los procesos padres crean hijos, los cuales, a su vez crean otros procesos, conformando un arbol de procesos.
Recursos compartidos:
Los procesos independientes no pueden afectar o ser afectados por la ejecucion de otros procesos. Los procesos cooperativos pueden afectar otros porcesos.
El problema de productores y consumidores es un paradigma de los procesos cooperativos, los productores producen informacion que es consumida por los procesos consumidores.
Hilos
Es la capacidad de subdividir procesos, permitiendo dividir recursos entre sus subprocesos. Un ambiente multihilos es la capacidad de un sistema operativo para soportar múltiples trayectorias concurrentes de ejecución dentro un mismo programa.
MS-DOS utiliza un solo proceso como un solo hilo.
Para los primeros SO Unix se daba varios procesos cada uno con su hilo.
En ambientes como java se pueden correr un solo proceso con multiples hilos.
En SO mas complejos de Windows, Solaris y Unix soportan multiproceso y multihilos.
En una tarea ultihilo, mientras un hilo servidor esta bloqueado y esperando, un segundo hilo en la misma tarea puede estar corriendo.
El nucleo puede apoyar los hilos como en Mach y OS/2
Los hilos a nivel de usuario; soportados arriba por el kernel, a través de una serie de llamadas de biblioteca en el nivel del usuario (como en el proyecto CMU de Andrew)
Un enfoque hibrido implementa tanto los hilos a nuivel de usuario como hilos apoyados por el kernel (como Solaris 2)
en una ejecución para cambiar de un proceso a otro el sistema se interrumpe por llamado del sistema, se guarda el estado del proceso actual y se carga el estado guardado del nuevo. A este cambio se le llama cambio de contexto. (Context switch)
Planificadores:
El planificador de corto plazo o planificador de CPU que selecciona que proceso debe ser ejecutado enseguida y se le asigna la CPU. El despachador trabaja en un lapso de milisegundos.
Planificador de medio plazo: intermedio, se dan para los procesos que se encuentran bloqueados porque requieren mas tiempo para empezar con su ejecución.
Planificador de largo plazo, que controla el grado de multiprogramación.
Los procesos pueden ser descritos como:
- Procesos limitados por E/S
- Procesos limitados por CPU
Los procesos padres crean hijos, los cuales, a su vez crean otros procesos, conformando un arbol de procesos.
Recursos compartidos:
- los procesos hijos e hijos comparten los recursos.
- los hijos comparte un subconjunto de los recursos del padre.
- el padre y el hijo no comparten recursos.
- el padre y el hijo se encuentran concurrentemente.
- el padre espera a que termine el hijo.
- el hijo duplica el del padre
- se carga un programa en proceso hijo
Los procesos independientes no pueden afectar o ser afectados por la ejecucion de otros procesos. Los procesos cooperativos pueden afectar otros porcesos.
El problema de productores y consumidores es un paradigma de los procesos cooperativos, los productores producen informacion que es consumida por los procesos consumidores.
- Buffer ilimitado no es establece un limite práctico para el tamaño del buffer.
- El buffer limitado asume que hay un tamaño fijo de buffer.
Hilos
Es la capacidad de subdividir procesos, permitiendo dividir recursos entre sus subprocesos. Un ambiente multihilos es la capacidad de un sistema operativo para soportar múltiples trayectorias concurrentes de ejecución dentro un mismo programa.
MS-DOS utiliza un solo proceso como un solo hilo.
Para los primeros SO Unix se daba varios procesos cada uno con su hilo.
En ambientes como java se pueden correr un solo proceso con multiples hilos.
En SO mas complejos de Windows, Solaris y Unix soportan multiproceso y multihilos.
En una tarea ultihilo, mientras un hilo servidor esta bloqueado y esperando, un segundo hilo en la misma tarea puede estar corriendo.
- la cooperacion de multiples hilos en el mismo trabajo le proporciona un alto rendimiento y mejora la eficiencia.
- las aplicaciones que requiernen compartir en buffer comun (por ejemplo, productor-consumidor) se benefician de la utilizacion de hilos.
El nucleo puede apoyar los hilos como en Mach y OS/2
Los hilos a nivel de usuario; soportados arriba por el kernel, a través de una serie de llamadas de biblioteca en el nivel del usuario (como en el proyecto CMU de Andrew)
Un enfoque hibrido implementa tanto los hilos a nuivel de usuario como hilos apoyados por el kernel (como Solaris 2)
Comentarios
Publicar un comentario