You are on page 1of 6

Concepto de proceso

Un proceso puede informalmente entenderse como un programa en ejecucin. Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecucin de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistemas asociados un proceso se refiere a las instrucciones que ejecutar el microprocesador mientras lee un programa determinado. Esto tambin implica a la memoria reservada y a sus contenidos, el estado de ejecucin en determinado momento, y la informacin que permite al sistema operativo planificar.

Estados y transiciones de los procesos


El estado de un proceso puede plasmarse como un grafico el cual asemeja una maquina virtual, as por ejemplo sea la siguiente figura que especifica el estatus de un proceso: Estados y transiciones de los procesos El estado de un proceso puede plasmarse como un grafico el cual asemeja una maquina virtual, as por ejemplo sea la siguiente figura que especifica el estatus de un proceso:

Estados y transiciones de un proceso

As por ejemplo cuando ninguno de los procesos en memoria principal est en estado Listo el sistema operativo expulsa hacia el disco a alguno de los procesos que este Bloqueado y lo pasa a alguna lista de Suspendidos. Transiciones. Nuevo>Listo Al crearse un proceso pasa inmediatamente al estado listo. Listo>Ejecutando

En el estado de listo, el proceso solo espera para que se le asigne un procesador para ejecutar (tener en cuenta que puede existir ms de un procesador en el sistema).Al liberarse un procesador el planificador (scheduler ) selecciona el prximo proceso, segn algn criterio definido, a ejecutar. Ejecutando>Listo Ante una interrupcin que se gener, el proceso puede perder el recurso procesador y pasar al estado de listo. El planificador ser el encargado

deseleccionar el prximo proceso a ejecutar. Ejecutando>Bloqueado A medida que el proceso ejecuta instrucciones realiza pedidos en distintos componentes (ej. :genera un pedido de E/S). Teniendo en cuenta que el pedido puede demorar y, adems, si est en un sistema multiprogramado, el proceso es puesto en una cola de espera hasta que se complete su pedido. De esta forma, se logra utilizar en forma ms eficiente el procesador. Bloqueado >Listo Una vez que ocurre el evento que el proceso estaba esperando en la cola de espera, el proceso es puesto nuevamente en la cola de procesos listos. Ejecutando->Terminado Cuando el proceso ejecuta su ltima instruccin pasa al estado terminado. El sistema libera las estructuras que representan al proceso

Procesos ligeros (Hilos o hebras)


.En la mayora de los sistemas operativos, estas dos caractersticas son, de hecho, la esencia de un proceso. Sin embargo, algunos argumentos pueden convencer de que estas dos caractersticas son independientes y que deben ser tratadas de manera independiente por el sistema operativo. Esto se hace as en una serie de sistemas operativos, en particular en algunos sistemas operativos de desarrollo reciente. Para distinguir estas dos caractersticas, la unidad de expedicin se conoce corno hilo(thread) o proceso ligero (lightweightprocess),mientras que a la unidad de propiedad de los recursos se le suele llamar proceso o tarea. Los beneficios clave de los hilos se derivan de las implicaciones del rendimiento: Se tarda mucho menos tiempo en crear un nuevo hilo en un proceso existente que en crear una nueva tarea, menos tiempo para terminar un hilo y menos tiempo para cambiar entre dos hilos de un mismo proceso. Por tanto, si hay

una aplicacin o una funcin que pueda implementarse como un conjunto de unidades de ejecucin relacionadas, es ms eficiente hacerlo con una coleccin de hilos que con una coleccin de tareas separadas. Algunos estudios llevados a cabo por los desarrolladores de Mach demuestran que la aceleracin en la creacin de procesos, comparada con la de Las implementaciones de UNIX que no utilizan hilos, est en un factor de 10

