Anda di halaman 1dari 61

UNIVERSIDADE CUENCA

243x159 1

Procesos y subprocesos
Manejo de procesos

585x395 3

Parte 1

Procesos

UNIVERSIDAD DE CUENCA

Procesos

A un servidor Web le llegan peticiones, verifica si la pgina est en cach, sino la busca en disco. Mientras esto se realiza, le llegan muchas ms peticiones Se necesita una forma de modelar y controlar esta concurrencia. Los proceso e hilos ayudan en esta tarea En computadoras de escritorio tambin se realizan tareas concurrentemente En cualquier sistema de multiprogramacin, la CPU conmuta de proceso a otro en d i dcimas o centsimas i d de milisegundos. ili d L La CPU ejecuta j un solo l proceso a l la vez.

UNIVERSIDAD DE CUENCA

El modelo de procesos

Todo el software ejecutable en la computadora se organiza en varios procesos secuenciales Un proceso es una instancia de un programa, incluye los valores del contador de programa, registros y variables Cada proceso tiene su propia CPU virtual (En la realidad es la CPU conmutada) La conmutacin rpida de proceso a proceso se denomina multiprogramacin

UNIVERSIDAD DE CUENCA

El modelo de procesos

Representaciones de procesos secuenciales

La velocidad de conmutacin no es la misma entre procesos debido a la naturaleza del proceso (Entrada/salida, clculos, accesos a memoria, etc) Existe un solo contador fsico. Cuando se ejecuta cada proceso se carga su contador lgico en el contador fsico

UNIVERSIDAD DE CUENCA

Analoga: Diferencia entre un programa y un proceso

Una persona va a cocinar una torta, tiene la receta y la cocina bien equipada. La receta es el programa: un algoritmo La persona es el CPU Los ingredientes son los datos de entrada El pastel es la salida El proceso es la actividad de leer la receta, usar los ingredientes y hornear el pastel A mitad i dd del l proceso su hij hijo entra a l la cocina i yl le di dice que una abeja b j l lo pic. i L La persona registra el punto actual en la receta (estado del proceso), saca un libro de primeros auxilios y lo lee. Luego de ocuparse de esto, la persona regresa a la receta del pastel Un proceso es una actividad de cierto tipo: tiene un programa, una entrada, una salida y un estado

UNIVERSIDAD DE CUENCA

Creacin de un proceso

Existen cuatro eventos que provocan la creacin de procesos: 1. El arranque del sistema: procesos en segundo plano (demonios) 2. La ejecucin, desde un proceso, de una llamada al sistema para la creacin de procesos 3. Una peticin de usuario para crear un proceso 4 El i 4. inicio i i d de un trabajo b j por l lotes

Los procesos que corren en background se los conoce como demonios o servicios En Unix y Windows, cuando se crea un proceso, el padre y el hijo tienen su propio espacio de direcciones

UNIVERSIDAD DE CUENCA

Creacin de un proceso

En Unix solo hay una llamada al sistema para crear procesos: fork Esta llamada crea un clon exacto del proceso que la ejecut Luego el proceso hijo ejecuta la llamada al sistema: execve para cambiar su imagen de memoria y ejecutar un nuevo programa En windows una sola llamada a una funcin de Win32: CreateProcess, maneja la creacin de procesos y carga el programa correcto en el nuevo proceso

UNIVERSIDAD DE CUENCA

Terminacin de procesos

Un proceso puede terminar debido a las siguientes condiciones: 1. Salida normal (voluntaria) 2. Salida por error (voluntaria) 3. Error fatal (involuntaria) 4. Eliminado por otro proceso (involuntaria)

UNIVERSIDAD DE CUENCA

Jerarquas de procesos

