Trabajo planificacion de procesos

República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Escuela Técnica Comercial “Madre Rafol

Views 88 Downloads 102 File size 571KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • elix
Citation preview

República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Escuela Técnica Comercial “Madre Rafols” Valera, Estado Trujillo

Integrantes: María Blanco # 7 Iraly Briceño # 8 Victoria Rojas # 11 Mónica Montilla #13 Elix Díaz # 21 6º Informática “A” Profesor: Miguel Matheus

Valera, Noviembre del 2018

INTRODUCCIÓN

Cuando se elabora algún proyecto, actividad o acción, todo lleva consigo una planificación previa, dependiendo de la organización que se aspire tener o con la que se cuente. Cuando se habla de planificación hace referencia a cumplir objetivos, al aplicar esto a procesos, podríamos decir que es el cumplimiento de una acción establecida, como un buen proceso o gestión que se planifica, piensa y después se lleva a cabo. Para adentrarnos en este tema nos referimos a que toda empresa en su mayoría diseña planes estratégicos para el logro de sus objetivos y metas planteadas, esto planes pueden ser a corto, mediano y largo plazo, según la amplitud y magnitud de la empresa. Así mismo, teniendo en cuenta la finalidad de un proceso, exponemos los diversos aspectos que identificaran y definirán mejor cada una de

las

matices

que

lo

conforman.

Teniendo

en

cuenta

ejemplos,

comportamientos, resultados e información contundente que llevará a entender más a fondo las políticas y criterios de la planificación de procesos.

UN PROCESO Es un Procesamiento o conjunto de operaciones a que se somete una cosa para elaborarla o transformarla. Para poder entender bien el concepto de Proceso deberemos diferenciarlo en el lugar donde se encuentra. Un programa será un archivo cuando se encuentre en el disco rígido y será un proceso al encontrarse en memoria. Se puede definir como un programa en ejecución o como la unidad de procesamiento gestionada por el sistema operativo. Los procesos llevan a cabo tareas en el sistema operativo. Un programa es un conjunto de instrucciones de código máquina y datos guardados en disco en una imagen ejecutable y como tal, es una entidad pasiva; podemos pensar en un proceso como un programa de computador en acción. Durante la vida de un proceso, éste hará uso de muchos recursos del sistema. Usará las CPUs del sistema para ejecutar sus instrucciones y la memoria física del sistema para albergar al propio proceso y a sus datos. El proceso abrirá y usará ficheros en los sistemas de ficheros y puede usar dispositivos del sistema directa o indirectamente . PLANIFICACIÓN DE PROCESOS La planificación hace referencia a un conjunto de políticas y mecanismos incorporados al “SO” que gobiernan el orden en que se ejecutan los trabajos que deben ser completados por el sistema informático. El planificador es un módulo del sistema operativo que selecciona el siguiente trabajo y el siguiente proceso que tomara control sobre el procesador.

EVALUACIÓN DE RENDIMIENTO Y COMPORTA MIENTO DE LOS PROGRAMAS La evaluación de rendimiento en el comportamiento de los programas es un procedimiento estructural y sistemático para medir, evaluar e influir sobre los atributos

(por

ejemplo

los

sistemas

operativos

y

aplicaciones),

comportamientos (ejecución, aplicación, etc.) y resultados (uso, utilidad, resultado final) relacionados con la planificación de los procesos, con el fin de descubrir en qué medida es productivo el proceso y si podrá mejorar su rendimiento futuro. El proceso de evaluación del rendimiento desempeña una función de control con el fin de:

ALGORITMOS DE PLANIFICACIÓN Los algoritmos de planificación se encargan de asegurar que un proceso no monopoliza el procesador. Un proceso es un programa que está en ejecución. Este proceso puede estar en 3 estados distintos “Listo” “Bloqueado” y “En Ejecución”. Los procesos son almacenados en una lista junto con la información que indica en qué estado está el proceso, el tiempo que ha usado el CPU, etc. En general, hay que maximizar los dos primeros parámetros y minimizar los tres últimos. Sin embargo, estos objetivos son contradictorios, el dedicar más tiempo de CPU a los usuarios se hace a costa de llamar menos al algoritmo de planificación (menos cambios de proceso), y de simplificarlo. Esto provoca que la CPU se reparta menos equitativamente entre los procesos, en detrimento de los últimos tres parámetros. Así pues, dependiendo de los objetivos se elegirá cierto algoritmo. En los sistemas por lotes suele primar el rendimiento del sistema, mientras que en los sistemas interactivos es preferible minimizar, por ejemplo, el tiempo de espera.

