SlideShare una empresa de Scribd logo
1 de 9
PLANIFICACION DE PROCESOS

1. ¿QUÉ ES UN PROCESO?

   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.

2. ¿QUÉ ES 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 modulo
   del sistema operativo que selecciona el siguiente trabajo y el siguiente proceso que
   tomara control sobre el procesador.

3. NIVELES DE PLANIFICACIÓN

      En la llamada al sistema de ejecutar programa. Cuando se crea un proceso se
      puede decidir alguno de los criterios para su planificación, como por ejemplo la
      prioridad inicial y el quantum. A esta planificación se la denomina de largo
      plazo.

      En la función scheduler. Cada vez que un proceso abandona la CPU, toma la
      decisión de qué proceso planificar en función de la política de planificación
      establecida y del valor de los parámetros de planificación. A esta planificación
      se la denomina de corto plazo.
Otras partes del sistema operativo pueden intervenir en la planificación, bien
     periódicamente (como en algunos sistemas UNIX), bien de forma indirecta,
     como es el caso del swapper de memoria, al sacar un proceso de memoria por
     problemas de espacio, hace que este no sea inmediatamente planificable. A
     este tipo de planificación se la denomina de medio plazo.




4. EVALUACIÓN DE RENDIMIENTO DE PLANIFICACIÓN

  La selección de una determinada política de planificación de procesos se basa en
  un conjunto de parámetros de rendimiento cuya importancia relativa depende de
  algunas características particulares del sistema (por ejemplo, interactivo o batch,
  existencia de procesos de tiempo real…), lo que determina los compromisos que
  hay que establecer en la selección de las política y mecanismos de la gestión de
  procesos.

  En general, todo mecanismo introduce una sobrecoste en tiempo de ejecución que
  contrarresta parte de los beneficios obtenidos por la introducción del mecanismo.
  Los parámetros de rendimiento que utilizaremos como criterios para analizar la
  calidad de una política de planificación se basa en los siguientes criterios:
EFICIENCIA:

Se refiere a la eficiencia temporal. Se expresa como el porcentaje de tiempo
en que la CPU se mantiene ocupada haciendo trabajo útil. Por trabajo útil se
entiende la ejecución de código de los programas (y de los servicios solicitados
por éstos). Cabe esperar que un sistema multiprogramado sea mucho más
eficiente que uno monoprogramado, ya que en éstos la CPU está ociosa
cuando en programa espera por una operación de E/S pudiendo haber
programas esperando a ejecutarse, por lo que ese tiempo contará como
tiempo perdido. Sin embargo, un sistema multiprogramado tiene que ejecutar
las tareas propias de la gestión de procesos (scheduler y del dispatcher), y
éstas deben computarse también como tiempo perdido.




PRODUCTIVIDAD (THROUGHPUT) :

En lo que respecta a la gestión de procesos, mide el número de programas que
se ejecutan por unidad de tiempo. Incluye otras muchas características que
afectan el rendimiento del sistema, como por ejemplo la velocidad del
procesador, que habrá que compensar si se comparan máquinas con distinto
hardware.

TIEMPO DE FINALIZACIÓN:

Considera el rendimiento del sistema desde el punto de vista del programa
que se ejecuta. Globalmente, se puede expresar como el tiempo desde que se
solicita la ejecución de un programa hasta que ésta finaliza. Es una medida
válida para sistemas batch. Lo denotaremos tf.

TIEMPO DE ESPERA:

Mide exclusivamente los tiempos totales de espera de un proceso en la cola de
preparados, tw, eliminando la dependencia de la duración del propio
programa. Depende en cierta medida, sin embargo, del número de veces que
éste se bloquea. Debe tenerse en cuenta la siguiente relación entre tiempos: si
tCPU es el tiempo que pasa el proceso en la CPU y tbloq es el tiempo total que el
proceso está bloqueado, entonces:




TASA DE CPU:

La relación entre el tiempo de CPU del programa y su tiempo de espera
expresa la tasa de CPU, que indica el grado de disfrute del procesador que ha
tenido el proceso:




LATENCIA (TIEMPO DE RESPUESTA):

Mide el tiempo desde que un proceso entra en el estado de preparado
(porque se crea o porque se desbloquea) hasta que entra en ejecución. Sólo
tiene sentido en sistemas interactivos. Lo denotaremos tr.

EQUIDAD (PREDECIBILIDAD):