En algunos sistemas un proceso padre y un proceso hijo continan asociados. Un proceso hijo puede crear ms procesos hijo, formando de esta manera una jerarqua En Unix, un proceso, sus hijos y sus descendientes forman un grupo de procesos Cuando un usuario enva una seal por el teclado teclado, esta se enva a todos los miembros del grupo de procesos asociado al teclado (los proceso activos que se crearon en la ventana) Windows Wi d no tiene i un concepto d de j jerarqua d de procesos, todos d l los procesos son iguales.

UNIVERSIDAD DE CUENCA

Estados de un proceso

A menudo los procesos necesita interactuar unos con otros. Un proceso puede generar una cierta entrada para otro proceso Se pueden tener 3 estados de un proceso: 1. En ejecucin (el que est usando la CPU en ese instante) 1 2. Listo (ejecutable, se detuvo temporalmente para que se ejecute otro proceso) 3. Bloqueado (no puede ejecutarse sino hasta que ocurra cierto evento)

UNIVERSIDAD DE CUENCA

Implementacin de los procesos

Para implementar el modelo de procesos el SO mantiene una tabla llamada tabla de procesos (una entrada por cada proceso) Esta entrada contiene informacin importante del proceso: contador de programa, apuntador de pila, asignacin de memoria, estado de archivos abiertos, informacin de contabilidad y planificacin

UNIVERSIDAD DE CUENCA

Campos en una tabla tpica de procesos

UNIVERSIDAD DE CUENCA

Implementacin de los procesos

Con cada clase de E/S hay una ubicacin asociada a la cual se llama vector de interrupcin. Esta ubicacin contiene la direccin del procedimiento del servicio de interrupciones Todas las interrupciones empiezan por guardar los registros en la entrada de la tabla de procesos para el proceso actual

UNIVERSIDAD DE CUENCA

Modelacin de la multiprogramacin

Un proceso gasta una fraccin p de su tiempo esperando a que se complete una operacin de E/S. Con n proccesos en memoria a la vez, la probabilidad de que todos los n procesos estn esperando la E/S es pn El uso de la CPU se obtiene mediante la frmula UsoCPU = 1 pn

UNIVERSIDAD DE CUENCA

585x395 3

Parte 2

Hilos

UNIVERSIDAD DE CUENCA

Uso de hilos

A los hilos se los conoce como miniprocesos, procesos dentro de otros procesos La razn principal para tener hilos es que en muchas aplicaciones se desarrollan varias actividades a la vez Se tiene la habilidad de que los hilos que se ejecutan paralelamente paralelamente, comparten un espacio de direcciones y los datos entre ellas (lo opuesto a los procesos que no comparten ni espacio de direcciones ni datos) Los hil L hilos son procesos li ligeros, son ms f fciles il d de crear y d destruir. i C Corren d de 10 a 100 veces ms rpido que un proceso Los hilos son tiles en sistemas con varios procesadores, debido a que es posible el paralelismo

UNIVERSIDAD DE CUENCA

Ejemplos de hilos

Procesador de palabras Reproductor de msica Quemador de CD/DVD Servidor Web

UNIVERSIDAD DE CUENCA

El modelo clsico de hilo

El hilo tiene: un contador del programa, registros de variables de trabajo, pila de historial de ejecucin, conjunto de valores para cada procedimiento al que se haya llamado pero no hay respondido todava Lo que agregan los hilos al modelo de procesos es permitir que se lleven a acabo ejecuciones en el mismo entorno del proceso El trmino multihilamiento describe la situacin de permitir la ejecucin de varios hilos dentro del mismo proceso

UNIVERSIDAD DE CUENCA

El modelo clsico de hilo

Los hilos comparten las mismas variables globales. Cada hilo puede acceder a cada direccin de memoria dentro del espacio de direcciones del proceso, un hilo puede leer, escribir o borrar la pila de otro hilo No hay proteccin entre los hilos Un usuario dueo de un proceso crea varios hilos para que cooperen, no para que peleen Comparten:

UNIVERSIDAD DE CUENCA

El modelo clsico de hilo