PRIMERO EN LLEGAR PRIMERO EN SER SERVIDO Conocido como FCFS (First Come First Served). Este algoritmo emplea una cola de procesos, asignando un lugar a cada proceso por el orden de llegada. Cuando el proceso llega es puesto en su lugar en la cola después del que llegó antes que él y se pone en estado de listo. Cuando un proceso comienza a ejecutarse no se interrumpe su ejecución hasta que termina de hacerlo. Características: 

La cola de preparados se gestiona como una FIFO



Simple de implementar



Muy sensible al orden de llegada de los procesos



Perjudica a los procesos intensivos en E/S (efecto convoy)



Prioridad al más corto



No requiere hardware de apoyo (temporizador/interrupciones)

EL PROCESO MÁS CORTO Su nombre es SJF (Shortest Job First). El proceso que se encuentra en ejecución cambiará de estado voluntariamente, o sea, no tendrá un tiempo de ejecución determinado para el proceso. A cada proceso se le asigna el tiempo que usará cuando vuelva a estar en ejecución, y se irá ejecutando el que tenga un menor tiempo asignado. Si se da el caso de que dos procesos tengan igual valor en ese aspecto emplea el algoritmo FCFS. Características: 

Riesgo de inanición de los procesos de larga duración.



El SJF no es implementable-se pueden estimar las duraciones de los procesos, según su historia reciente.

ROUND ROBIN A cada proceso se le asigna un tiempo determinado para su ejecución, el mismo tiempo para todos. En caso de que un proceso no pueda ser ejecutado completamente en ese tiempo se continuará su ejecución después de que todos los procesos restantes sean ejecutados durante el tiempo establecido. Este es un algoritmo basado en FCFS que trata la cola de procesos que se encuentran en estado de listos como una cola circular. Características: 

Adecuado para implementar tiempo compartido



Como el FCFS, pero cada proceso dispone de un cuanto de tiempo máximo si cuando expira el cuanto de tiempo el proceso continúa en CPU, el planificador lo desaloja y lo ingresa al final de la cola de preparados



La cola de preparados se gestiona como FIFO



Busca dar buena respuesta tanto a procesos cortos como largos

PLANIFICACIÓN POR PRIORIDAD En este tipo de planificación a cada proceso se le asigna una prioridad siguiendo un criterio determinado, y de acuerdo con esa prioridad será el orden en que se atienda cada proceso. Características: 

Riesgo de inanición de los procesos con menos prioridad.



Solución: envejecimiento. Aumentar progresivamente la prioridad a los procesos en espera.

MULTINIVEL FEEDBACK 

Varias colas de preparados, cada una gestionada con una política diferente.



Las colas se reparten la CPU según alguna política: por prioridad absoluta



Un % de tiempo para cada cola

MULTINIVELES CON REALIMENTACIÓN En este caso un proceso se puede mover entre las colas. Es una forma de implementar el envejecimiento para evitar inanición. Un algoritmo de planificación de colas multinivel con realimentación está definido por los siguientes parámetros: número de colas, algoritmos de planificación para cada cola, método usado para determinar cuándo promover un proceso a una cola de mayor prioridad, método usado para determinar cuándo degradar un proceso a una cola de menor prioridad, método usado para determinar en qué cola ingresará un proceso cuando necesite servicio. CARACTERÍSTICAS 

Ir cambiando a los procesos interactivos o de ráfagas de CPU cortas a colas de mayor prioridad.



Cambiar los procesos de ráfagas CPU largas a las colas de menor prioridad.



Si un proceso espera demasiado en una cola se puede mover a otra de mayor prioridad (envejecimiento, bloqueo indefinido).

RONDA EGOÍSTA (SRR) Selfish Round Robin. Multitarea preventiva. Favorece a los procesos que ya llevan tiempo ejecutando sobre los recién llegados. Un proceso nuevo se forma en la cola de procesos nuevos, el despachador avanza sólo sobre los procesos aceptados. Cuando la prioridad de un proceso nuevo alcanza a la de uno aceptado, éste se acepta.

