Google+

12 octubre 2013

Procesos

Definición
Un proceso o tarea, se puede definir como un programa en ejecución. Un proceso en SO presenta las siguientes características:


  • Para iniciar su ejecución deben cargarse completamente en memoria y tener asignados todos los recursos que necesita.
  • Ha de estar protegido del presto de procesos, lo que significa que ningún otro proceso podrá escribir en la zona de memoria perteneciente a ese proceso.
  • Puede pertenecer al usuario y se ejecutaría en modo usuario del procesador (con restricciones de acceso a los recursos hardware) o al Sistema operativo y se ejecutaría en modo núcleo o privilegiado del procesador (sin restricciones de acceso a los recursos hardware.
  • Cada proceso tiene una estructura de datos llamada bloque de control de proceso donde se almacena información acerca del proceso (Identificador del proceso, Prioridad, Estado del proceso.


Estados
Los diferentes estados de un proceso son los siguientes:
  • En ejecución. El procesador esta ejecutando instrucciones de ese proceso en un instante determinado.
  • Preparado, en espera o activo. El proceso está preparado para ejecutarse; es decir, espera el turno para poder utilizar su intervalo de tiempo de CPU.
  • Bloqueado. El proceso está retenido, es decir, está bloqueado por alguna razón. Una de esas razones puede ser que dos procesos utilicen el mismo fichero de datos. Otra podría ser que dos procesos necesiten utilizar la misma unidad de disco o CD para cargar determinados datos, etc.
Transiciones
Transiciones de los procesos
La figura anterior muestra las transiciones que pueden sufrir los procesos entre cada uno de estos tres estados:
  • Transición A. tiene lugar cuando el programa que está en ejecución necesita algun elemento, señal, dato, etc. para poder continuar ejecutándose.
  • Transición B. Tiene lugar cuando un programa o proceso ha utilizado el tiempo asignado por la CPU (procesador) para su ejecución y tiene que dejar paso al siguiente proceso.
  • Transición C. Tiene lugar cuando el proceso que está preparado pasa a ser ejecutado, es decir cuando al proceso le llega una nueva disposición de tiempo de la CPU para poder ejecutarse.
  • Transición D. Tiene lugar cuando el proceso pasa de estar bloqueado a estar preparado, es decir, cuando el proceso recibe una orden o señal que estaba esperando para pasar de bloqueado a preparado y posteriormente cuando le toque pasar de nuevo a ejecutar la CPU. 
Cuando un proceso pasa de un estado a otro, por ejemplo de espera a ejecución lo que se produce es uncambio de contexto.

Planificación
La técnica de planificación permite indicar al ordenador los procesos que deben ejecutarse y los estados que deben adoptar. Mediante los algoritmos de planificación se consigue decidir, en cada momento, que proceso debe ejecutarse. Algunas características de estos algoritmos son el equilibrio, la eficiencia y el rendimiento.
Un proceso, durante su ejecución, compite con el resto de procesos del sistema por el uso de los recursos.
El reparto de los recursos ente los procesos y sus ejecución concurrente se conoce como multiprogramación. Los SO disponen de los servicios necesarios para la gestión de los procesos, tales como creación, finalización, ejecución periódica, cambio de prioridad, etc. Para realizar esto el SO mantiene listas de los Bloques de control de los procesos.
Precisamente la parte del SO que se encarga de asignar los recursos del sistema para conseguir unos objetivos de comportamiento determinados se denomina Planificador, y en general es el que se encarga de decidir que proceso pasará al estado activo de entre todos los procesos que están en el estado preparado.

LinkWithin

Related Posts Plugin for WordPress, Blogger...