Si un hilo abre un archivo, este es visible y utilizable por los dems hilos, es decir, los dems hilos pueden escribir y leer contenido en ese archivo Un hilo puede en estar en uno de varios estados: ejecucin, bloqueado, listo o terminado Cada hilo tiene su propia pila. Esto debido a que cada hilo llama a distintos procedimientos y por ende, tiene un historial de ejecucin diferente.

UNIVERSIDAD DE CUENCA

Hilos en POSIX

Para que sea posible escribir programas con hilos porttiles, el IEEE ha definido un estndar para los hilos conocido como 1003.1c el paquete de hilos se conoce como Pthreads. La mayora de sistemas UNIX acepta este paquete El estndar define ms de 60 llamadas a funciones Cada hilo tiene un identificador, un conjunto de registros y un conjunto de atributos que son almacenados en una estructuar

UNIVERSIDAD DE CUENCA

585x395 3

Parte 3

IPC

UNIVERSIDAD DE CUENCA

Comunicacin entre procesos IPC

Con frecuencia los procesos necesitan comunicarse entre ellos Existen varias cuestiones a ser respondidas: Como un proceso pasa informacin a otro? Como hacer que dos o ms proceso no se interpongan? Como lograr una secuencia de procesamiento correcto, cuando existen varios procesos dependientes?

UNIVERSIDAD DE CUENCA

Condicin de carrera

En algunos sistemas, los procesos que trabajan en conjunto pueden compartir cierto espacio de almacenamiento en el que pueden leer y escribir datos Ejemplo: spooler de impresin Cuando un proceso desea imprimir un archivo, introduce el nombre del archivo en un directorio de spooler. spooler El demonio de impresin comprueba en forma peridica si hay archivos que deban imprimirse Condiciones donde 2 o ms procesos estn leyendo o escribiendo algunos datos compartidos y el resultado final depende de quin ejecuta, se conocen como condiciones de carrera

UNIVERSIDAD DE CUENCA

Regiones crticas

Se debe buscar prohibir que ms de un proceso lea y escriba los datos compartidos al mismo tiempo (Exclusin mutua) Una regin crtica es la memoria compartida entre procesos. Se debe ordenar las cosas para que dos procesos nunca estn en sus regiones crticas al mismo tiempo Se necesitan cumplir con cuatro condiciones: 1 N 1. No puede d h haber b d dos procesos d de manera simultnea i l d dentro d de sus regiones i crticas 2. No pueden hacerse suposiciones acerca de las velocidades o el nmero de CPU (ejecucin no determinista) 3. Ningn proceso que se ejecute fuera de su regin crtica puede bloquear otros procesos 4. Ningn proceso puede esperar para siempre para entrar a su regin crtica

UNIVERSIDAD DE CUENCA

Exclusin mutua mediante regiones crticas

UNIVERSIDAD DE CUENCA

Exclusin mutua con espera ocupada

A continuacin se analizarn varias proposiciones para lograr la exclusin mutua, de manera que mientras un proceso est ocupada actualizando la memoria compartida en su regin crtica, ningn otro proceso puede entrar a su regin crtica y ocasionar problemas

UNIVERSIDAD DE CUENCA

Deshabilitando interrupciones

en un sistema con un solo procesador, la solucin ms simple es hacer que cada proceso deshabilite todas las interrupciones justo despus de entrar a su regi crtica y las rehabilite justo despus de salir No pueden ocurrir interrupciones de reloj (la CPU conmuta de un proceso a otro solo como resultado de una interrupcin del reloj) Con las interrupciones deshabilitadas no existir conmutacin P bl Problemas: - Que un proceso deshabilite las interrupciones y no las devuelva - En un sistema multiprocesador, solo se deshabilitar un ncleo, los dems seguirn activos

UNIVERSIDAD DE CUENCA

Deshabilitando interrupciones

Este acercamiento est dejndose de usar debido al creciente nmero de chips multincleo que se encuentran hasta en PCs de bajo rendimiento

UNIVERSIDAD DE CUENCA