Concurrencia y secuenciabilidad
La concurrencia es el punto clave de los tres campos anteriores y fundamentales para el diseo de sistemas operativos. La concurrencia comprende un gran nmero de cuestiones de diseo, incluyendo la comunicacin entre procesos, comparticin y competencia por los recursos, sincronizacin de la ejecucin de varios procesos y asignacin del tiempo de procesador a los procesos. Se ver que estas cuestiones no solo surgen en entornos de multiprocesadores y proceso distribuido, sino incluso en sistemas multiprogramados con un solo procesador. La concurrencia puede presentarse en tres contextos diferentes: Varias aplicaciones: La multiprogramacin se cre para permitir que el tiempo de procesador de la mquina fuese compartido dinmicamente entre varios trabajos o aplicaciones activas. Aplicaciones estructuradas: Como ampliacin de los principios del diseo modular y la programacin estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes. Estructura del sistema operativo: Las mismas ventajas de estructuracin son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos estn implementados como un conjunto de procesos. En un sistema multiprogramado con un nico procesador, los procesos se intercalan en el tiempo para dar la apariencia de ejecucin simultnea . Aunque no se consigue un proceso paralelo real y aunque se produce una cierta sobrecarga en los intercambios de procesos de un sitio a otro, la ejecucin intercalada produce beneficios importantes en la eficiencia del procesamiento y en la estructuracin de los programas. En un sistema con varios procesadores, no solo es posible intercalar los procesos, sino tambin superponerlos. A primera vista, podra parecer que la intercalacin y la superposicin representan formas de ejecucin muy diferentes y que introducen problemas Niveles, Objetivos y Criterios de Planificacin

En pocas pasadas de los sistemas de procesamiento por lotes, con una entrada en forma de imgenes de tarjetas en una cinta magntica, el algoritmo de planificacin era sencillo: solo haba que ejecutar el siguiente trabajo en la cinta. En los sistemas de multiusuario de tiempo compartido, que se combinaban con un fondo de trabajos procesados en lote, el algoritmo era ms complejo. En forma invariable, existan varios usuarios en espera de servicio y podan existir tambin otros trabajos para ser procesados en lote. Incluso en los sistemas puros de tiempo compartido existen con frecuencia los trabajos colaterales, como el sistema de correo electrnico, que a menudo se ejecuta todo el tiempo para enviar o recibir correo o noticias. Cuando ms de un proceso es ejecutable, el Sistema Operativo debe decidir cul de ellos deber ejecutarse primero. Hay que tener una planificacin de los procesos que quieren ejecutarse en el sistema. La planificacin es una funcin primordial del Sistema Operativo. La mayora de los recursos, si no es que todos, se planifican antes de que se

utilicen. La asignacin de procesadores fsicos a los procesos hace posible que estos realicen su trabajo, y tal asignacin es un problema complejo manejado por el Sistema Operativo. Concepto de Planificacin

La planificacin hace referencia a un conjunto de polticas y mecanismos incorporados al sistema operativo que gobiernan el orden en que se ejecutan los trabajos que deben ser cumplimentados por el sistema informtico. Objetivo de la Planificacin

El objetivo principal de la planificacin es optimizar el rendimiento del sistema y proporcionar un buen servicio a todos los procesos que se encuentren en el. En general, la planificacin trata de cubrir los siguientes objetivos:

Justicia. La planificacin debe ser lo ms justa posible con todos los procesos, sin favorecer a unos y perjudicar a otros. Mxima capacidad de ejecucin. Debe dar un servicio eficiente para que todos los trabajos se realicen lo ms rpidamente posible. Esto se puede lograr disminuyendo el nmero de cambios de proceso. Mximo nmero de usuarios interactivos. En los sistemas de tiempo compartido se tratara de que puedan estar trabajando el mayor nmero de usuarios al mismo tiempo. Predecibilidad. La planificacin debe realizarse de tal forma que en todo momento pueda saberse como ser su ejecucin. Minimizacin de la sobrecarga. La computadora debe tener poca sobrecarga ya que esta afecta directamente al rendimiento final del sistema: a menor sobrecarga mayor velocidad de proceso. Equilibrio en el uso de recursos. Para obtener un mayor rendimiento en el uso de los recursos y que estos estn ocupados equitativamente el mayor tiempo posible. Seguridad de las prioridades. Si un proceso tiene mayor prioridad que otro, este debe ejecutarse mas rpidamente. Evitar la postergacin indefinida. Esto se logra aumentando la prioridad de un proceso mientras espere por un recurso. La prioridad llegara a ser tan alta que al proceso le ser asignado el recurso que pidi.