Los parámetros anteriores (en particular el tiempo de terminación, la latencia
y el tiempo de espera) se miden con parámetros estadísticos. La media parece
ser el parámetro más indicativo. Sin embargo, otros parámetros de la
distribución estadística de una medida del rendimiento, como por ejemplo la
varianza de la latencia, son de gran interés. Una varianza pequeña en la
latencia es indicadora de un comportamiento homogéneo, lo que es deseable
por dos motivos:

 El comportamiento de los programas es más predecible.
 Indica un comportamiento más ecuánime y menos discriminatorio.
En cambio, varianzas muy grandes pueden indicar riesgo de inanición para
algunos programas.
5. ALGORITMOS DE PLANIFICACIÓN

      SFCS (FIRST - COME, FIRST SERVED)

      Se elige el proceso a entrar en la CPU según el tiempo que lleva esperando; es
      decir, en el orden de entrada al estado de preparados. La implementación de
      esta política es sencilla: la cola de procesos preparados se gestiona con
      disciplina FIFO. Presenta el problema del efecto convoy. La existencia de
      programas muy largos dispara el tiempo de finalización, la latencia y el tiempo
      de espera medios.

      En el ejemplo de la Figura se muestra el orden de ejecución de acuerdo a FCFS
      de tres procesos que llegan en el orden P1, P2, P3. La latencia media, Tr, es
      (0+10+11)/3= 7 unidades de tiempo, frente a una Tr mínima de 1 que se
      obtendría si los procesos se planificasen en orden P2, P3, P1.




                    Figura. Planificación FSFC, efecto convoy

      SJF (SHORTEST – JOB – FIRST)

      Se selecciona para entrar a ejecutarse el proceso de menor duración. Esta
      planificación es (teóricamente) óptima para los tiempos medios de respuesta,
      Finalización y espera.

     Es necesario estimar la duración de un proceso. Esta estimación dependerá del
     plazo de la planificación:
      Largo plazo. El usuario proporciona la estimación.

      Corto plazo. El scheduler puede predecir la duración del próximo intervalo
       de CPU en función de las duraciones de los intervalos de CPU anteriores.
       Así, la duración prevista para el instante n+1, τn+1, se calcula a partir de
una media ponderada de la duración del intervalo n, tn, y predicciones
   anteriores:




                                  Donde 0≤α≤1

Al trabajar con estimaciones en lugar de duraciones reales, el éxito de la
planificación dependerá de lo adecuado que sea el modelo de estimación.

PRIORIDADES

A cada proceso se le asocia una prioridad, a partir de las cual se establece su
orden para la planificación. Para igual prioridad, suele tomarse orden FCFS.
Habitualmente, la prioridad de un proceso se almacena como un entero
positivo dentro de su PCB, que se inserta en la cola de preparados de acuerdo
a ella para facilitar la labor del scheduler (en planificación de corto plazo).

La prioridad se establece inicialmente en función de determinados
parámetros, como el propietario del proceso, el tipo del proceso (por ejemplo,
procesos del sistema, de tiempo real, batch), su tamaño, los recursos que
requiere, etc. La prioridad inicial puede usarse para planificar a largo plazo.

Si la prioridad inicial no cambia durante la ejecución del proceso y ésta se usa
para planificar a corto plazo, se obtiene una política de prioridades estáticas.
Un problema de las prioridades estáticas es que algunos parámetros,
fundamentalmente los referidos al consumo de recursos, y en particular al
tiempo de CPU y duración de sus intervalos, no se conocen a priori, por lo que
la prioridad puede no ser indicativa de comportamiento del programa.

Otro problema es el riesgo de inanición para los procesos de prioridad baja, lo
que además puede tener consecuencias para el propio sistema operativo: si un
proceso de prioridad alta realiza espera activa para entrar en una sección
crítica ocupada por un proceso de prioridad menor, la sección crítica nunca se
liberará.

En general, resulta más adecuada una planificación por prioridades dinámicas.
Un proceso se crea con una prioridad base inicial, y su prioridad dinámica se
recalcula periódicamente, fundamentalmente de acuerdo al gasto de CPU del
proceso. La prioridad de los procesos que más tiempo de CPU han gastado
disminuye en relación a la prioridad de los procesos que han gastado menos.

Existen fundamentalmente dos formas de ajustar la prioridad:

a. Periódicamente, como por ejemplo UNIX System V, UNIX 3.2BSD y Linux,
   que ajustan conjuntamente las prioridades de todos los procesos cada
   cierto tiempo.