Variables de candado

Esta es una solucin de software Por ejemplo se puede tener una variable (candado) que inicialmente es 0. cuando un proceso desea entrar a su regin crtica primero evala el candado. Si el candado es 0, el proceso fija en 1 y entra a la regin crtica. Si el candado ya es 1, slo espera hasta que el canado se haga 0 Un 0 significa que ningn proceso est en su regin crtica y un 1 significa que el proceso debe esperar hasta que el candado se haga 0 Est solucin no funciona si es que se produce una condicin de carrera

UNIVERSIDAD DE CUENCA

El problema del productor-consumidor

Dos procesos comparten un buffer comn de tamao fijo. El productor coloca informacin en el buffer y el consumidor lee esta informacin del buffer El problema se da cuando el productor desea colocar un nuevo elemento en el buffer, pero este ya se encuentra lleno. El productor se duerme (desactiva) y se despierte cuando el consumidor haya ledo algn dato del buffer y existan espacio Se debe tener una variable contador para el nmero de elementos en el buffer actuales Cada uno de los procesos comprueba si el otro se debe despertar

UNIVERSIDAD DE CUENCA

Semforos

E. W. Dijkstra sugiri el uso de una variable entera para contar el nmero de seales de despertar, guardadas para un uso futuro (semforo) Un semforo tiene un valor de 0 cuando no se guardaron seales de despertar o algn valor positivo si estuvieran pendientes una o ms seales de despertar Tiene 2 operaciones down y up (sleep y wakeup). La operacin down verifica si el semforo es mayor a 0, de ser as disminuye el valor del semforo. La operacin L i up i incrementa el l valor l d del l semforo. f Si uno o ms procesos estaban b esperando esa seal, el sistema selecciona uno de ellos al azar y permite que complete su operacin down

UNIVERSIDAD DE CUENCA

Resolver problema productor-consumidor (Semforos)

Los semforos resuelven el problema de prdida de seales de despertar. Lo normal es implementar up y down como llamadas al sistema, en donde el sistema operativo deshabilita brevemente todas las interrupciones, mientras evala el semforo

UNIVERSIDAD DE CUENCA

Mutexes

Son usados cuando no se necesita la habilidad del semforo de contar Es una variable que puede estar en uno de los dos estados: abierto (desbloqueado) o cerrado (bloqueado) Cuando un hilo necesita acceso a una regin crtica Si el mutex est actualmente abierto, el hilo llamador puede entrar a la regin crtica Si el mutex est cerrado, el hilo que hizo la llamada se bloquea hasta que el hilo que est en la regin crtica termine

UNIVERSIDAD DE CUENCA

Monitores

Son abstracciones de mayor nivel Es una coleccin de procedimientos, variables y estructuras de datos que se agrupan en un tipo especial de mdulo o paquete Los procesos pueden llamar a los procedimientos en un monitor cuando lo deseen deseen, pero no pueden acceder a sus estructuras de datos desde procedimientos fuera del monitor S l puede Solo d h haber b un solo l proceso activo i en un monitor i en cualquier l i i instante

UNIVERSIDAD DE CUENCA

Planificacin

Cuando varios procesos o hilos compiten por el procesador, hay que decidir cul proceso se va a ejecutar a continuacin La parte del SO que realiza esta operacin se llama planificador de procesos y el algoritmo que utiliza se lo conoce como algoritmo de planificacin En los antiguos sistemas en batch, el algoritmo de planificacin era muy simple, ejecutaba el siguiente trabajo en la cinta magntica

UNIVERSIDAD DE CUENCA

Pasaje (transmisin de mensajes)

Este mtodo de comunicacin entre procesos utiliza dos primitivas (send y receive) que son llamadas al sistema en vez de construcciones del lenguaje send(destino, &mensaje) receive(origen, &mensaje)

UNIVERSIDAD DE CUENCA

585x395 3

Parte 4

Pl ifi Planificacin i

