clases procesos

12

Upload: guillermo-r-gonzalez

Post on 15-Aug-2015

68 views

Category:

Education


0 download

TRANSCRIPT

¿Qué es un proceso?Programa en ejecución / unidad de procesamiento

gestionada por el sistema operativo.

-El proceso es un concepto fundamental en los sistemas operativos, puesto que el objetivo último de éstos es crear, ejecutar y destruir procesos, de acuerdo a las órdenes de los usuarios.

-El sistema operativo debe encargarse también de ofrecer una serie de servicios para la gestión de procesos y de gestionar los posibles interbloqueos que surgen cuando los procesos acceden a diferentes recursos.

¿ Programa = Proceso?

Bloque de Control de Proceso Objetivos :Localización de la información sobre el proceso por parte del sistema operativo.Mantener registrados los datos del proceso en caso de tener que suspender temporalmente su ejecución.

Información contenida en el BCP:

-Estado del proceso: Información relativa al contenido del contador de programa (Program Counter, PC), estado del procesador en cuanto a la prioridad del proceso, modo de ejecución, etc. y finalmente estado de los registros internos de la computadora.-Estadística de tiempo y ocupación de recursos, para la gestión de la planificación del procesador-Ocupación de memoria interna y externa para el intercambio (swapping)-Recursos en uso: Unidades de Entrada/Salida.-Archivos en uso.-Privilegios.

JERARQUÍA DE PROCESOSPara referirse a las relaciones entre los procesos de la jerarquía se

emplean los términos de padre, hijo, hermano o abuelo.

Un Sistema Operativo se identifica en base al número de procesos y de usuarios que se puedan ejecutar. Puede ser:

Monotarea o MonoprocesoMultitarea o multiproceso (memoria principal capaz de almacenar varios procesos Monousuario Multiusuario (que se le denomina tiempo compartido)

Ventajas de la multitarea

Facilita la programación, permite dividir las aplicaciones en varios procesos.Permite aprovecha los tiempos muertos que pasan esperando los procesos a que se completen sus operaciones.Aumenta el uso del CPU aprovechar los espacios de tiempos en que los procesos estén bloqueados

SERVICIOS DE PROCESOSCrear un proceso.Creación a partir de un proceso padre.Creación a partir de un archivo ejecutable.Ejecutar un proceso.Terminar la ejecución de un proceso.Cambiar el programa de un proceso.

En el modelo de procesos dentro del Sistema se ejecutan:

Procesos de usuario Procesos del disco. Procesos de terminal, etc.

• Los procesos b y c tienen prioridad sobre los procesos de usuario.

TerminologíaProceso nuloEl procesador no para de ejecutar nunca, pero hay intervalos en que el procesador no tiene nada que hacerObj: entretener al procesador cuando no hay ninguna otra tarea.

Estados de los procesosUn proceso puede estar en varias situaciones procesamiento, listo para ejecutar y esperar

Planificador y activadorPanificador: Entra en ejecución cada vez que inicia el sistema operativo y su misión es seleccionar el proceso que se vaya a ejecutar.Activador: pone en ejecución el proceso seleccionado por el planificador.

Grado de multiprogramaciónNúmero de procesos activos que mantiene un sistema

Sistema sin memoria virtualSistema limitado por el tamaño de los procesos y por la memoria disponible.

Sistema con memoria virtualOcurren muchos fallos de paginación.

HiperpaginaciónAlta paginación cuando los conjuntos residentes de un proceso son demasiados pequeños.

INFORMACIÓN DEL PROCESOEl proceso es la unidad de procesamiento gestionada por el sistema operativo. Información:

a) Estado del procesadorRegistros generales. Si existen registros específicos de coma flotante también se incluye.Contador de programa.Registro o registros de estado.Registros especiales. Como puede ser el RIED (registro identificador de espacio de Direccionamiento).

b) Imagen de memoria : formada por los espacios de memoriaEl proceso solamente puede tener información en su imagen de memoria y no fuera de ella.La imagen de memoria estará referida a memoria virtual o a memoria física y deberá adaptarse a estas necesidades, creciendo o decreciendo.

c) Tablas del sistema operativo.

TIPOS DE INFORMACION DE PROCESOS1. Texto o código: programa máquina que ha de ejecutar el

proceso.2. Datos

Datos con valor inicial: Datos estáticos, cuyo valor inicial se fija al

cargar el proceso y se asignan en tiempo de compilación por el archivo ejecutable.

Datos sin valor inicial: Estáticos, no tienen valor asignado y no están

presentes en el archivo ejecutable. Datos dinámicos: Se crean y se destruyen dependiendo de

las necesidades del programa. Pueden ser de lectura-escritura o solamente de lectura.

3. Pila: La pila es una estructura dinámica, puesto que crece y decrece según avanza la ejecución del proceso.

Estados del ProcesoLos estados de los procesos son internos al Sistema Operativo y transparentes al usuario.

Ejecución : En este estado el proceso, tiene el control y está siendo ejecutado por elprocesador, es decir, está en etapa de procesamiento. Listo: Proceso que está dispuesto para ser ejecutado y entrar en la fase de procesamiento.Puede haber varios procesos en este estado.Bloqueado. Un proceso bloqueado está esperando a que ocurra un evento y no puede seguir ejecutando hasta que suceda el evento

TRANSICIONES DE ESTADOS

OTROS ESTADOS DE LOS PROCESOS

Transición 1 : Ocurre cuando un proceso descubre que no puede continuar (no existan datos disponibles)

Transición 2 y 3: Se deben al planificador de procesos (parte del S.O.) Transición 2: Ocurre cuando el planificador decide que el proceso en

ejecución ya ha sido ejecutado el tiempo suficiente y que es hora que otro proceso tenga tiempo de CPU.

Transición 3: Ocurre cuando los demás procesos han tenido su parte y es tiempo de que el primer proceso vuelva a ejecutarse.

Transición 4: Cuando ocurre el evento externo por el que espera un proceso (como la llegada de nuevos datos). Si no existe otro proceso en ejecución, se produce la transición 3 en forma inmediata y el proceso comienza su ejecución, de lo contrario espera en estado listo hasta que el CPU esté disponible.

Además de los tres estados básicos de ejecución, listo y bloqueado, los procesos pueden estar en los estados de:

Espera : son aquellos que no pueden competir por el procesador, pero que pueden volver hacerlo por medio de ciertas operaciones.Suspendido: Es frecuente tener una lista de procesos batch en espera para ser ejecutados cuando se pueda.

PROCESOS LIGEROSLos procesos ligeros, también llamados thread, es un programa en

ejecución (flujo de ejecución) que comparte la imagen de memoria y otras informaciones con otros procesos ligeros.

Niveles de PlanificaciónSe define “PLANIFICACIÓN” como las distintas políticas y mecanismos más comunes que poseen los Sistemas Operativos actuales para realizar la gestión del procesador. Su objetivo principal es dar un buen servicio a todos los procesos que existan en un momento dado en el sistema. Planificación a largo plazo (planificador de trabajos): añadir

nuevos procesos al sistema, tomándolos de la lista de espera. Planificación a medio plazo (planificador de swapping): la

planificación a medio plazo trata la suspensión de procesos. Planificación a corto plazo (planificador del procesador): la

planificación a corto plazo se encarga de seleccionar el proceso en estado de listo que pasa a

estado de ejecución.