b. Aperiódicamente, como por ejemplo Windows NT y UNIX SVR4, que
   aprovecha, la transición de estado de un proceso para recalcular la
   prioridad.

TURNO CIRCULAR O ROUND – ROBIN

Una manera rápida de reducir la penalización que los procesos cortos sufren
con FCFS es usar expropiación basada en un reloj. Una interrupción de reloj es
generada a intervalos periódicos. Cuando ocurre la interrupción, el proceso en
ejecución es colocado en la cola de procesos listos y el próximo trabajo es
seleccionado basado en el esquema FCFS. A cada proceso se le da un trozo de
tiempo.

La principal decisión de diseño que surge con Round Robin es el tamaño del
trozo o quantum. Si el quantum es muy corto, entonces los procesos se
moverán a través del sistema rápidamente. Por otro lado, hay un cierto
overhead o desperdicio de tiempo envuelto con el manejo de la interrupción
de reloj y las funciones de planificación y despacho. Por lo tanto quantums
muy pequeños deberían evitarse. Una alternativa es usar un quantum de
tiempo que sea un poco más grande que el tiempo promedio requerido para
una interacción típica.

Round Robin es particularmente efectivo para sistemas generales de tiempo
compartido. Se implementa con una cola FIFO de procesos. Nuevos procesos
son agregados al final de la cola, y toma el proceso que se encuentra en la
cabeza de la cola. Actualiza el timer para que interrumpa después del quantum
de tiempo.
El desempeño de este algoritmo dependerá del tamaño del quantum. Si el
       quantum es infinito entonces degenera en FCFS. Si el quantum es muy
       pequeño entonces Round Robin es llamado compartición de CPU y en teoría
       pareciera que cada proceso tiene su propio procesador corriendo a 1/n la
       velocidad del procesador real.

6. POLÍTICAS DE PLANIFICACIÓN

   Describiremos las políticas generales de planificación de procesos evaluándolas de
   acuerdo a los parámetros de rendimiento introducidos anteriormente. Los
   algoritmos de planificación no se limitan a un plazo de planificación concreto.
   Aunque en general asumiremos planificación a corto plazo (entrada de procesos a
   la CPU), algunos algoritmos pueden implementarse también a largo plazo o
   distribuirse en más de un tipo de planificación (por ejemplo, a corto y medio
   plazo). Para describir una política de planificación hay que considerar los siguientes
   aspectos:

       Cómo se selecciona el proceso que entrará a ejecución. De entre los procesos
       que están en estado preparado, se elige uno de acuerdo a criterios como, por
       ejemplo, prioridades, tiempo que lleva en la cola de preparados, tasa de CPU
       que le ha correspondido.

       Cuándo se lleva a cabo la planificación. Este aspecto afecta fundamentalmente
       a la planificación a corto plazo. Hay dos alternativas básicas: si únicamente se
       planifica cuando un proceso abandona la CPU porque acaba o se bloquea
       (políticas no expulsoras), o si se puede forzar al proceso que está usando la
       CPU a abandonarla para planificar otro proceso (políticas expulsoras).

       La existencia o no de más de una política de planificación, ajustadas a los
       diferentes tipos de procesos, y cómo se combinan. En los sistemas de
       propósito general coexisten procesos de tipos diferentes que pueden requerir
       políticas específicas, por lo que se suelen definir varias políticas particulares,
       cada una adecuada a un tipo de procesos, y una política global aplicable al
       conjunto de tipos de procesos (planificación multinivel).
7. EXPULSIÓN

  Los algoritmos vistos anteriormente se aplican en el momento en que se decide
  planificar un proceso, cuando la CPU queda libre. En principio, esto ocurre cuando
  el proceso que la ocupa se bloquea o termina. Si no hay más oportunidades para
  planificar, las políticas de planificación resultantes se denominan no expulsoras.
  Estas políticas permiten el abuso de CPU por parte de procesos orientados a
  cálculo, en detrimento de los orientados a entrada/salida. Piénsese por ejemplo en
  un proceso que ejecute un bucle de espera activa sin que se cumpla nunca la
  condición de salida.

  La posibilidad alternativa es forzar la expulsión del proceso que ocupa la CPU en
  determinadas situaciones, llevándolo a la cola de preparados y provocando una
  nueva planificación. Estas políticas de planificación expulsoras tienden a
  incrementar la equidad en el reparto de la CPU y contribuyen a evitar la inanición
  de los procesos.

  Fundamentalmente, hay dos formas de provocar la expulsión del proceso, que no
  son excluyentes:

  a. Expulsión por evento (transición de un proceso a preparados, ya sea por
     desbloqueo o por creación de uno nuevo), que permite la planificación de
     procesos de tiempo real.

  b. Expulsión por tiempo, que conduce a sistemas de tiempo compartido. Las
     políticas expulsoras, como las no expulsoras, pueden aplicar cualquiera de los
     algoritmos de selección del proceso descritos anteriormente.




                  Modelo de colas de un sistema expulsor

