administración de procesos y del procesador

30
Administración de procesos y del procesador.

Upload: fernando-camacho

Post on 24-May-2015

331 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Administración de procesos y del procesador

Administración de procesos y del procesador.

Page 2: Administración de procesos y del procesador

2.1 Concepto de proceso.

Un proceso es  básicamente un programa en ejecución.

Consta del programa ejecutable, los datos y la pila del programa, su contador de programa, apuntador de pila y otros registros, y la  otra información que se necesita para ejecutar el programa, así como salidas y estados

Page 3: Administración de procesos y del procesador

Proceso - un programa en ejecución; la ejecución del proceso debe progresar de manera secuencial.

* Un proceso incluye: * program counter (contador del programa)* stack (pila)* data section (segmento de datos)

Page 4: Administración de procesos y del procesador

Estados de los procesos

* Nuevo: El proceso es creado. * Ejecución: Se ejecutan instrucciones. * Espera: El proceso esta en espera por la ocurrencia de algún evento. * Listo: El proceso esta esperando a que le asignen el procesador. * Terminado: El proceso finaliza su ejecución.* Diagrama de estados de los procesos.

Page 5: Administración de procesos y del procesador

Información asociada con cada proceso:* Estado del proceso * Program counter * Registros del CPU * Información de planificación del CPU * Memoria* Información para administración * Información de estatus de E/S 

Page 6: Administración de procesos y del procesador

Proceso: programa o comando en ejecución. Características: 

* Un proceso consta de código, datos y pila. 

* Los procesos existen en una jerarquía de árbol (varios Hijos, un sólo padre). 

* El sistema asigna un identificador de proceso (PID) único al iniciar el proceso. 

*El planificador de tareas asigna un tiempo compartido para el proceso según su prioridad (sólo root puede cambiar prioridad).

Page 7: Administración de procesos y del procesador

2.2 Estados de un proceso y Transiciones de estado de los procesos.

un proceso puede pasar por discretos, algunos de ellos son:

En ejecución: El proceso ocupa la CPU actualmente, es decir, se está ejecutando.

Listo o preparado: El proceso dispone de todos los recursos para su ejecución, sólo le falta la CPU.

Bloqueado: Al proceso le falta algún recurso para poder seguir ejecutándose, además de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El proceso necesita que ocurra algún evento que le permita poder proseguir su ejecución.

Page 8: Administración de procesos y del procesador

Transiciones de estado de los procesos

Page 9: Administración de procesos y del procesador

Estos colores hay que interpretarlos de forma que, el color del borde de los estados representa a dichos estados, los colores dentro de los círculos nos dicen las posibles alternativas de acceso hacia otro estado, y los colores de las flechas nos representan hacia qué estado nos dirigimos si seguimos la misma.

Page 10: Administración de procesos y del procesador

2.3 Procesos Ligeros (Hilos o Hebras) 

Un proceso ligero, es un programa en ejecución que comparte la imagen de memoria y otras informaciones con otros procesos ligeros. Como muestra la Figura, un proceso puede contener un solo flujo de ejecucion, como ocurre en los procesos clasicos, o más de un flujo de ejecucion (procesos ligeros).

Las informaciones propias se refieren fundamentalmente al contexto de ejecucion, pudiéndose destacar las siguientes:

• Contador de programa.

• Pila.

• Registros.

• Estado del proceso ligero (ejecutando, listo o bloqueado).

Page 11: Administración de procesos y del procesador

2.3 Procesos Ligeros (Hilos o Hebras) 

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

Espacio de memoria.

Variables globales.

Archivos abiertos.

Procesos hijos.

Temporizadores.

Senales y semaforos.

Contabilidad.

Page 12: Administración de procesos y del procesador

2.4 CONCURRENCIA Y SECUENCIABILIDAD

Page 13: Administración de procesos y del procesador

Definición

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 distribuido.

Page 14: Administración de procesos y del procesador

Presentarse tres contextos

Varias aplicaciones: La multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varias aplicaciones activas.

Aplicaciones estructuradas: Como ampliación de los principios del diseño modular y la programación estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes.

Estructura del sistema operativo: Las mismas ventajas de estructuración son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos.

Page 15: Administración de procesos y del procesador

Existen tres modelos de computadora en los que se pueden ejecutar procesos concurrentes:

Multiprogramación. Multiprocesador. Multicomputadora.

Page 16: Administración de procesos y del procesador

Tipos de procesos concurrentes.