ESQUEMAS HÍBRIDOS Los esquemas de planificación empleados normalmente usan mezclas de los algoritmos presentados Permite emplear el algoritmo que más ventajas presente ante una situación dada Y evitar algunas de sus deficiencias. Manejamos varias colas en un esquema FB, cada cola usa internamente un algoritmo distinto para elegir el proceso que está a la cabeza. Algunas ideas como ejemplo: Una cola bajo PSPN: Empuja a los procesos más largos hacia colas que sean interrumpidas con menor frecuencia. Emplear SRR para las colas de menor prioridad, sus procesos ya esperaron mucho para tener respuesta; cuando obtienen el procesador, avanzan lo más ágilmente posible, pero no obstaculizan a los procesos cortos que van llegando.

CRITERIO DE PLANIFICACIÓN DE TIEMPO REAL Para un conjunto de tareas es proporcionar planificación viable, es decir, debe ser posible planificar la ejecución de las tareas de forma que se cumplan los plazos de todas ellas. Con tareas periódicas es posible un análisis de viabilidad estático (a priori). Si existen tareas aperiódicas, es preciso convertirlas en periódicas con periodo el mínimo con el que la tarea pueda liberarse. En caso contrario, el análisis sólo puede hacerse en tiempo de ejecución. El criterio de planificación viable es absoluto para los sistemas de tiempo real crítico. En sistemas acríticos, si los plazos no se pueden cumplir, los criterios a aplicar se dependen del tipo de sistema. En sistemas de plazo firme, el criterio es minimizar el número de retrasos; por el contrario, en sistemas de plazo flexible, el criterio es minimizar la magnitud de los retrasos.

POLÍTICAS DE PLANIFICACIÓN DE TIEMPO REAL Las cuales se dividen en dos grupos, la planificación estática y la planificación dinámica. PLANIFICACIÓN ESTÁTICA Se presenta cuando se conocen los periodos y los tiempos de ejecución, es allí cuando es posible establecer a priori un plan de ejecución. En el caso más sencillo, se establece un ejecutivo cíclico, asociando a instantes periódicos de tiempo la liberación de las tareas. PLANIFICACIÓN DINÁMICA La cual es vista con tareas aperiódicas por lo tanto no es posible establecer un plan de ejecución a priori. En el momento en que se libera una tarea, se establece la planificación con el objetivo de hacerla viable. En algunos sistemas, ni siquiera en ese momento es posible un plan de viabilidad (por ejemplo, si no se conocen los tiempos de ejecución).

Sólo una vez cumplido el plazo se sabe que no es viable, y entonces se aborta la ejecución de la tarea. Este último tipo de planificación, habitual en sistemas de propósito general, se denomina planificación dinámica del mejor resultado (best-effort). Ejemplos de planificación en tiempo real. PLANIFICACIÓN EN SISTEMAS UNIX CLÁSICOS Donde cada familia UNIX implementa su propia planificación de procesos, aunque, al menos en lo que respecta a los UNIX clásicos (en particular System V y 4.3BSD, que tomaremos como referencia) todas siguen la misma filosofía. Todos los sistemas UNIX están muy orientados a tiempo compartido. Los procesos del sistema ejecutan código no interrumpible y están asociados a las prioridades más altas. Los de usuario tienen planificación expulsora y de tiempo compartido con gestión dinámica de prioridades. Los UNIX clásicos no proporcionan

planificación de tiempo real. Detalles sobre la planificación de procesos en las diferentes familias de UNIX pueden encontrase en [VAH96]. La planificación del tiempo compartido se implementa mediante colas multinivel realimentadas. Se asocia una cola a cada nivel de prioridad. Cada cola sigue una disciplina FCFS.

PLANIFICACIÓN EN UNIX SVR4 Donde UNIX introdujo suficientes novedades sobre la versión anterior como para considerarlo como un sistema operativo diferente en cuanto a su estructura interna. Los procesos de tiempo real ocupan los 60 niveles más altos de prioridad (de un total de 160) y pueden desbancar incluso a un proceso del núcleo cuando éste alcance el punto de expulsión. La gestión de las prioridades de los procesos de tiempo compartido (que ocupan los 60 niveles menos prioritarios), utiliza un mecanismo radicalmente diferente al de versiones anteriores.

Las prioridades de los procesos ya no se recalculan por tiempo, sino que cada proceso ajusta su prioridad por evento, de acuerdo a un conjunto de parámetros asociados a cada nivel de prioridad, que son reconfigurables en la instalación. PLANIFICACIÓN EN WINDOWS

Donde Microsoft comenzó en 1988 el desarrollo del sistema operativo Windows NT15, destinado a estaciones de trabajo y servidores de tamaño pequeño y medio. A partir de 1994 se han comercializado sucesivas versiones (3.51, 4.0, 2000, XP, Vista). Se trata de un sistema operativo que podemos considerar moderno en virtud de su estructura modular cliente-servidor (aunque no posee propiamente un micro núcleo) y de su orientación hacia soportes hardware distribuidos.