Más contenido relacionado

La actualidad más candente

Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosChiNo Sosa Erazo
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosnathalyrivasdiaz
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salidaDavid Martinez
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosChristian19121
 
Introduccion sistemas operativos
Introduccion sistemas operativosIntroduccion sistemas operativos
Introduccion sistemas operativosdorysvalero
 
Sistemas de tiempo compartido
Sistemas de tiempo compartidoSistemas de tiempo compartido
Sistemas de tiempo compartidoruberush
 
Cluster pelican hpc
Cluster pelican hpcCluster pelican hpc
Cluster pelican hpcAngel Joshua
 
Arquitectura cisc
Arquitectura ciscArquitectura cisc
Arquitectura ciscSuarezJhon
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windowsomfib123
 
Interfaz con el sistema de archivos
Interfaz con el sistema de archivosInterfaz con el sistema de archivos
Interfaz con el sistema de archivosUTPL UTPL
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Estructura jerarquica
Estructura jerarquicaEstructura jerarquica
Estructura jerarquicaAndrew King
 
Entrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosEntrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosKarina Rivra
 
clasificacion de los sistemas operativos
clasificacion de los sistemas operativosclasificacion de los sistemas operativos
clasificacion de los sistemas operativosaleja rodriguez
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoriacaredimaria
 
¿Qué hacer si mi PC no enciende?
¿Qué hacer si mi PC no enciende?¿Qué hacer si mi PC no enciende?
¿Qué hacer si mi PC no enciende?Daniel Amador
 
Sistema de-maquina-virtual
Sistema de-maquina-virtualSistema de-maquina-virtual
Sistema de-maquina-virtualkerlly villon
 

La actualidad más candente (20)

Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Introduccion sistemas operativos
Introduccion sistemas operativosIntroduccion sistemas operativos
Introduccion sistemas operativos
 
Sistemas de tiempo compartido
Sistemas de tiempo compartidoSistemas de tiempo compartido
Sistemas de tiempo compartido
 
Cluster pelican hpc
Cluster pelican hpcCluster pelican hpc
Cluster pelican hpc
 
Arquitectura cisc
Arquitectura ciscArquitectura cisc
Arquitectura cisc
 
SERVICIOS DEL SISTEMA OPERATIVO
SERVICIOS DEL SISTEMA OPERATIVOSERVICIOS DEL SISTEMA OPERATIVO
SERVICIOS DEL SISTEMA OPERATIVO
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
 
Interfaz con el sistema de archivos
Interfaz con el sistema de archivosInterfaz con el sistema de archivos
Interfaz con el sistema de archivos
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Estructura jerarquica
Estructura jerarquicaEstructura jerarquica
Estructura jerarquica
 
Entrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosEntrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas Operativos
 
clasificacion de los sistemas operativos
clasificacion de los sistemas operativosclasificacion de los sistemas operativos
clasificacion de los sistemas operativos
 
Sistemas raid
Sistemas raidSistemas raid
Sistemas raid
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
¿Qué hacer si mi PC no enciende?
¿Qué hacer si mi PC no enciende?¿Qué hacer si mi PC no enciende?
¿Qué hacer si mi PC no enciende?
 
Sistema de-maquina-virtual
Sistema de-maquina-virtualSistema de-maquina-virtual
Sistema de-maquina-virtual
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 

Similar a Planificacion de procesos

PLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOPLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOgladysmamani
 
PLANIFICACION DE PROCESOS
PLANIFICACION DE PROCESOSPLANIFICACION DE PROCESOS
PLANIFICACION DE PROCESOSgladysmamani
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesosYoselvi
 
Planificacion de Porcesos
Planificacion de PorcesosPlanificacion de Porcesos
Planificacion de Porcesosguest18b3b79
 
planificacion de los procesos
planificacion de los procesosplanificacion de los procesos
planificacion de los procesosvianycari
 