UNIVERSIDAD DE CUENCA

Planificacin

Cuando varios procesos estn en estado listo y solo hay una CPU, hay que decidir cual proceso de va a ejecutar a continuacin La parte del SO que realiza esta tarea se llama planificador de procesos y el algoritmo que usa se lo conoce como algoritmo de planificacin En las primeras pocas de la programacin donde imperaban los trabajos por lotes, el algoritmo era simple, se ejecutaban los procesos en orden Con l C la multiprogramacin li i este algoritmo l i se volvi l i mas complejo. l j Al Algunos mainframes todava usan ambas tcnicas. Deciden si el trabajo es parte de un procesamiento por lotes o de una sesin interactiva

UNIVERSIDAD DE CUENCA

Planificacin

Al tratarse de procesos en una computadora personal, el planificador no se complica demasiado. Los procesadores actuales tienen capacidad de cmputo suficiente para servir las peticiones con velocidad Este panorama cambia con los procesos en sistemas de servidor. El SO debe escoger entre los procesos de usuario y procesos locales que son clave para el sistema operativo

UNIVERSIDAD DE CUENCA

Comportamiento de procesos

El proceso a usa ms CPU que E/S El proceso b usa ms E/S que CPU Los procesos tienden ms hacia un escenario b debido a que los procesadores se desarrollan ms rpido que los discos duros

UNIVERSIDAD DE CUENCA

Cuando planificar procesos

1. Cuando se crea un nuevo proceso. Se debe elegir cual de los 2 procesos, el padre o el hijo deben ser ejecutados. Ambos procesos estn en estado listo 2. Cuando un proceso termina. Ese proceso ya no se debe ejecutar (por que ya no existe). Se debe elegir otro proceso. De no haber otro proceso, se ejecuta uno inactivo suministrado por el sistema inactivo 3. Cuando un proceso de bloquea por esperar una operacin de E/S, un semforo, etc. 4. Cuando ocurre una interrupcin de E/S. Esto podra hacer que un proceso que estuvo esperando una operacin de E/S despierte y necesite ser ejecutado

UNIVERSIDAD DE CUENCA

Algoritmos de planificacin

Los algoritmos de planificacin se dividen en 2 categoras: 1. No apropiativos: este algoritmo selecciona un proceso para ejecutarlo y despus slo deja que se ejecute hasta que el mismo de bloquea o hasta que libera la CPU de forma voluntaria 2. Apropiativos: selecciona un proceso y deja que se ejecute por un mximo de tiempo fijo. Si sigue en ejecucin al final del intervalo de tiempo, se suspende y el planificador selecciona otro proceso para ejecutarlo. Es necesario que ocurra una interrupcin i i d de reloj l j al l fi final ld del li intervalo l

UNIVERSIDAD DE CUENCA

Categoras de los algoritmos de planificacin

Lo que el planificador debe optimizar no es lo mismo en todos los sistemas operativos. 1. Procesamiento por lotes Nminas, inventarios Nminas inventarios, cuentas por cobrar cobrar, cuentas por pagar pagar, clculos de inters inters. Aqu son aceptables los algoritmos no apropiativos 2. Interactivo Son aceptables los algoritmos apropiativos para que un proceso no acapare toda la CPU y niegue el servicio a los dems

UNIVERSIDAD DE CUENCA

Categoras de los algoritmos de planificacin

4. De tiempo real A veces la apropiacin es no es necesaria por que los procesos saben que no se pueden ejecutar durante periodos extensos. Realizan su trabajo y se bloquean con Rapidez. La diferencia con un sistema interactivo es que los sistemas en tiempo Real ejecutan programas destinados para ampliar la aplicacin en cuestin

UNIVERSIDAD DE CUENCA

Metas de los algoritmos de planificacin