Uno de los objetivos de diseño fue la transportabilidad, que se proporciona a través de una interfaz de abstracción del hardware (HAL), existiendo implementaciones para diferentes arquitecturas, como 80x86 de Intel, Alpha de Digital y MIPS. Windows NT planifica threads por prioridades,

siguiendo un esquema parecido al de UNIX. Cuenta con 32 niveles de prioridad divididos en dos clases. Los 16 niveles superiores, de prioridades estáticas, constituyen la clase de tiempo real. Los 16 inferiores (clase variable), donde se ubican los threads de usuario, son de tiempo compartido y se gestionan con disciplina FCFS. Un thread de usuario perteneciente a un proceso P parte con una prioridad base inicial que puede estar en el rango [prio(P) ‒2 , prio(P)+2]. La prioridad del thread fluctúa dinámicamente durante la ejecución en el rango [prio(P)‒2, 15], incrementándose cuando el thread se bloquea y decrementándose cuando el thread es expulsado por fin de quantum.

POLÍTICAS DE PLANIFICACIÓN DE MULTIPROCESADORES

Las cuales hoy día son muy variadas. Podemos agruparlas todas ellas en dos grandes familias:

POLÍTICAS DE TIEMPO COMPARTIDO

Las cuales reparten el recurso procesador entre las aplicaciones en función del tiempo total del sistema, asignándoles ranuras -slots- de tiempo. Son

adaptaciones

de

las

políticas

de

planificación

de

sistemas

monoprocesador de las que provienen en su fundamento.

POLÍTICAS DE ESPACIO COMPARTIDO

Las cuales, al tener más de un procesador en el sistema, pueden plantearse nuevas maneras de repartir el recurso procesador entre todas las aplicaciones del sistema. Por ejemplo, particionar el conjunto de procesadores entre todas ellas y adaptar el número de procesadores virtuales de cada aplicación al de procesadores físicos. Este tipo de planificación, por su propia naturaleza, al tener una aplicación corriendo en un número pequeño de procesadores, puede dar (según la naturaleza de la aplicación, claro está) una mejora inherente en cuanto a los aciertos en la cache, por su afinidad al procesador.

CRITERIOS DE PLANIFICACIÓN

Los cuales se desglosan de la siguiente manera 

Utilización de CPU – mantener la CPU tan ocupada como sea posible



Procesamiento total (Throughput) – número de procesos que completan sus ejecuciones por unidad de tiempo.



Tiempo de retorno – cantidad de tiempo para ejecutar un determinado proceso.



Tiempo de Espera – cantidad de tiempo que un proceso ha estado esperando en las colas.



Tiempo de respuesta – cantidad de tiempo que transcurre desde que fue hecho un requerimiento hasta que se produce la primera respuesta, no salida.

EJEMPLOS DE PLANIFICACIÓN LINUX Está basado en la planificación tradicional de Unix, lo que cambia es que este agrega 2 clases de prioridad para procesos de tiempo real. Las clases de planificación de Linux son las siguientes: SCHED_OTHER Es la planificación clásica de UNIX. Esta no es aplicable a tiempo real, examina las prioridades dinámicas (calculadas como combinación de las especificadas por el usuario y las calculadas por el sistema). Los procesos que llevan más tiempo en el sistema van perdiendo prioridad. SCHED_FIFO El sistema FIFO o FCFS (First to Come is First Served – Primero en entrar, primero en salir).Los procesos esperan en cola y se ejecutan secuencialmente. Su comportamiento como se ve es análogo al de una cola

donde la primera persona en llegar es la primera en ser atendida. Se usa en proceso de tiempo real. Ejemplo FIFO

Ejemplo SCHED_OTHER

WINDOWS Por lo general en Windows se utiliza una política de planificación: Round Robin. La desventaja principal es que cambia los procesos en ejecución con demasiada frecuencia. Lo que supone una pequeña pérdida de tiempo. Roundrobin: Esté un método para seleccionar todos los abstractos en un grupo de manera equitativa y en un orden racional, normalmente comenzando por el primer elemento de la lista hasta llegar al último y empezando de nuevo desde el primer elemento. Además Las prioridades en Windows se organizan en dos bandas o clases: tiempo real y variable. Cada una de estas bandas consta de 16 niveles de PRIORIDAD.