Planificaion De Procesos
Planificaion De ProcesosPlanificaion De Procesos
Planificaion De Procesoslaunica
 
Planificaion de Procesos
Planificaion de ProcesosPlanificaion de Procesos
Planificaion de ProcesosFiorelaLV
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSgladysmamani
 
expoci
expociexpoci
expociamluap
 
PLANIFICACION DE PROSECOS
PLANIFICACION DE PROSECOSPLANIFICACION DE PROSECOS
PLANIFICACION DE PROSECOSmerycondori
 
Planificaion De Procesos
Planificaion De ProcesosPlanificaion De Procesos
Planificaion De Procesoslaunica
 
Prueba
PruebaPrueba
Pruebaemnero
 
Planificación de un_proceso
Planificación de un_procesoPlanificación de un_proceso
Planificación de un_procesosiamu_evap
 
Planificaión de La CPU
Planificaión de La CPUPlanificaión de La CPU
Planificaión de La CPUEdgar Pauta
 
Planificación de Procesos en Sistemas Operativos
Planificación de Procesos en Sistemas OperativosPlanificación de Procesos en Sistemas Operativos
Planificación de Procesos en Sistemas OperativosCarina Hurtado
 

Similar a Planificacion de procesos (20)

PLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOPLANIFICACION DE PROCESO
PLANIFICACION DE PROCESO
 
PLANIFICACION DE PROCESOS
PLANIFICACION DE PROCESOSPLANIFICACION DE PROCESOS
PLANIFICACION DE PROCESOS
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Planificacion de Porcesos
Planificacion de PorcesosPlanificacion de Porcesos
Planificacion de Porcesos
 
PLANIFICACION DE PROCESOS
PLANIFICACION DE PROCESOSPLANIFICACION DE PROCESOS
PLANIFICACION DE PROCESOS
 
planificacion de los procesos
planificacion de los procesosplanificacion de los procesos
planificacion de los procesos
 
Planificaion De Procesos
Planificaion De ProcesosPlanificaion De Procesos
Planificaion De Procesos
 
Planificaion de Procesos
Planificaion de ProcesosPlanificaion de Procesos
Planificaion de Procesos
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
expoci
expociexpoci
expoci
 
PLANIFICACION DE PROSECOS
PLANIFICACION DE PROSECOSPLANIFICACION DE PROSECOS
PLANIFICACION DE PROSECOS
 
Planificaion De Procesos
Planificaion De ProcesosPlanificaion De Procesos
Planificaion De Procesos
 
Actividad colaborativa 301402 7
Actividad colaborativa  301402 7Actividad colaborativa  301402 7
Actividad colaborativa 301402 7
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
2003 Clase0610
2003 Clase06102003 Clase0610
2003 Clase0610
 
Prueba
PruebaPrueba
Prueba
 
Planificación de un_proceso
Planificación de un_procesoPlanificación de un_proceso
Planificación de un_proceso
 
Planificaión de La CPU
Planificaión de La CPUPlanificaión de La CPU
Planificaión de La CPU
 
Planificación de Procesos en Sistemas Operativos
Planificación de Procesos en Sistemas OperativosPlanificación de Procesos en Sistemas Operativos
Planificación de Procesos en Sistemas Operativos
 

Más de alexander alticoru

Más de alexander alticoru (10)

Prog gui
Prog guiProg gui
Prog gui
 
Seguridad en caso de un desastre natural yossed
Seguridad en caso de un desastre natural yossedSeguridad en caso de un desastre natural yossed
Seguridad en caso de un desastre natural yossed
 
Motivacion
MotivacionMotivacion
Motivacion
 
Liderazgo
LiderazgoLiderazgo
Liderazgo
 
Control
ControlControl
Control
 
Control
ControlControl
Control
 
Cómo se escribe un número en el estándar ieee 754
Cómo se escribe un número en el estándar ieee 754Cómo se escribe un número en el estándar ieee 754
Cómo se escribe un número en el estándar ieee 754
 
Proceso de administracion de estrategias
Proceso de administracion de estrategiasProceso de administracion de estrategias
Proceso de administracion de estrategias
 
Fundamentos de planeacion
Fundamentos de planeacionFundamentos de planeacion
Fundamentos de planeacion
 
Caso estudio practico - lab - met ingsw-1
Caso estudio   practico - lab - met ingsw-1Caso estudio   practico - lab - met ingsw-1
Caso estudio practico - lab - met ingsw-1
 

