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 I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMMari Cruz
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos TradicionalesSergio Sanchez
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Javier Alvarez
 
Esquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologíasEsquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologíasLeo Jm
 
Interrupciones y llamadas del sistema
Interrupciones y llamadas del sistemaInterrupciones y llamadas del sistema
Interrupciones y llamadas del sistemajomapuga
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un procesoi92almaa
 
Multiprogramación
MultiprogramaciónMultiprogramación
Multiprogramaciónelmunera
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacionLuis Peralta
 
Especificación de requisitos de un sitio web
Especificación de requisitos de un sitio webEspecificación de requisitos de un sitio web
Especificación de requisitos de un sitio webRafael Pedraza-Jimenez
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosAbimael hernandez
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosLorena Ramos
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores JUANR1022
 
Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computadoralexis armas
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoriaALASBLANKS
 
Sistema operativos distribuidos
Sistema operativos distribuidosSistema operativos distribuidos
Sistema operativos distribuidospgr95
 
Practica de procesos en Linux
Practica de procesos en LinuxPractica de procesos en Linux
Practica de procesos en LinuxTerrafx9
 

La actualidad más candente (20)

Sistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUM
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
 
Algoritmo SJF
Algoritmo SJFAlgoritmo SJF
Algoritmo SJF
 
Esquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologíasEsquema comparativo de los tipos de modelos y metodologías
Esquema comparativo de los tipos de modelos y metodologías
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Interrupciones y llamadas del sistema
Interrupciones y llamadas del sistemaInterrupciones y llamadas del sistema
Interrupciones y llamadas del sistema
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
 
Multiprogramación
MultiprogramaciónMultiprogramación
Multiprogramación
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacion
 
Especificación de requisitos de un sitio web
Especificación de requisitos de un sitio webEspecificación de requisitos de un sitio web
Especificación de requisitos de un sitio web
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computador
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 
Sistema operativos distribuidos
Sistema operativos distribuidosSistema operativos distribuidos
Sistema operativos distribuidos
 
Practica de procesos en Linux
Practica de procesos en LinuxPractica de procesos en Linux
Practica de procesos en Linux
 

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 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
 
PLANIFICACION DE PROCESOS
PLANIFICACION DE PROCESOSPLANIFICACION DE PROCESOS
PLANIFICACION 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

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 

Último (20)

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 

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