UNIX .La planificación que utiliza este, es del tipo Round Robin con colas multinivel. Cada proceso tiene asignada una prioridad de planificación que cambia con el tiempo. Dicha prioridad le hace pertenecer a una de las múltiples colas de prioridad que maneja el Unix.

Este siempre selecciona el proceso que preparado en memoria principal para ser ejecutado. En el caso de los procesos de igual prioridad (que se encuentran en la misma cola) lo que hace es ceder el uso de la CPU a uno de ellos durante un tiempo, cuando finaliza dicho tiempo le expropia el uso a la CPU y se lo cede a otro proceso. MAC La planificación del Mac está basada en cuatro listas de ejecución, cada una de ellas con diferente prioridad. Un hilo puede migrar de un nivel a otro en función de sus requerimientos, dependiendo de la política en concreto que se utilice en el sistema. En general, es posible manejar estas prioridades mediante los procedimientos definidos en el Mac. Con lo que podemos decir, que se trata de un criterio de planificación en colas multinivel mezclado con prioridades. Algo parecido al planificador SCHED_OTHER de Linux.

CONCLUSIÓN

A medida que transcurre el tiempo, la programación y la informática se han vuelto indispensables para muchos procesos y actividades de nuestra vida diaria, la carencia de la misma supondría múltiples catástrofes tanto para el usuario promedio como para una empresa o las grandes corporaciones, ya está incrustada en nuestras vidas, en el funcionamiento del mundo en la actualidad.

La programación tiene múltiples procesos los cuales son importantes saber, cuando se habla de éstos encontraremos unos que resaltan más que otros como lo son: Round Robín, SPN (que es uno de los más cortos); FCFS, SRR, la Retro alimentación y los esquemas híbridos. Todos ellos se basan en realizar programas y hacer que el usuario tenga accesibilidad a cualquiera de ellos. Éstos tienen sus políticas, las cuales nos enseñan que el programador tiene que estar pendiente con el funcionamiento y objetivo del programa.

Todo siempre está en constante renovación, diferentes reinvenciones aplicadas a diversos ámbitos, con constante actualización e innovación, se busca siempre satisfacer algún tipo de necesidad o carencia. Un programa facilita los procesos, volviéndolos más accesibles y prácticos. Todo ello es importante saberlo, ya que la tecnología es el futuro, debemos de estar informados en todo nivel, así también, se genera la capacidad de respuesta rápida ante cualquier tipo de problema

Al comprender todo ello con claridad nos damos cuenta de su relevancia en la sociedad, del gran cambio que aporta día a día y de su impacto. En la Automatización de procesos.

BIBLIOGRAFÍA



https://www.ecured.cu/Planificaci%C3%B3n_de_procesos_en_un_siste ma_operativo



http://sopa.dis.ulpgc.es/so/teoria/pdf/Old/so-05Planificacion%20de%20procesos.pdf



https://www.monografias.com/trabajos105/planificacionprocesos/planificacion-procesos.shtml



http://sistop.gwolf.org/laminas/07-algoritmos_planif_proc.pdf



Barriga

L.,

(2009).

“La

Planificación”.

disponible

en:

http://www.geocities.com/luibar.geo/Planificacion.htm [Accesado el día 15 de febrero de 2009] 

Murdick, R., (1994) Sistema de Información Basados en Computadoras. México, Editorial Diana.



https://ivanlopezjorda.wordpress.com/2015/10/05/planificacion-deprocesos-windows-y-linux/



https://es.wikipedia.org/wiki/Planificaci%C3%B3n_Round-robin



http://wwwdi.ujaen.es/~lina/TemasSO/PLANIFICACIONDEPROCESOS/ 1NivelesdePlanificacion.htm



http://wwwdi.ujaen.es/~lina/TemasSO/PLANIFICACIONDEPROCESOS/ 2y3Obj.,Crit.yTiposdePlanificacion.htm#objetivos_y_criterios



http://wwwdi.ujaen.es/~lina/TemasSO/PLANIFICACIONDEPROCESOS/ 2y3Obj.,Crit.yTiposdePlanificacion.htm#apropiativa_y_noapropiativa



http://wwwdi.ujaen.es/~lina/TemasSO/PLANIFICACIONDEPROCESOS/ 6AlgoritmosdePlanificacionI.htm#algoritmos_planificacion



http://so-wiki.wetpaint.com/page/FCFS+y+SJF?t=anon



http://www.monografias.com/trabajos7/plane/plane.shtml