Último

Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Último (16)

Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Planificacion de procesos

  • 1. PLANIFICACION DE PROCESOS 1. ¿QUÉ ES UN PROCESO? 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. 2. ¿QUÉ ES 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 modulo del sistema operativo que selecciona el siguiente trabajo y el siguiente proceso que tomara control sobre el procesador. 3. NIVELES DE PLANIFICACIÓN En la llamada al sistema de ejecutar programa. Cuando se crea un proceso se puede decidir alguno de los criterios para su planificación, como por ejemplo la prioridad inicial y el quantum. A esta planificación se la denomina de largo plazo. En la función scheduler. Cada vez que un proceso abandona la CPU, toma la decisión de qué proceso planificar en función de la política de planificación establecida y del valor de los parámetros de planificación. A esta planificación se la denomina de corto plazo.
  • 2. Otras partes del sistema operativo pueden intervenir en la planificación, bien periódicamente (como en algunos sistemas UNIX), bien de forma indirecta, como es el caso del swapper de memoria, al sacar un proceso de memoria por problemas de espacio, hace que este no sea inmediatamente planificable. A este tipo de planificación se la denomina de medio plazo. 4. EVALUACIÓN DE RENDIMIENTO DE PLANIFICACIÓN La selección de una determinada política de planificación de procesos se basa en un conjunto de parámetros de rendimiento cuya importancia relativa depende de algunas características particulares del sistema (por ejemplo, interactivo o batch, existencia de procesos de tiempo real…), lo que determina los compromisos que hay que establecer en la selección de las política y mecanismos de la gestión de procesos. En general, todo mecanismo introduce una sobrecoste en tiempo de ejecución que contrarresta parte de los beneficios obtenidos por la introducción del mecanismo. Los parámetros de rendimiento que utilizaremos como criterios para analizar la calidad de una política de planificación se basa en los siguientes criterios:
  • 3. EFICIENCIA: Se refiere a la eficiencia temporal. Se expresa como el porcentaje de tiempo en que la CPU se mantiene ocupada haciendo trabajo útil. Por trabajo útil se entiende la ejecución de código de los programas (y de los servicios solicitados por éstos). Cabe esperar que un sistema multiprogramado sea mucho más eficiente que uno monoprogramado, ya que en éstos la CPU está ociosa cuando en programa espera por una operación de E/S pudiendo haber programas esperando a ejecutarse, por lo que ese tiempo contará como tiempo perdido. Sin embargo, un sistema multiprogramado tiene que ejecutar las tareas propias de la gestión de procesos (scheduler y del dispatcher), y éstas deben computarse también como tiempo perdido. PRODUCTIVIDAD (THROUGHPUT) : En lo que respecta a la gestión de procesos, mide el número de programas que se ejecutan por unidad de tiempo. Incluye otras muchas características que afectan el rendimiento del sistema, como por ejemplo la velocidad del procesador, que habrá que compensar si se comparan máquinas con distinto hardware. TIEMPO DE FINALIZACIÓN: Considera el rendimiento del sistema desde el punto de vista del programa que se ejecuta. Globalmente, se puede expresar como el tiempo desde que se solicita la ejecución de un programa hasta que ésta finaliza. Es una medida válida para sistemas batch. Lo denotaremos tf. TIEMPO DE ESPERA: Mide exclusivamente los tiempos totales de espera de un proceso en la cola de preparados, tw, eliminando la dependencia de la duración del propio programa. Depende en cierta medida, sin embargo, del número de veces que éste se bloquea. Debe tenerse en cuenta la siguiente relación entre tiempos: si
  • 4. tCPU es el tiempo que pasa el proceso en la CPU y tbloq es el tiempo total que el proceso está bloqueado, entonces: TASA DE CPU: La relación entre el tiempo de CPU del programa y su tiempo de espera expresa la tasa de CPU, que indica el grado de disfrute del procesador que ha tenido el proceso: LATENCIA (TIEMPO DE RESPUESTA): Mide el tiempo desde que un proceso entra en el estado de preparado (porque se crea o porque se desbloquea) hasta que entra en ejecución. Sólo tiene sentido en sistemas interactivos. Lo denotaremos tr. EQUIDAD (PREDECIBILIDAD): Los parámetros anteriores (en particular el tiempo de terminación, la latencia y el tiempo de espera) se miden con parámetros estadísticos. La media parece ser el parámetro más indicativo. Sin embargo, otros parámetros de la distribución estadística de una medida del rendimiento, como por ejemplo la varianza de la latencia, son de gran interés. Una varianza pequeña en la latencia es indicadora de un comportamiento homogéneo, lo que es deseable por dos motivos:  El comportamiento de los programas es más predecible.  Indica un comportamiento más ecuánime y menos discriminatorio. En cambio, varianzas muy grandes pueden indicar riesgo de inanición para algunos programas.
  • 5. 5. ALGORITMOS DE PLANIFICACIÓN SFCS (FIRST - COME, FIRST SERVED) Se elige el proceso a entrar en la CPU según el tiempo que lleva esperando; es decir, en el orden de entrada al estado de preparados. La implementación de esta política es sencilla: la cola de procesos preparados se gestiona con disciplina FIFO. Presenta el problema del efecto convoy. La existencia de programas muy largos dispara el tiempo de finalización, la latencia y el tiempo de espera medios. En el ejemplo de la Figura se muestra el orden de ejecución de acuerdo a FCFS de tres procesos que llegan en el orden P1, P2, P3. La latencia media, Tr, es (0+10+11)/3= 7 unidades de tiempo, frente a una Tr mínima de 1 que se obtendría si los procesos se planificasen en orden P2, P3, P1. Figura. Planificación FSFC, efecto convoy SJF (SHORTEST – JOB – FIRST) Se selecciona para entrar a ejecutarse el proceso de menor duración. Esta planificación es (teóricamente) óptima para los tiempos medios de respuesta, Finalización y espera. Es necesario estimar la duración de un proceso. Esta estimación dependerá del plazo de la planificación:  Largo plazo. El usuario proporciona la estimación.  Corto plazo. El scheduler puede predecir la duración del próximo intervalo de CPU en función de las duraciones de los intervalos de CPU anteriores. Así, la duración prevista para el instante n+1, τn+1, se calcula a partir de
  • 6. una media ponderada de la duración del intervalo n, tn, y predicciones anteriores: Donde 0≤α≤1 Al trabajar con estimaciones en lugar de duraciones reales, el éxito de la planificación dependerá de lo adecuado que sea el modelo de estimación. PRIORIDADES A cada proceso se le asocia una prioridad, a partir de las cual se establece su orden para la planificación. Para igual prioridad, suele tomarse orden FCFS. Habitualmente, la prioridad de un proceso se almacena como un entero positivo dentro de su PCB, que se inserta en la cola de preparados de acuerdo a ella para facilitar la labor del scheduler (en planificación de corto plazo). La prioridad se establece inicialmente en función de determinados parámetros, como el propietario del proceso, el tipo del proceso (por ejemplo, procesos del sistema, de tiempo real, batch), su tamaño, los recursos que requiere, etc. La prioridad inicial puede usarse para planificar a largo plazo. Si la prioridad inicial no cambia durante la ejecución del proceso y ésta se usa para planificar a corto plazo, se obtiene una política de prioridades estáticas. Un problema de las prioridades estáticas es que algunos parámetros, fundamentalmente los referidos al consumo de recursos, y en particular al tiempo de CPU y duración de sus intervalos, no se conocen a priori, por lo que la prioridad puede no ser indicativa de comportamiento del programa. Otro problema es el riesgo de inanición para los procesos de prioridad baja, lo que además puede tener consecuencias para el propio sistema operativo: si un proceso de prioridad alta realiza espera activa para entrar en una sección crítica ocupada por un proceso de prioridad menor, la sección crítica nunca se liberará. En general, resulta más adecuada una planificación por prioridades dinámicas. Un proceso se crea con una prioridad base inicial, y su prioridad dinámica se
  • 7. recalcula periódicamente, fundamentalmente de acuerdo al gasto de CPU del proceso. La prioridad de los procesos que más tiempo de CPU han gastado disminuye en relación a la prioridad de los procesos que han gastado menos. Existen fundamentalmente dos formas de ajustar la prioridad: a. Periódicamente, como por ejemplo UNIX System V, UNIX 3.2BSD y Linux, que ajustan conjuntamente las prioridades de todos los procesos cada cierto tiempo. b. Aperiódicamente, como por ejemplo Windows NT y UNIX SVR4, que aprovecha, la transición de estado de un proceso para recalcular la prioridad. TURNO CIRCULAR O ROUND – ROBIN Una manera rápida de reducir la penalización que los procesos cortos sufren con FCFS es usar expropiación basada en un reloj. Una interrupción de reloj es generada a intervalos periódicos. Cuando ocurre la interrupción, el proceso en ejecución es colocado en la cola de procesos listos y el próximo trabajo es seleccionado basado en el esquema FCFS. A cada proceso se le da un trozo de tiempo. La principal decisión de diseño que surge con Round Robin es el tamaño del trozo o quantum. Si el quantum es muy corto, entonces los procesos se moverán a través del sistema rápidamente. Por otro lado, hay un cierto overhead o desperdicio de tiempo envuelto con el manejo de la interrupción de reloj y las funciones de planificación y despacho. Por lo tanto quantums muy pequeños deberían evitarse. Una alternativa es usar un quantum de tiempo que sea un poco más grande que el tiempo promedio requerido para una interacción típica. Round Robin es particularmente efectivo para sistemas generales de tiempo compartido. Se implementa con una cola FIFO de procesos. Nuevos procesos son agregados al final de la cola, y toma el proceso que se encuentra en la cabeza de la cola. Actualiza el timer para que interrumpa después del quantum de tiempo.
  • 8. El desempeño de este algoritmo dependerá del tamaño del quantum. Si el quantum es infinito entonces degenera en FCFS. Si el quantum es muy pequeño entonces Round Robin es llamado compartición de CPU y en teoría pareciera que cada proceso tiene su propio procesador corriendo a 1/n la velocidad del procesador real. 6. POLÍTICAS DE PLANIFICACIÓN Describiremos las políticas generales de planificación de procesos evaluándolas de acuerdo a los parámetros de rendimiento introducidos anteriormente. Los algoritmos de planificación no se limitan a un plazo de planificación concreto. Aunque en general asumiremos planificación a corto plazo (entrada de procesos a la CPU), algunos algoritmos pueden implementarse también a largo plazo o distribuirse en más de un tipo de planificación (por ejemplo, a corto y medio plazo). Para describir una política de planificación hay que considerar los siguientes aspectos: Cómo se selecciona el proceso que entrará a ejecución. De entre los procesos que están en estado preparado, se elige uno de acuerdo a criterios como, por ejemplo, prioridades, tiempo que lleva en la cola de preparados, tasa de CPU que le ha correspondido. Cuándo se lleva a cabo la planificación. Este aspecto afecta fundamentalmente a la planificación a corto plazo. Hay dos alternativas básicas: si únicamente se planifica cuando un proceso abandona la CPU porque acaba o se bloquea (políticas no expulsoras), o si se puede forzar al proceso que está usando la CPU a abandonarla para planificar otro proceso (políticas expulsoras). La existencia o no de más de una política de planificación, ajustadas a los diferentes tipos de procesos, y cómo se combinan. En los sistemas de propósito general coexisten procesos de tipos diferentes que pueden requerir políticas específicas, por lo que se suelen definir varias políticas particulares, cada una adecuada a un tipo de procesos, y una política global aplicable al conjunto de tipos de procesos (planificación multinivel).
  • 9. 7. EXPULSIÓN Los algoritmos vistos anteriormente se aplican en el momento en que se decide planificar un proceso, cuando la CPU queda libre. En principio, esto ocurre cuando el proceso que la ocupa se bloquea o termina. Si no hay más oportunidades para planificar, las políticas de planificación resultantes se denominan no expulsoras. Estas políticas permiten el abuso de CPU por parte de procesos orientados a cálculo, en detrimento de los orientados a entrada/salida. Piénsese por ejemplo en un proceso que ejecute un bucle de espera activa sin que se cumpla nunca la condición de salida. La posibilidad alternativa es forzar la expulsión del proceso que ocupa la CPU en determinadas situaciones, llevándolo a la cola de preparados y provocando una nueva planificación. Estas políticas de planificación expulsoras tienden a incrementar la equidad en el reparto de la CPU y contribuyen a evitar la inanición de los procesos. Fundamentalmente, hay dos formas de provocar la expulsión del proceso, que no son excluyentes: a. Expulsión por evento (transición de un proceso a preparados, ya sea por desbloqueo o por creación de uno nuevo), que permite la planificación de procesos de tiempo real. b. Expulsión por tiempo, que conduce a sistemas de tiempo compartido. Las políticas expulsoras, como las no expulsoras, pueden aplicar cualquiera de los algoritmos de selección del proceso descritos anteriormente. Modelo de colas de un sistema expulsor