You are on page 1of 5

Sistemas Operativos

Sistemas Operativos II
Procesos y Planificacin

2012

Miguel ngel Soler Couoh

Procesos y Planificacin Modelos de Procesos En este modelo, todo el software ejecutable de la computadora, lo que a menudo incluye al sistema operativo, est organizado en una serie de procesos secuenciales, o simplemente procesos. Un proceso no es ms que un programa en ejecucin, e incluye los valores actuales del contador de programa, los registros y las variables. Conceptualmente, cada uno de estos procesos tiene su propia CPU virtual. Desde luego, en la realidad la verdadera CPU conmuta de un proceso a otro, pero para entender el sistema es mucho ms fcil pensar en una coleccin de procesos que se ejecutan en (seudo) paralelo que tratar de seguir la pista a la forma en que la CPU conmuta de un programa a otro. Esta rpida conmutacin se denomina multiprogramacin.

En la Fig. (b) vemos cuatro procesos, cada uno con su propio flujo de control (esto es, su propio contador de programa), ejecutndose con independencia de los otros. En la Fig. (c) vemos que si el intervalo de tiempo es suficientemente largo, todos los procesos avanzan, pero en un instante dado slo un proceso se est ejecutando realmente. Hilos y Procesos Ligeros Cada proceso es contemplado como una entidad dinmica que ejecuta una secuencia de instrucciones actuando sobre un conjunto de datos locales y sin relacin con el resto de procesos. Difcil implementacin de aplicaciones que necesitan compartir datos y recursos. Los hilos son objetos dinmicos cada uno de los cules ejecuta una secuencia de instrucciones y que comparten entre s los recursos del proceso. En un sistema multi-hilo, un proceso puede contener ms de un hilo. La comunicacin entre hilos se realiza a travs de memoria compartida, ya que cada hilo tiene acceso a los recursos del proceso.

Miguel ngel Soler

Concurrencia La concurrencia de una aplicacin es el nmero mximo de flujos de ejecucin secuenciales hilos que podra estar ejecutando simultneamente si contara con un nmero ilimitado de procesadores.

Proceso 1

Proceso 2

Proceso 3

Estado de los Procesos El proceso se ejecuta en modo usuario El proceso se ejecuta en modo supervisor El procesador no se est ejecutando, pero est listo para ejecutarse tan pronto como el planificador lo ordene El proceso est durmiendo cargado en memoria El proceso est listo para ejecutarse, pero el intercambiador debe cargar el proceso en memoria antes de que el planificador pueda ordenar que pase a ejecutarse El proceso est durmiendo y el intercambiador ha descargado el proceso hacia una memoria secundaria para crear espacio en la memoria principal donde poder cargar otros procesos El proceso est volviendo del modo supervisor al modo usuario, pero el ncleo se apropia del proceso y hace un cambio de contexto, pasando otro proceso a ejecutarse en modo usuario El proceso acaba de ser creado y est en un estado de transicin; existe, pero ni est preparado para ejecutarse (estado 3), ni durmiendo (estado 4). El proceso ejecuta la llamada exit y pasa al estado zombie.

Miguel ngel Soler

Seccin Crtica y Exclusin Mutua Cmo evitamos las condiciones de competencia? La clave para evitar problemas en sta y muchas otras situaciones en las que se comparte memoria, archivos o cualquier otra cosa es encontrar una forma de prohibir que ms de un proceso lea y escriba los datos compartidos al mismo tiempo. Dicho de otro modo, lo que necesitamos es exclusin mutua: alguna forma de asegurar que si un proceso est usando una variable o archivo compartido, los otros procesos quedarn excluidos de hacer lo mismo. El problema de evitar condiciones de competencia tambin puede formularse de manera abstracta. Una parte del tiempo, un proceso est ocupado realizando clculos internos y otras cosas que no dan pie a condiciones de competencia. Sin embargo, hay veces en que un proceso est accediendo a memoria o archivos compartidos, o efectuando otras tareas crticas que pueden dar lugar a competencias. Esa parte del programa en la que se accede a la memoria compartida se denomina regin crtica o seccin crtica. Si pudiramos organizar las cosas de modo que dos procesos nunca pudieran estar en sus regiones crticas al mismo tiempo, podramos evitar las condiciones de competencia. Aunque este requisito evita las condiciones de competencia, no es suficiente para lograr que los procesos paralelos cooperen de manera correcta y eficiente usando datos compartidos. Necesitamos que se cumplan cuatro condiciones para tener una buena solucin: 1. Dos procesos nunca pueden estar simultneamente dentro de sus regiones crticas. 2. No puede suponerse nada acerca de las velocidades o el nmero de las CPU. 3. Ningn proceso que se ejecute fuera de su regin crtica puede bloquear a otros procesos. 4. Ningn proceso deber tener que esperar indefinidamente para entrar en su regin crtica.

Planificacin de Procesos

Conjunto de polticas y mecanismos incorporados al sistema operativo, a travs de un mdulo denominado planificador, que debe decidir cul de los procesos en condiciones de ser ejecutado conviene ser despachado primero y qu orden de ejecucin debe seguirse. Esto debe realizarse sin perder de vista su principal objetivo que consiste en el mximo aprovechamiento del sistema, lo que implica proveer un buen servicio a los procesos existentes en un momento dado. Primero en llegar primero en ser servido Conocido como FCFS (First Come First Served). Este algoritmo emplea una cola de procesos, asignando un lugar a cada proceso por el orden de llegada. Cuando el proceso llega es puesto en su lugar en la cola despus del que lleg antes que l y se pone en estado de listo. Cuando un proceso comienza a ejecutarse no se interrumpe su ejecucin hasta que termina de hacerlo.

Miguel ngel Soler

Prioridad al ms corto Su nombre es SJF (Shortest Job First) El proceso que se encuentra en ejecucin cambiar de estado voluntariamente, o sea, no tendr un tiempo de ejecucin determinado para el proceso. A cada proceso se le asigna el tiempo que usar cuando vuelva a estar en ejecucin, y se ir ejecutando el que tenga un menor tiempo asignado. Si se da el caso de que dos procesos tengan igual valor en ese aspecto emplea el algoritmo FCFS.

Miguel ngel Soler

You might also like