Para todos los sistemas: Equidad: otorgar a cada proceso una parte justa de la CPU Aplicacin de polticas: verificar que se cumplan Balance: mantener ocupadas todas las partes del sistema Para los sistemas de procesamiento por lotes: Rendimiento: maximizar el nmero de trabajos por hora Ti Tiempo d retorno: minimizar de i i i el l tiempo i entre l la entrega y l la terminacin i i Utilizacin de la CPU: Mantener ocupada la CPU todo el tiempo

UNIVERSIDAD DE CUENCA

Metas de los algoritmos de planificacin

Para sistemas interactivos: Tiempo de respuesta: responder a las peticiones con rapidez Proporcionabilidad: cumplir las expectativas de los usuarios Para sistemas de tiempo real: Cumplir con los plazos: evitar perder datos Predictabilidad: evitar la degradacin de la calidad en los sistemas multimedia

UNIVERSIDAD DE CUENCA

Planificacin en sistemas de procesamiento por lotes

Primero en entrar, primero en ser atendido: La CPU se asigna a los procesos en el orden en el que la solicitan. Hay una sola cola de procesos listos Un trabajo no se interrumpo an y si se ha ejecutado demasiado tiempo Cuando un trabajo se bloquea, vuelve al estado listo E fcil Es f il d de comprender, d programar y equitativo i i Tiene una importante desventaja. Es un algoritmo muy lento si se tienen muchas operaciones de E/S en el proceso

UNIVERSIDAD DE CUENCA

Planificacin en sistemas de procesamiento por lotes

El trabajo ms corto primero: Asume que los tiempos de ejecucin se conocen de antemano. Cuando hay varios trabajos de igual importancia esperando a ser iniciados en la cola de entrada, el planificador selecciona el trabajo ms corto primero

El tiempo promedio de ejecucin para un proceso en el ejemplo a es de 14 minutos y en b es de 11 minutos

UNIVERSIDAD DE CUENCA

Planificacin en sistemas de procesamiento por lotes

El menor tiempo restante a continuacin: Es una versin apropiativa del algoritmo tipo del trabajo ms corto primero. El planificador siempre selecciona el proceso cuyo tiempo restante de ejecuin sea le ms corto Se debe conocer el tiempo de ejecucin de antemano. Cuando llega un nuevo trabajo, su tiempo total se compara con el tiempo restante del proceso actual. Si el nuevo trabajo necesita menos tiempo para terminar que el proceso actual, ste se suspende d y el l nuevo trabajo b j se i inicia i i

UNIVERSIDAD DE CUENCA

Planificacin en sistemas interactivos

Planificacin por turno circular A cada proceso se le asigna un intervalo de tiempo, conocido como quntum, durante el cual se le permite ejecutarse. Si el proceso se sigue ejecutando al final del quntum, la CPU es apropiada para drsela a otro proceso. Si el proceso se bloquea o termina antes de que haya transcurrido el tiempo tiempo, la conmutacin de la CPU se realiza cuando el proceso se bloquea

UNIVERSIDAD DE CUENCA

Planificacin en sistemas interactivos

Planificacin por turno circular Para conmutar un proceso se requiere cierta cantidad de tiempo por asuntos de administracin. Guardar y cargar registros como mapas de memoria, actualizar varias tablas y listas, vaciar y recargar la memoria cach, etc. El tiempo del quntum es un tiempo desperdiciado. Ejemplo: el tiempo administrativo es de 1 ms, el tiempo del quantum es de 4 ms. Como resultado el 20% del tiempo del CPU es desperdiciado Una mejora podra ser aumentar el tiempo del quantum. Esto podra generar si se tienen muchos procesos en espera, que para que un proceso se ejecute tenga que esperar mucho tiempo

UNIVERSIDAD DE CUENCA

Planificacin en sistemas interactivos

