Está en la página 1de 16

Instituto Tecnolgico Superior de la Sierra Negra de Ajalpan

Ingeniera en Sistema Computacional Materia: Sistema Operativo Trabajo de Investigacin Unidad II Administracin de Procesos y del procesador i. ii. iii. iv. v. vi. Concepto de proceso Estados y transiciones de los procesos Procesos ligeros: Hilos o hebras Concurrencia y secuenciabilidad. Niveles, objetivos y criterios de planificacin. Tcnicas de administracin del planificador. Alumno: Isaac Garca Quevedo Catedrtico: Ing. Marco Antonio Isidro Abril Ciclo escolar: 2012-2013. Semestre: Tercer Semestre.

Ajalpan, Puebla a 04 de Septiembre del 2012.

ndice Concepto de procesos ......................................................................................................................... 3 Estados y transiciones de los procesos ............................................................................................... 4 Transiciones de estado de los procesos .............................................................................................. 5 Concurrencia y secuencialidad. ........................................................................................................... 9 BENEFICIOS DE LA CONCURRENCIA .............................................................................................. 10 DESVENTAJAS DE LA CONCURRENCIA........................................................................................... 10 Niveles, objetivos y criterios de planificacin. .................................................................................. 10 Concepto de Planificacin ............................................................................................................. 10 Objetivo de la Planificacin ........................................................................................................... 11 Criterios de planificacin............................................................................................................... 12 Tcnicas de administracin del planificador. .................................................................................... 13 ALGORITMOS DE PLANIFICACIN ................................................................................................. 14 Planificacin por prioridad ............................................................................................................ 14 Colas mltiples .............................................................................................................................. 15 Planificacin garantizada .............................................................................................................. 15 Bibliografa ........................................................................................................................................ 16

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 2

Concepto de procesos
En informtica o en Ingeniera, cuando hablamos de proceso nos referimos a un concepto que se maneja dentro del mbito de los Sistemas Operativos, como por ejemplo Windows, GNU/Linux, Mac OS X u otros. En este contexto nosotros podemos definir: 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. "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". *

Cada proceso tiene su contador de programa, registros y variables, aislados de otros procesos, incluso siendo el mismo programa en ejecucin 2 veces.

Los procesos son gestionados por el sistema operativo y estn formados por:

Las instrucciones de el microprocesador.

un

programa

destinadas

ser

ejecutadas

por

Su estado de ejecucin en un momento dado, esto es, los valores de los registros de la unidad central de procesamiento para dicho programa.

Su memoria de trabajo (memoria crtica), es decir, la memoria que ha reservado y sus contenidos.

Otra informacin que permite al sistema operativo su planificacin.

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 3

Estados y transiciones de los procesos


Durante su vida, un proceso puede pasar por una serie de estados discretos, algunos de ellos son:

En ejecucin: El proceso ocupa la CPU actualmente, es decir, se est ejecutando. Listo o preparado: El proceso dispone de todos los recursos para su ejecucin, slo le falta la CPU. Bloqueado: Al proceso le falta algn recurso para poder seguir ejecutndose, adems de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El proceso necesita que ocurra algn evento que le permita poder proseguir su ejecucin.

Fig. 1.0 Estados de los procesos Sistema Operativo. Unidad II. Isaac Garca Quevedo. Pgina 4

Transiciones de estado de los procesos

De ejecucin Bloqueado: al iniciar una operacin de E/S, al realizar una operacin WAIT sobre un semforo. De ejecucin Listo: por ejemplo, en un sistema de tiempo compartido, cuando el proceso que ocupa la CPU lleva demasiado tiempo ejecutndose continuamente (agota su cuanto) el sistema operativo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo. De Listo en ejecucin: cuando lo requiere el planificador de la CPU.

De Bloqueado Listo: se dispone del recurso por el que se haba bloqueado el proceso. Por ejemplo, termina la operacin de E/S, o se produce una operacin SIGNAL sobre el semforo en que se bloque el proceso, no habiendo otros procesos bloqueados en el semforo.

Observemos que de las cuatro transiciones de estado posibles, la nica iniciada por el proceso de usuario es el bloqueo, las otras tres son iniciadas por entidades externas al proceso.

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 5

