Fifo
-
Upload
enrimontoya -
Category
Engineering
-
view
14 -
download
4
Transcript of Fifo
Republica Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación Superior Universitaria
Instituto Universitario Politécnico “Santiago Mariño”
Ampliación Maracaibo
Realizado por:
Enrique Montoya
20.149.528 “47”
Maracaibo, Agosto 2015
Colas
Debemos de tener en cuenta que las colas solo se utilizan en sistemas informáticos,
transportes y operaciones de investigación (entre otros), dónde los objetos, personas o
eventos son tomados como datos que se almacenan y se guardan mediante colas
para su posterior procesamiento, este tipo de estructura de datos abstracta se
implementa en lenguajes orientados a objetos mediante clases, en forma de listas
enlazadas, una cola es una estructura de datos, caracterizada por ser una secuencia
de elementos en la que la operación de inserción push se realiza por un extremo y la
operación de extracción pop por el otro, se le llama estructura FIFO (del inglés First
In First Out), debido a que el primer elemento en entrar será también el primero en
salir.
Múltiples Colas
Para las diferentes colas tenemos que tener en cuenta que, cada cola puede tener
diferentes algoritmos interactivos, en otra los procesos por lotes, debemos repartir el
tiempo en nuestra CPU entre las diferentes colas según la carga que tenga cada una,
otra idea útil es migrar los procesos de una cola a otra cuando la situación lo requiera.
Cuando halamos de planificación dos niveles, podemos resaltar que hasta ahora
hemos supuesto que todos los procesos están en memoria, pero que pasa cuando hay
muchos procesos, o poca memoria, y no podemos almacenarlos allí todos, en este
caso una de las mejores soluciones más elegantes consiste en una planificación en 2
niveles, en primer lugar disponemos de una planificación a largo plazo donde situamos
los procesos que no están en memoria, y después hay otra planificación a corto plazo
donde ponemos los procesos que están en memoria y después hay otra planificación a
corto plazo donde ponemos los procesos que están en memoria.
Este tema desengloba muchos recursos, cuando hablamos de planificación por
reparto equitativo, podemos decir que se usa en sistemas multiusuario, esto quiere
decir que tenemos muchas personas accediendo a un mismo ordenador, el sistema
operativo se encarga de ir repartiendo sus recursos entre los distintos usuarios, y que
su reparto sea lo más equitativo posible, de forma que se le asigne menos recursos al
usuario, que ha consumido más de lo que correspondía, y más recursos al que ha
consumido menos de lo que le correspondía.
Aquí el ejemplo:
Cierto sistema operativo posee un algoritmo de planificación de CPU basado en colas
multinivel realimentadas (3 colas), la forma en la que los trabajos son alojados en cada
una de las colas es la siguiente:
1) Todos los trabajos, cuando llegan al sistema son colocados en cola 1m la cual se
planifica de acuerdo a un algoritmo Round Robin, con cuanto tiempo igual 2ms, en
esta cola un trabajo permanecerá si después de ejecutar su primera ráfaga de
CPU, le queda por ejecutar ráfagas inferiores a 5ms, en caso contrario pasaría a la
cola 2 o la cola 3.
2) Un trabajo pasara a la cola 2, en caso de que le quede por ejecutar una ráfaga de
CPU superior o igual a 5ms, este trabajo permanecerá en esta cola hasta que
termine su ejecución y se planifica según Round Robin con cuanto igual 3ms.
3) Un trabajo pasara a la cola 3, en caso de que le quede por ejecutar una ráfaga de
CPU superior o igual a 8ms, este trabajo permanecerá en esta cola hasta que
termine su ejecución y se planifica según un SJF con requisa.