Está en la página 1de 20

Tema 3

Sistemas Operativos

Tema 3. Planificación de
procesos
Índice
Esquema

Ideas clave

3.1. ¿Cómo estudiar este tema?

3.2. Conceptos básicos

3.3. Criterios de planificación

4.4 Algoritmos de planificación

A fondo

Planificación de procesos y procesadores

Administración de procesos y el procesador

Estado de los procesos

Algoritmos de planificación

Planificación de procesos

Algoritmos de planificación de procesos

Aspectos para diseñar un buen criterio de planificación

Dev-C++

NetBeans

Actividades

Laboratorio 1: trabajo con llamadas al sistema

Test
Esquema

Sistemas Operativos 3
Tema 3. Esquema
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

3.1. ¿Cómo estudiar este tema?

Para estudiar este tema lee las «Ideas clave» y los siguientes documentos:

Silberschatz, G. (2006). Fundamentos de sistemas operativos (pp. 137-150) . Madrid:


McGraw-Hill. Disponible en el aula virtual en virtud del artículo 32.4 de la Ley de

Propiedad Intelectual.
Carretero, J. (2007). Sistemas operativos. Una visión aplicada (pp. 153-175) . Madrid:
McGraw-Hill. Disponible en el aula virtual en virtud del artículo 32.4 de la Ley de

Propiedad Intelectual.

En este tema se analizarán los siguientes puntos fundamentales para poder

entender:

▸ El concepto de planificación del procesador.

▸ Las necesidades de planificación en sistemas multiprogramados.

▸ Los diferentes algoritmos de planificación.

Sistemas Operativos 4
Tema 3. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

3.2. Conceptos básicos

En un sistema monoprocesador solo se puede ejecutar un único proceso a la

vez. De esta forma, para que se pueda ejecutar otro proceso, el procesador debe

estar libre. El objetivo de la multiprogramación es tener continuamente varios

procesos en ejecución, con el fin de maximizar la utilización del procesador.

Cuando un proceso tiene que esperar por un dispositivo, se le cede el procesador a

otro proceso. Así como se puede planificar la utilización de cualquier recurso, el


procesador es otro recurso más, por lo tanto, su planificación de ejecución es

fundamental dentro de esta actividad.

Tabla 1. Planificación del procesador.

Los procesos suelen realizar un uso del procesador seguido de la espera por

los dispositivos de E/S. Cuando el procesador queda inactivo, le planificador

debe seleccionar un proceso de la cola para su ejecución.

Tal y como señalan Silberschatz, Gagne y Galvin (2006), para diseñar la planificación

puede ser necesario tomar decisiones sobre qué tipo de actividades suceden, a

saber:

▸ Cuando un proceso cambia del estado de ejecución a espera.

▸ Cuando un proceso cambia del estado de ejecución a preparado.

▸ Cuando un proceso cambia del estado de preparado a espera.

Sistemas Operativos 5
Tema 3. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

▸ Cuando un proceso finaliza.

En las situaciones 1 y 4 se debe seleccionar un nuevo proceso para la ejecución. En

las situaciones 2 y 3 existe la posibilidad de planificar otro proceso o no.

Figura 1. Planificación según las situaciones.

Para poder comprender la planificación hay que destacar un componente

fundamental: el despachador. Este se encarga de proporcionar el control del

procesador a los procesos.

Tabla 2. El despachador.

La implementación del despachador debe ser optima, de tal forma que el

tiempo de latencia de despacho (intercambio de proceso) sea mínimo.

Sistemas Operativos 6
Tema 3. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

3.3. Criterios de planificación

Cada algoritmo de planificación tiene propiedades diferentes. La elección de un

algoritmo frente a otro puede favorecer una clase de procesos determinados. Las

características que se utilizan para comparar entre los diferentes algoritmos puede

afectar significativamente a la elección del mejor. Algunos de los criterios a

considerar, según Silberschatz, Gagne y Galvin (2006), son:

Tabla 3. Criterios de planificación.

El objetivo de esta actividad es maximizar la utilización del procesador y la tasa

de procesamiento, con el propósito de disminuir el tiempo de ejecución, el tiempo

de espera y el tiempo de respuesta. En la mayoría de los sistemas operativos se

Sistemas Operativos 7
Tema 3. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

lleva a cabo una optimización de alguna característica.

Sistemas Operativos 8
Tema 3. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