Fig. 2.2 Transicin de los Estados de Procesos 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 del 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

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 6

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 Un proceso ligero, o thread, es un programa en ejecucin (flujo de ejecucin) que comparte la imagen de memoria y otras informaciones con otros procesos ligeros.

Fig. 2.3

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 7

Como mostramos la figura, un proceso puede contener un solo flujo de ejecucin, como ocurre en los procesos clsicos, o ms de un flujo de ejecucin (procesos ligeros).

Desde el punto de vista de la programacin, un proceso ligero se define como una funcin cuya ejecucin se puede lanzar en paralelo con otras. El hilo de ejecucin primario, o proceso ligero primario, corresponde a la funcin main. Cada proceso ligero tiene informaciones que le son propias y que no comparte con otros procesos ligeros. Las informaciones propias se refieren fundamentalmente al contexto de ejecucin, pudindose destacar las siguientes:

Contador de programa. Pila. Registros. Estado del proceso ligero (ejecutando, listo o bloqueado).

Todos los procesos ligeros de un mismo proceso comparten la informacin del mismo. En concreto, comparten:

Espacio de memoria. Variables globales. Archivos abiertos. Procesos hijos. Temporizadores. Seales y semforos. Contabilidad.

Es importante destacar que todos los procesos ligeros de un mismo proceso comparten el mismo espacio de direcciones de memoria, que incluye el cdigo, los datos y las pilas de los diferentes procesos ligeros. Esto hace que no exista proteccin de memoria entre los procesos ligeros de un mismo proceso, algo que si ocurre con los procesos convencionales.

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 8

Concurrencia y secuencialidad.
Los procesos son concurrentes si existen simultneamente. Los procesos concurrentes pueden funcionar en forma totalmente independiente unos de otros, o pueden ser asncronos, lo cual significa que en ocasiones requieren cierta sincronizacin o cooperacin.

Fig. 2.4

Cuando dos o mas procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una concurrencia de procesos. Es importante mencionar que para que dos o mas procesos sean concurrentes, es necesario que tengan alguna relacin entre ellos como puede ser la cooperacin para un determinado trabajo o el uso de informacin o recursos compartidos, por ejemplo: en un sistema de un procesador, la multiprogramacin es una condicin necesaria pero no suficiente para que exista concurrencia, ya que los procesos pueden ejecutarse de forma totalmente independiente.

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 9

Por otro lado en un sistema de varios procesos se puede presentar la concurrencia siempre y cuando las actividades necesiten actuar entre si ya sea para utilizar informacin en comn o para cualquier otra cosa.

BENEFICIOS DE LA CONCURRENCIA
Trata de evitar los tiempos muertos de la UCP Comparte y optimiza el uso de recursos Permite la modularidad en las diferentes etapas del proceso Acelera los clculos Da mayor comodidad

DESVENTAJAS DE LA CONCURRENCIA
Inanicin e interrupcin de procesos Ocurrencia de bloqueos Que dos o ms procesos requieran el mismo recurso (no apropiativo). Segn Tanenbaum y Woodhull (1997) La concurrencia comprende un gran nmero de cuestiones de diseo, incluyendo la comunicacin entre procesos, comparacin y competencia por los recursos, sincronizacin de la ejecucin de varios procesos y asignacin del tiempo de procesador a los procesos y es fundamental para que existan diseos como Multiprogramacin, Multiproceso y Proceso distribuido.

Niveles, objetivos y criterios de planificacin.


Concepto de Planificacin
La planificacin hace referencia a un conjunto de polticas y mecanismos incorporados al Sistema Operativo. Unidad II. Isaac Garca Quevedo. Pgina 10

sistema operativo que gobiernan el orden en que se ejecutan los trabajos que deben ser complementados 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:

Ser Justa: La planificacin debe ser lo mas 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 numero de usuarios interactivos. En los sistemas de tiempo compartido se tratara de que puedan estar trabajando el mayor nmero de usuarios al mismo tiempo.

Ser predecible: 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.

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 11

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, ms 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 pagina:
o

Probablemente los procesos que generan pocos fallos de pagina hayan acumulado sus conjuntos de trabajo en el almacenamiento principal.