Planificacin por prioridad El algoritmo anterior supone que todos los procesos tienen igual prioridad. Mediante este algoritmo, a cada proceso se le asigna una prioridad y el proceso ejecutable con la prioridad ms alta es el que puede ejecutar Para evitar que los procesos con alta prioridd se ejecuten de manera indefinida, el planificador puede reducir la prioridad del proceso actual ene ejecucin en cada pulso del reloj (interrupcin de reloj). Esta prioridad ir disminuyendo hasta que exista i otro proceso con prioridad i id d mayor y se realizar li una conmutacin i Tambin se podra asignar un valor de quantum mximo

UNIVERSIDAD DE CUENCA

Planificacin en sistemas interactivos

Mltiples colas Se establecen colases de prioridades. Los procesos en la clase ms alta se ejecutaban durante un quntum. Los proceso en la siguiente clase ms alta se ejecutaban por dos quntums. Los procesos en la siguiente clase se ejecutaban por cuatro quntums y as sucesivamente. sucesivamente Cada vez que un proceso utilizaba todos los quntums que tena asignados, se mova una clase hacia abajo en la jerarqua

UNIVERSIDAD DE CUENCA

Planificacin en sistemas interactivos

El proceso ms corto a continuacin Los procesos interactivos siguen el patrn de esperar un comando, ejecutarlo, esperar un comando, ejecutarlo, etc. Si se considera la ejecucin de un comando como un trabajo separado, se podra minimizar el tiempo de erspuesta total mediante la ejecucin dems corto primero primero. Se debe averiguar cul de los proceso actuales ejecutables es el ms corto

UNIVERSIDAD DE CUENCA

Planificacin en sistemas interactivos

Planificacin por sorteo Al idea es dar a los proceso boletos de lotera para diversos recursos del sistema (como tiempo en la CPU). Cada vez que hay que tomar una decisin de planificacin, se selecciona un boleto de lotera al azar y el proceso que tiene ese boleto obtiene el recurso recurso. Cuando se aplica a al planificacin e la CPU CPU, el sistema podra realizar un sorteo 50 veces por segundo y cada ganador obtendra 20 ms de tempo en la CPU L procesos i Los importantes pueden d recibir ibi b boletos l extra Los procesos cooperativos pueden intercambiar sus boletos

UNIVERSIDAD DE CUENCA

Planificacin en sistemas interactivos

Planificacin por partes equitativas Algunos sistemas toman en consideracin quin es el propietario de un proceso antes de planificarlo. A cada usuario se le asigna cierta fraccin de la CPU y el planificador selecciona procesos de tal forma que se cumpla con este modelo. Si dos usuarios se les prometi 50% del tiempo e la CPU para cada uno uno, eso es lo que obtendrn

UNIVERSIDAD DE CUENCA

Planificacin en sistemas de tiempo real

El tiempo desempea un papel esencial. Uno o ms dispositivos fsicos externos a la computadora generan estmulo y la computadora debe reaccionar de manera apropiada a ellos dentro de cierta cantidad de tiempo Ejemplo: la computadora en un reproductor de msica recibe los bits a medida que provienen de la unidad y debe convertirlos en msica msica, en un tiempo pequeo pequeo. Otros ejemplos: sistemas de monitoreo en cuidados intensivos, pilotos autmticos Estos sistemas se categorizan como de tiempo real duro (los tiempos lmite son absolutos b l y se d deben b cumplir) li ) y d de tiempo i real l suave ( (no es conveniente i f fallar ll en un tiempo lmite pero es tolerable)

UNIVERSIDAD DE CUENCA

Poltica contra mecanismo

Cuando un proceso genera varios procesos hijo, este puede saber cual de todos estos es ms importante, pero los mecanismos anteriores no La solucin a este problema es separar el mecanismo de planificacin de la poltica de planificacin Los mecanismos de planificacin estn parametrizados de cierta forma El proceso padre puede usar una llamada al sistema para modificar las prioridades d sus hij de hijos El mecanismo est en el kernel pero la poltica se establece mediante un proceso de usuario

UNIVERSIDAD DE CUENCA

Planificacin de hilos

UNIVERSIDAD DE CUENCA

Anda mungkin juga menyukai