4.4 Algoritmos de planificación

De acuerdo con Silberschatz, Gagne y Galvin (2006) a continuación se describen

algunos de los algoritmos más utilizados para llevar a cabo la planificación del

procesador.

▸ Planificación FCFS (First-Come First-Served). Se trata del algoritmo de

planificación más sencillo que se puede utilizar. Con este algoritmo se asigna el

procesador al primer proceso que lo solicita. Se puede implementar fácilmente

con una cola FIFO. El tiempo medio de espera con este algoritmo suele ser

bastante alto.

▸ Planificación SJF (Shortest-Job-First). Este algoritmo asocia con cada

proceso la duración de la siguiente ráfaga de procesador del proceso. Cuando

el procesador está libre se asigna el proceso que tiene la siguiente ráfaga más

corto. Si dos procesos tienen la misma ráfaga se utiliza el FCFS para decidir.

Este algoritmo es óptimo desde el punto de vista que proporciona el tiempo medio de

espera mínimo para un conjunto de procesos dado. Sin embargo, la dificultad real de

este método radica en determinar la duración de la siguiente ráfaga de procesador.

▸ Planificación por prioridades. El algoritmo SJF es un tipo particular de

algoritmo de planificación por prioridades. En este caso, a cada proceso se le

asigna una prioridad. Generalmente la prioridad se indica con un número en un

rango establecido. No existe convenio para decidir si la prioridad 0 es la más


alta o baja. Las prioridades pueden definirse de manera interna o externa. Las

prioridades internas las establece el sistema operativo, mientras que las

externas no dependen de él.

Esta planificación puede ser apropiativa o cooperativa. Si es apropiativa y llega un

proceso a la cola con mayor prioridad del que se encuentra en ejecución, se

Sistemas Operativos 9
Tema 3. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

expulsará al proceso en ejecución y comenzará el nuevo con mayor prioridad. Un

problema importante de los sistemas por prioridades es la muerte por inanición.

▸ Planificación por turnos (RR, Round Robin). Este algoritmo está diseñado

para los sistemas de tiempo compartido. Es similar al FCFS pero se incluye una

técnica de desalojo para conmutar entre procesos. En este tipo de sistemas se


define una franja de tiempo llamada cuanto de tiempo. La cola de procesos

preparados se gestiona de manera circular. A cada proceso preparado se le

asigna el procesador durante un cuanto de tiempo.

Para implementar esta solución bastaría con una cola FIFO circular. El tiempo medio

de espera con este algoritmo es generalmente largo. El rendimiento de esta

planificación depende mucho del tamaño del cuanto de tiempo. Por un lado, si el

cuanto es demasiado grande se asemeja al FCFS. Por otro lado, si el cuanto es muy

pequeño, se denomina compartición del procesador, pues se crea la apariencia de

que cada proceso tiene su propio procesador ejecutándose a una velocidad de

«1/n», siendo «n» el número de procesos.

▸ Planificación mediante colas multinivel. Se trata de otra clase de algoritmos

en los que se puede clasificar fácilmente los procesos. Una clasificación

tradicional puede ser diferenciar entre procesos de primer plano (interactivos) y

segundo plano (por lotes).

▸ Planificación mediante colas multinivel realimentadas. El algoritmo anterior

genera una solución un poco rígida, pues los procesos se asignan siempre a la

misma cola dependiendo de su naturaleza. Las colas multinivel realimentadas

permiten cambiar procesos de una cola a otra. Si un proceso utiliza demasiado

el procesador, puede ser cambiado en la posición de cola con una prioridad

más baja. Los procesos limitados por E/S y procesos interactivos se quedan en

las colas con prioridad más alta.

Sistemas Operativos 10
Tema 3. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
A fondo

Planificación de procesos y procesadores

Lafuente, A. (s.f.). Planificación de procesos y procesadores. Universidad del País

Vasco.

Este documento muestra la eficacia de los diferentes algoritmos para la planificación

de procesos. Se analizan diferentes parámetros como el tiempo de ejecución, tiempo

de respuesta, etc.

Accede al documento a través del aula virtual o desde la siguiente dirección

web:
http://www.sc.ehu.es/acwlaroa/SO2/Apuntes/Cap3.pdf

Sistemas Operativos 11
Tema 3. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Administración de procesos y el procesador

Martinez-Moreno, M. (s.f.). Administración de procesos y el procesador. Sistemas

operativos.