Los procesos que experimentan gran cantidad de fallos de pgina aun no han establecido sus conjuntos de trabajo.

Un criterio indica favorecer a los procesos que han establecido sus conjuntos de trabajo.

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 mas alta prioridad, lo cual significa lo siguiente:
o

A menudo los procesos apropiados deben recibir un tratamiento menos favorable.

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.

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 12

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 de administracin del planificador.


Se denomina planificador al software del sistema operativo encargado de asignar los recursos de un sistema entre los procesos que los solicitan. Siempre que haya tomar una decisin, el planificador debe decidir cul de los procesos que compiten por la posesin de un determinado recursos lo recibir.

El planificador es un componente funcional muy importante de los sistemas operativos multitarea y multiproceso y es esencial en los sistemas operativos de tiempo real. Su funcin consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos para su ejecucin.

Todo sistema operativo gestiona los programas mediante el concepto de proceso. En un instante dado, en el ordenador pueden existir diversos procesos listos para ser ejecutados. Sin embargo, solamente uno de ellos puede ser ejecutado (en cada microprocesador). De ah la necesidad de que una parte del sistema operativo gestione, de una manera equitativa, qu proceso debe ejecutarse en cada momento.

La planificacin (scheduling) es la base para lograrla multiprogramacin. Un sistema multiprogramado tendr varios procesos que requerirn el recurso procesador a la vez. Esto sucede cuando los procesos estn en estado ready (pronto). Sistema Operativo. Unidad II. Isaac Garca Quevedo. Pgina 13

Si existe un procesador disponible y existen procesos en estado ready, se debe elegir el que ser asignado al recurso para ejecutar. El componente del sistema operativo que realiza la eleccin del proceso es llamada planificador (scheduler).

ALGORITMOS DE PLANIFICACIN
Los algoritmos de planificacin son los que definen que poltica se va a seguir para que un proceso pase al estado de ejecucin. Planificacin Round-Robin En este tipo de planificacin cada proceso tiene asignado un quantum de tiempo para ejecutarse y en el caso de que no pueda terminar la ejecucin en su quantum el proceso pasa de nuevo a la cola de procesos para ser ejecutado por otro quantum luego de recorrer la cola para asegurarse que todos los procesos reciban ese quantum de procesamiento.

Planificacin por prioridad


En la planificacin round-robin todos los procesos son tratados con la misma prioridad. Para el caso de este tipo de planificacin a cada proceso se le asigna una prioridad y los mismos son ejecutados

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 14

Colas mltiples
Las colas mltiples estn basadas en una pila que sirve como ndice de una lista de procesos que se tienen que ejecutar. Primero el trabajo ms corto. Este tipo de algoritmo de planificacin se usa para trabajos en batch o de procesamiento por lotes en los cuales se puede saber cual es el tiempo de duracin de la ejecucin de cada proceso y entonces se puede seleccionar primero el trabajo ms corto. El problema que se presenta con ste algoritmo es que los grandes procesos podran sufrir de inanicin dado que cualquier proceso pequeo se "cuela" sobre uno de mayor tamao y como resultado final se podra dar el caso que el proceso grande nunca obtenga procesamiento.

Planificacin garantizada
En este modelo de planificacin se tiene en cuenta la cantidad de usuarios en el sistema y se le asigna a cada uno el tiempo de ejecucin de 1/n (siendo n la cantidad total de usuarios) de esa forma el planificador tiene que llevar cuenta del tiempo de ejecucin de los procesos y balancear el tiempo que estn utilizando el procesador para cumplir con la ecuacin previa.

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 15

Bibliografa
1. http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/sistope2.PDF 2. http://rua.ua.es/dspace/bitstream/10045/5268/4/Tema3_Procesos.pdf * 3. http://es.wikipedia.org/wiki/Proceso_(inform%C3%A1tica)#cite_note-0 4. http://es.scribd.com/doc/50620571/11/Estados-y-transiciones-de-los-procesos 5. http://www.arcos.inf.uc3m.es/~ii_ac2/04-05/Hilos-curso.pdf

Sistema Operativo. Unidad II. Isaac Garca Quevedo.

Pgina 16

También podría gustarte