Proceso independiente: Es aquel que ejecuta sin requerir la ayuda o cooperación de otros procesos.

Procesos son cooperantes: Son aquellos que están diseñados para trabajar conjuntamente en alguna actividad, para lo que deben ser capaces de comunicarse e interactuar entre ellos.

Page 17: Administración de procesos y del procesador

Ventajas y Desventajas

Ventajas:

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 cálculo Da mayor comodidad

Page 18: Administración de procesos y del procesador

Ventajas y Desventajas

Desventajas: 

Inanición e interrupción de procesos

Ocurrencia de bloqueos Que dos o más procesos

requieran el mismo recurso.

Page 19: Administración de procesos y del procesador

2.5 Niveles, Objetivos y Criterios de Planificación 

En épocas pasadas de los sistemas de procesamiento por lotes, con una entrada en forma de imágenes de tarjetas en una cinta magnética, el algoritmo de planificación era sencillo: solo había 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 más complejo.

Concepto de Planificación.

 La planificación hace referencia a un conjunto de políticas y mecanismos incorporados al sistema operativo que gobiernan el orden en que se ejecutan los trabajos que deben ser cumplimentados por el sistema informático. 

Page 20: Administración de procesos y del procesador

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

Justicia. La planificacion debe ser lo mas justa posible con todos los procesos, sin favorecer a unos y perjudicar a otros.

Maxima capacidad de ejecucion. Debe dar un servicio eficiente para que todos los trabajos se realicen lo mas rapidamente posible.

Maximo numero de usuarios interactivos.

Predecibilidad. La planificacion

Minimizacion de la sobrecarga.

Equilibrio en el uso de recursos.

Seguridad de las prioridades.

Evitar la postergacion indefinida. Esto se logra aumentando la prioridad de un proceso mientras espere por un recurso.

Page 21: Administración de procesos y del procesador

Criterios de planificación Para realizar los objetivos de la planificación, un mecanismo de planificación debe considerar lo siguiente:

La limitacion de un proceso a las operaciones de Entrada / Salida: cuando un proceso consigue la cpu, ?la utiliza solo brevemente antes de generar una peticion de Entrada / Salida?

La limitacion 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.

¿Qué urgencia tiene una respuesta rápida?: por ejemplo, un proceso de tiempo real de un sistema de control que supervise una refineria de combustible requiere una respuesta rapida, mas rapida que la respuesta requerida por un proceso en lotes (batch) que debera entregarse al dia siguiente.

La prioridad de un proceso: a mayor prioridad mejor tratamiento.

Page 22: Administración de procesos y del procesador

2.6 TECNICAS DE ADMINISTRACION DEL PLANIFICADORSe denomina planificador al software del sistema operativo encargado de asignar los recursos de un sistema entre los procesos que los solicitan.

Page 23: Administración de procesos y del procesador

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 función consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos para su ejecución. Todo sistema operativo gestiona los programas mediante el concepto de proceso.

Page 24: Administración de procesos y del procesador

ALGORITMOS DE PLANIFICACIÓN

Los algoritmos de planificación son los que definen que política se va a seguir para que un proceso pase al estado de ejecución.

Page 25: Administración de procesos y del procesador

Planificación Round-Robin

Planificación por prioridad

Colas múltiples

Primero el trabajo más corto

Planificación garantizada

Page 26: Administración de procesos y del procesador

Planificación Round-Robin

cada proceso tiene asignado un quantum de tiempo para ejecutarse y en el caso de que no pueda terminar la ejecución 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.

Page 27: Administración de procesos y del procesador

Planificación por prioridad

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

Page 28: Administración de procesos y del procesador

Colas múltiples

Las colas múltiples están basadas en una pila que sirve como índice de una lista de procesos que se tienen que ejecutar.

Page 29: Administración de procesos y del procesador

Primero el trabajo más corto

se usa para trabajos en batch o de procesamiento or lotes en los cuales se puede saber cual es el tiempo de duración de la ejecución de cada proceso y entonces se puede seleccionar primero el trabajo más corto.

Page 30: Administración de procesos y del procesador

Planificación garantizada

En este modelo de planificación se tiene en cuenta la cantidad de usuarios en el sistema y se le asigna a cada uno el tiempo de ejecución de 1/n (siendo n la cantidad total de usuarios) de esa forma el planificador tiene que llevar cuenta del tiempo de ejecución de los procesos y balancear el tiempo que están utilizando el procesador para cumplir con la ecuación previa.