ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Software E Archivos Comunes De Programacion

carhuancho00719 de Julio de 2012

2.371 Palabras (10 Páginas)403 Visitas

Página 1 de 10

INTRODUCCIÓN

Los Sistemas Operativos deben disponer de una forma de crear y destruir procesos cuando se requiera durante la operación, teniendo además presente que los procesos pueden generar procesos hijos mediante llamadas al Sistema Operativo, pudiendo darse ejecución en paralelo.

¿Qué es un proceso?

Es un conjunto de actividades o eventos (coordinados u organizados) que se realizan o suceden (alternativa o simultáneamente) bajo ciertas circunstancias con un fin determinado. Este término tiene significados diferentes según la rama de la ciencia o la técnica en que en que se utilice.

Requisitos Básicos De un Proceso:

Todos los procesos tienen que tener un responsable designado que asegure su cumplimiento y eficacia continuado.

Todos los procesos tienen que ser capaces de satisfacer los cubos P, D, C, A del gráfico:

Todos los procesos tienen que ser indicadores que permitan visualizar de forma gráfica la evolución de los mismos. Tienen que ser planificados en la fase P, tienen que asegurarse su cumplimiento en la fase D, tienen que servir para realizar el seguimiento en la fase C y tienen que utilizarse en la fase A para ajustar y/o establecer objetivos.

Respecto de los estados del proceso deben efectuarse las siguientes consideraciones:

Cada proceso es una entidad independiente pero frecuentemente debe interactuar con otros procesos

Los procesos pueden bloquearse en su ejecución porque:

Desde el punto de vista lógico no puede continuar porque espera datos que aún no están disponibles.

El Sistema Operativo asignó la CPU a otro proceso.

Los estados que puede tener un proceso son:

• En ejecución: utiliza la CPU en el instante dado.

• Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso.

• Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento externo.

Son posibles cuatro transiciones entre estos estados.

Modelo de Dos Estados

El modelo de estados más simple es el de dos estados. En este modelo, un proceso puede estar ejecutándose o no. Cuando se crea un nuevo proceso, se pone en estado de No ejecución. En algún momento el proceso que se está ejecutando pasará al estado No ejecución y otro proceso se elegirá de la lista de procesos listos para ejecutar para ponerlo en estado Ejecución. De esta explicación se desprende que es necesario que el sistema operativo pueda seguirle la pista a los procesos, conociendo su estado y el lugar que ocupa en memoria . Además los procesos que no se están ejecutando deben guardarse en algún tipo de cola mientras esperan su turno para ejecutar.

Los eventos que llevan a un proceso a cambiar de un estado a otro son:

 Null --> New: El nuevo proceso es creado para ejecutar un programa.

 New -->Ready: El S.O. realiza esta transición cuando está preparado para comenzar a ejecutarse.

 Ready -->Running: El S.O. hace éste cambio de estado cuando es tiempo de elegir un nuevo proceso a ejecutar.

 Running -->Exit: Este cambio de estado se produce cuando el proceso actualmente en ejecución es finalizado o abortado.

 Running --->Ready: Esta transición puede ocurrir cuando se ha alcanzado el límite máximo de tiempo de ejecución ininterrumpida (técnica encontrada comúnmente en los S.O. con multiprogramación o cuando, al trabajar con distintos niveles de prioridad, un proceso es reemplazado por otro de mayor prioridad.

 Running -->Blocked: Esto ocurre cuando un proceso solicita algo por lo que deba esperar. Este pedido es realizado, por lo general, en la forma de un systemcall (llamado de un programa en ejecución a un procedimiento que es parte del código del S.O.).

 Blocked -->Ready: Este cambio tiene lugar al ocurrir el evento por el que estaba esperando un proceso.

 Ready -->Exit: Esto ocurre cuando un proceso hijo es finalizado; ya sea por pedido del proceso padre o porque el padre en sí fue finalizado.

 Blocked --> Exit: Idem ready --> exit.

Para la gestión de procesos existen muchos algoritmos. La siguiente lista es una muestra de ello:

Planificación a Plazo Fijo

• En la planificación de plazo fijo se programan ciertos trabajos para poder terminarse en un tiempo específico o plazo fijo. Esta tarea pueden tener un gran valor si se entregan a tiempo, y carecer de él si se entregan después del plazo. Esta planificación es compleja por varios motivos:

• El usuario debe informar por adelantado de las necesidades precisas de recursos del proceso. Semejante información rara vez está disponible.

• El sistema debe ejecutar el proceso en un plazo fijo sin degradar demasiado el servicio a los otros usuarios y debe planificar cuidadosamente sus necesidades de recursos dentro del plazo. Esto puede ser difícil por la llegada de nuevos procesos que impongan demandas imprevistas al sistema.

• Si hay muchas tareas a plazo fijo activas al mismo tiempo, la planificación puede ser tan compleja que se necesiten métodos de optimización avanzados para cumplir los plazos.

• La administración intensiva de recursos requerida por la planificación de plazo fijo puede producir un gasto extra substancial.

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 un nivel 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.

Planificación del Primero en Entrar Primero en Salir (FIFO)

• Cuando se tiene que elegir a qué proceso asignar la CPU se escoge al que llevara más tiempo listo. El proceso se mantiene en la CPU hasta que se bloquea voluntariamente.

• La ventaja de este algoritmo es su fácil implementación, sin embargo, no es válido para entornos interactivos ya que un proceso de mucho cálculo de CPU hace aumentar el tiempo de espera de los demás procesos. Para implementar el algoritmo sólo se necesita mantener una cola con los procesos listos ordenada por tiempo de llegada. Cuando un proceso pasa de bloqueado a listo se sitúa el último de la cola.

Planificación de Asignación en Rueda (RR: Round Robín)

• Este es uno de los algoritmos más antiguos, sencillos y equitativos en el reparto de la CPU entre los procesos, muy válido para entornos de tiempo compartido. Cada proceso tiene asignado un intervalo de tiempo de ejecución, llamado quantum o cuánto. Si el proceso agota su quantum de tiempo, se elige a otro proceso para ocupar la CPU. Si el proceso se bloquea o termina antes de agotar su quantum también se alterna el uso de la CPU. El round robín es muy fácil de implementar. Todo lo que necesita el planificador es mantener una lista de los procesos listos.

Tamaño del Quanto o Quantum

• La determinación del tamaño del quanto es vital para la operación efectiva de un sistema de cómputo. ¿Debe el cuanto ser pequeño o grande?, ¿fijo o variable?, ¿el mismo para todos los usuarios o debe determinarse por separado para cada uno? Si el quanto de tiempo es muy grande, cada proceso tendrá el tiempo necesario para terminar, de manera que el esquema de planificación por turno rotatorio degenera en uno de primero en entrar primero en salir. Si el quanto es muy pequeño, el gasto extra por cambio de proceso se convierte en el factor dominante y el rendimiento del sistema se degradará hasta el punto en que la mayor parte del tiempo se invierte en la conmutación del procesador, con muy poco o ningún tiempo para ejecutar los programas de los usuarios.

Planificación del Trabajo Más Corto Primero (SJF)

• Al igual que en el algoritmo FIFO las ráfagas se ejecutan sin interrupción,

...

Descargar como (para miembros actualizados) txt (15 Kb)
Leer 9 páginas más »
Disponible sólo en Clubensayos.com