Criterios de planificacin

Para realizar los objetivos de la planificacin, un mecanismo de planificacin debe considerar lo siguiente:

La limitacin de un proceso a las operaciones de Entrada / Salida: cuando un proceso consigue la CPU, ?la utiliza solo brevemente antes de generar una peticin de Entrada / Salida?

La limitacin de un proceso a la CPU: cuando un proceso obtiene la CPU, ?tiende a usarla hasta que expira su tiempo? Si un proceso es por lote (batch) o interactivo: los usuarios interactivos deben recibir inmediato servicio para garantizar buenos tiempos de respuesta. ? Que urgencia tiene una respuesta rpida?: por ejemplo, un proceso de tiempo real de un sistema de control que supervise una refinera de combustible requiere una respuesta rpida, mas rpida que la respuesta requerida por un proceso en lotes (batch) que deber entregarse al da siguiente. La prioridad de un proceso: a mayor prioridad mejor tratamiento. Frecuentemente un proceso genera fallos (carencias) de pgina: o Probablemente los procesos que generan pocos fallos de pagina hayan acumulado sus conjuntos de trabajo en el almacenamiento principal. o Los procesos que experimentan gran cantidad de fallos de pagina aun no han establecido sus conjuntos de trabajo. o Un criterio indica favorecer a los procesos que han establecido sus conjuntos de trabajo. o Otro criterio indica favorecer a los procesos con una tasa alta de fallos de pagina ya que rpidamente generaran una peticin de Entrada / Salida. Frecuentemente un proceso ha sido apropiado por otro de ms alta prioridad, lo cual significa lo siguiente: o A menudo los procesos apropiados deben recibir un tratamiento menos favorable. o Cada vez que el Sistema Operativo asume la sobrecarga para hacer ejecutar este proceso, el corto tiempo de ejecucin antes de la apropiacin no justifica la sobrecarga de hacer ejecutar al proceso en primer lugar. Cuanto tiempo de ejecucin real ha recibido el proceso?: un criterio considera que debe ser favorecido un proceso que ha recibido muy poco tiempo de CPU.

Cuanto tiempo adicional va a necesitar el proceso para terminar?: los tiempos promedio de espera pueden reducirse priorizando los procesos que requieren de un tiempo de ejecucin mnimo para su terminacin, pero pocas veces es posible conocer la cantidad de tiempo adicional que cada proceso necesita para terminar.

Tcnicas Administracin del Planificador


Cuando ms de un proceso es ejecutable, el Sistema Operativo debe decidir cual de ellos debe ejecutarse en primer trmino. Esa parte del sistema operativo que debe de llevar a cabo esa decisin se llama planificador y el algoritmo que utiliza se llama algoritmo de planificacin.

El planificador intenta conseguir con su administracin de procesos lo siguiente:

Equidad: Garantizar que cada proceso obtenga su proporcin justa de la CPU. Es decir, que ningn proceso llegue a apoderarse por completo de la CPU.

Eficiencia: Mantener ocupada la CPU al 100 %, esto con el fin de evitar los tiempos ociosos que pueda tener el CPU.

Rendimiento: Maximizar el nmero de tareas procesadas por hora, es decir, que el CPU pueda atender todos y cada una de las peticiones que le fueron hechas.

Para garantizar que ningn proceso se ejecute un tiempo excesivo, casi todas las computadoras tienen un cronmetro electrnico o un reloj incluido, que provoca una interrupcin en forma peridica. En cada interrupcin del reloj, el sistema operativo logra ejecutarse y decidir si el proceso que se ejecuta en ese momento tiene permiso de continuar o si tiene el tiempo suficiente en la CPU por el momento, para despus suspenderlo para que otro proceso utilice la CPU. (Stephen Degler (2003). Administracin de sistemas Linux.).

You might also like