Administración del procesador

8
ADMINISTRACIÓ N DEL PROCESADOR Revista Virtual SAIA

description

SAIA

Transcript of Administración del procesador

ADMINISTRACIÓN DEL PROCESADOR

Revista Virtual SAIA

Contenido

• Editorial• Administración del procesador• Concepto de proceso• Estado y Transiciones de

Procesos• Procesos Ligeros Hilos o Hebras• Concurrencia y Secuencialidad• Sincronización Procesos en SO

Editorial

Los sistemas operativos son y serán el corazón de todos los equipos de computo es por ello que es indispensable conocer cuales son las funciones que realiza el sistema operativo para poder realizar las tareas que se le encomienda, es decir los sistemas operativos manejan muchísimos procesos claro que todos estos procesos se llevan a cabo con ayuda del procesador, un proceso tiene muchas definiciones entre ellas se encuentra la siguiente: un proceso es un programa que se encuentra en ejecución durante un determinado tiempo.

Administración del Procesador

El procesador es la parte de la máquina que lleva a cabo los cálculos y ejecuta los programas. También se le reconoce con el nombre de CPU (Central Proccesing Unit).

Un programa es una unidad inactiva, como un archivo almacenado en un disco. Un programa no es un proceso. Para un sistema operativo, un programa es una unidad de trabajo enviada por el usuario.

Por otro lado, un proceso es una entidad activa, que requiere un conjunto de recursos ara llevar a cabo su función, entre ellos un procesador y registros especiales.

Concepto de procesoEl concepto central de cualquier Sistema Operativo es el de proceso: una abstracción de un programa en ejecución también llamada tarea. No hay un acuerdo universal sobre una definición de proceso, pero sí algunas definiciones aceptadas [7, Deitel and Deitel]: Un programa que se está ejecutando. Una actividad asincrónica. El emplazamiento del control de un procedimiento que

está siendo ejecutado. Aquello que se manifiesta por la existencia en el

Sistema Operativo de un bloque de control de proceso. Aquella entidad a la cual son asignados los

procesadores. La unidad despachable.

En sistemas de multiprogramación la CPU alterna de programa en programa, en un esquema de seudo paralelismo, es decir que la CPU ejecuta en cierto instante un solo programa, intercambiando muy rápidamente entre uno y otro.

Estados y Transiciones de Procesos

Durante su existencia un proceso pasa por una serie de estados discretos, siendo varias las circunstancias que pueden hacer que el mismo cambie de estado. Debido a ello se puede establecer una “Lista de Listos” para los procesos “listos” y una “Lista de Bloqueados” para los “bloqueados”.La “Lista de Listos” se mantiene en orden prioritario y la “Lista de Bloqueados” está desordenada, ya que los procesos se desbloquean en el orden en que tienen lugar los eventos que están esperando. Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado en la última parte de la “Lista de Listos”.

La asignación de la CPU al primer proceso de la “Lista de Listos” se denomina “Despacho”, que es ejecutado por una entidad del Sistema Operativo llamada “Despachador”. El “Bloqueo” es la única transición de estado iniciada por el propio proceso del usuario, puesto que las otras transiciones son iniciadas por entidades ajenas al proceso.

La manifestación de un proceso en un Sistema Operativo es un “Bloque de Control de Proceso” (PCB) con información que incluye [7, Deitel]:

· Estado actual del proceso.· Identificación única del proceso.· Prioridad del proceso.· Apuntadores para localizar la memoria del proceso.Los sistemas que administran los procesos deben poder crear, destruir, suspender, reanudar, cambiar la prioridad, bloquear, despertar y despachar un proceso.

La “creación” de un proceso significa:Dar nombre al proceso.Insertar un proceso en la lista del sistema de procesos conocidos.Determinar la prioridad inicial del proceso.Crear el bloque de control del proceso.Asignar los recursos iníciales del proceso.Un proceso puede “crear un nuevo proceso”, en cuyo caso el proceso creador se denomina “proceso padre” y el proceso creado “proceso hijo” y se obtiene una “estructura jerárquica de procesos”.La “destrucción” de un proceso implica:Borrarlo del sistema.Devolver sus recursos al sistema.Purgarlo de todas las listas o tablas del sistema.Borrar su bloque de control de procesos.La “destrucción” de un proceso puede o no significar la destrucción de los procesos hijos, según el Sistema Operativo. Generalmente se denomina “Tabla de Procesos” al conjunto de información de control sobre los distintos procesos.

Los procesos ligeros son programas en ejecución son básicamente procesos pero a diferencia de éstos últimos que solo tienen un hilo de ejecución los primeros tienen el hilo principal más hilos secundarios o hijos, en éste caso todos los procesos hijos comparten la información del hilo principal pero además puede cada hilo tener su información privada.

Dentro de la información propia tenemos:Contador de programaPilaRegistros.Estado del proceso ligero.Dentro de la información compartida tenemos:Variables globales.Archivos abiertosSeñalesSemáforos.Señales

Procesos Ligeros Hilos o hebras

Concurrencia y Secuencialidad

La concurrencia comprende un gran número de cuestiones de diseño, incluyendo la comunicación entre procesos, comparación y competencia por los recursos, sincronización de la ejecución de varios procesos y asignación del tiempo de procesador a los procesos y es fundamental para que existan diseños como Multiprogramación, Multiproceso y Proceso distribuidoLos procesos son concurrentes si existen simultáneamente. Cuando dos o más 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 más procesos sean concurrentes, es necesario que tengan alguna relación entre ellos.

Sincronización Procesos en SOLa sincronización es la transmisión y recepción de señales que tiene por objeto llevar a cabo el trabajo de un grupo de procesos cooperativos. Es la coordinación y cooperación de un conjunto de procesos para asegurar la comparación de recursos de cómputo. La sincronización entre procesos es necesaria para prevenir y/o corregir errores de sincronización debidos al acceso concurrente a recursos compartidos.La sincronización permite intercambiar señales de tiempo (ARRANQUE/PARADA) entre procesos cooperantes para garantizar las relaciones específicas de precedencia impuestas por el problema que se resuelve. Para que los procesos puedan sincronizarse es necesario disponer de servicios que permitan bloquear o suspender bajo determinadas circunstancias la ejecución de un proceso.