Este artículo muestra la importancia de la planificación de procesos desde el punto

de vista del procesador. Se plantean algunos criterios de planificación y las ventajas

de realizar una correcta planificación.

Accede al documento a través del aula virtual o desde la siguiente dirección

web:
http://sistemasoperativos.angelfire.com/html/2.5.html

Sistemas Operativos 12
Tema 3. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Estado de los procesos

Este video muestra diferentes modelos por los que puede ir pasando un proceso. Se

muestran las transiciones entre los estados, así como diferentes modelos

dependiendo del número de estados considerados.

Accede al video a través del aula virtual o desde la siguiente dirección web:
http://www.youtube.com/watch?v=V_AdS_FlV5c

Sistemas Operativos 13
Tema 3. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Algoritmos de planificación

Este video presenta el funcionamiento de diferentes algoritmos de planificación vistos

a lo largo del tema. Se realiza una comparativa del tiempo de ejecución de cada

proceso y de respuesta.

Accede al video a través del aula virtual o desde la siguiente dirección web:
http://www.youtube.com/watch?v=8LUAGd7ISJc

Sistemas Operativos 14
Tema 3. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Planificación de procesos

Sistemas Operativos Gunnar Wolf. (s.f.). Planificación de procesos. Sistemas

Operativos Gunnar Wolf.

En este texto se muestra las diferentes alternativas a la hora de realizar la

planificación de procesos, utilizando representaciones gráficas que permiten mejorar

su comprensión.

Accede al documento a través del aula virtual o desde la siguiente dirección

web:
http://sistop.gwolf.org/html/03_planificacion_de_procesos.html

Sistemas Operativos 15
Tema 3. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Algoritmos de planificación de procesos

Algoritmos de planificación de procesos. (s.f.). Scribd.

En este documento se muestra los criterios más utilizados para realizar la

planificación de procesos, así como ejemplos prácticos de la planificación realizada

con diferentes algoritmos vistos a lo largo de este tema.

Accede al documento a través del aula virtual o desde la siguiente dirección

web:

http://es.scribd.com/doc/43776541/ALGORITMO-DE-PLANIFICACION-DE-
PROCESOS

Sistemas Operativos 16
Tema 3. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Aspectos para diseñar un buen criterio de


planificación

Planificación de procesos. (s.f.). En Wikipedia. Recuperado el 21 de mayo de 2019.

El siguiente enlace muestra criterios que pueden resultar apropiados para el diseño

de un bueno criterio de planificación. Es interesante fijar los criterios que se van a

utilizar en nuestra planificación de procesos para tener el resultado esperado

atendiendo al tipo de sistema que se requiere.

Accede al documento a través del aula virtual o desde la siguiente dirección


web:
https://1984.lsi.us.es/wiki-ssoo/index.php/Planificaci%C3%B3n_de_procesos

Sistemas Operativos 17
Tema 3. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Dev-C++

Dev-C + + es un entorno de desarrollo integrado libre (IDE) distribuye bajo la

Licencia Pública General de GNU para la programación en C y C + +. MinGW, un

compilador libre, se entrega junto con él. El IDE está escrito en Delphi.

Accede al documento a través del aula virtual o desde la siguiente dirección


web:

http://www.bloodshed.net/devcpp.html
Manual: http://www.bloodshed.net/dev/doc/

Sistemas Operativos 18
Tema 3. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

NetBeans

NetBeans es un entorno de desarrollo integrado (IDE) multiplataforma para el

desarrollo principalmente con Java, pero también con otros lenguajes, como PHP, C /

C+ + y HTML5.

Accede al documento a través del aula virtual o desde la siguiente dirección


web:

https://netbeans.org/
Manual: https://netbeans.org/kb/docs/java/quickstart.html

Sistemas Operativos 19
Tema 3. A fondo
© Universidad Internacional de La Rioja (UNIR)
Test

1. La planificación de procesos dependerá:

2. El tiempo de CPU suele:

3. Un nuevo proceso puede entrar a ejecutar:

4. Un proceso puede ser expulsado del procesador:

5. El despachador:

6. Para llevar a cabo la planificación de procesos:

7. El algoritmo FCFS:

8. El algoritmo SJF:

9. En la planificación RR:

10. La planificación por colas multinivel:

Sistemas Operativos 20
Tema 3. Test
© Universidad Internacional de La Rioja (UNIR)

También podría gustarte