ALGORITMO

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

PEDRO EMMANUEL ALVAREZ MATOS

SISTEMAS OPERATIVOS

INVESTIGACION DEL CAPITULO #3

20221287

GERALD WILLIAMS

16-6-2022 23:59 PM

INDICE
1) - Investigar cuantos y cuáles son los algoritmos de planificación de
procesos del sistema operativo.

2) - Investigar cuantos y cuáles son los algoritmos de remplazo de página


sistema operativo.

3) - Y colocar un ejemplo de que sistema operativo utiliza esos algoritmos.


Algoritmos de Planificación

• Primero en llegar primero en ser servido


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

• Prioridad al más corto


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

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

• Planificación por prioridad


En este tipo de planificación a cada proceso se le asigna una prioridad siguiendo un criterio
determinado, y de acuerdo con esa prioridad será el orden en que se atienda cada proceso.

• Planificación garantizada
Para realizar esta planificación el sistema tiene en cuenta el número de usuarios que deben ser
atendidos. Para un número "n" de usuarios se asignará a cada uno un tiempo de ejecución igual a 1/n.

• Planificación de Colas Múltiples


El nombre se deriva de MQS (Multilevel Queue Schedulling). En este algoritmo la cola de procesos que
se encuentran en estado de listos es dividida en un número determinado de colas más pequeñas. Los
procesos son clasificados mediante un criterio para determinar en qué cola será colocado cada uno
cuando quede en estado de listo. Cada cola puede manejar un algoritmo de planificación diferente a
las demás.

Algoritmos para reemplazo de páginas


Con el uso del método de paginación se puede llegar a saturar la memoria si se incrementa
demasiado el nivel de multiprogramación. Por ejemplo, si se corren seis procesos, cada uno con
un tamaño de diez páginas de las cuales en realidad solo utiliza cinco, se tiene un mayor uso del
CPU y con marcos de sobra. Pero pudiera suceder que cada uno de esos procesos quiera usar las

diez páginas, lo que da como resultado una necesidad de 60 marcos, cuando solo hay 40
disponibles.
Esto provoca sobre-asignación. Y, mientras un proceso de usuario se está ejecutando, ocurre un
fallo de página. El hardware se bloquea con el sistema operativo, el cual checa en sus tablas
internas y se da cuenta de que es un fallo de página y no un acceso ilegal de memoria. El sistema
operativo determina si la página está residiendo en disco, pero también determina que no hay
marcos de memoria disponibles en la lista de marcos libres.

Al ocurrir el fallo de página, el sistema operativo debe elegir una página para retirarla de la
memoria y usar el espacio para la página que se necesita para desbloquear el sistema y que el
hardware pueda seguir trabajando. Si la página por eliminar de la memoria fue modificada, se
debe volver a escribir al disco para mantener la información actualizada; de lo contrario, si la
página no fue modificada no es necesario rescribir la información a disco y la página que se carga
simplemente se escribe sobre la página por borrar en memoria. La siguiente figura muestra
gráficamente un intercambio de páginas entre la memoria principal y el disco (memoria
secundaria).

• Algoritmo de reemplazo de páginas óptimo

Este algoritmo debe tener el menor índice de fallos de página de todos los algoritmos. En teoría,
este algoritmo debe reemplazar la página que no va a ser usada por el periodo más largo de
tiempo.
Desafortunadamente, el algoritmo de reemplazo óptimo es fácil en teoría, pero prácticamente
imposible de implementar, dado que requiere conocer a

Tal algoritmo existe y ha sido llamado OPT o MIN. Pero se usa únicamente para estudios de
comparaciones. Por ejemplo, puede resultar muy útil saber que aunque algún nuevo algoritmo no
sea óptimo, está entre el 12,3% del óptimo y entre el 4,7% en promedio.

• Algoritmo de reemplazo de páginas según el uso no tan reciente

Este algoritmo hace uso de los dos bits de estado que están asociados a cada página. Estos bits
son: R, el cual se activa cuando se hace referencia (lectura / escritura) a la página asociada; y M,
que se activa cuando la página asociada es modificada (escritura). Estos bits deben ser
actualizados cada vez que se haga referencia a la memoria. Por esto es de suma importancia que
sean activados por el hardware. Una vez activado el bit, permanece en ese estado hasta que el
sistema operativo, mediante software, modifica su estado.

• Algoritmo de reemplazo Primero en entrar, primero en salir (FIFO)

El algoritmo más sencillo para reemplazo de páginas es el FIFO (First In –First Out). Este
algoritmo asocia a cada página el momento en que esta fuetraída a memoria. Cuando una página
debe ser reemplazada, se selecciona la más antigua.
No es estrictamente necesario registrar el momento de entrada de la página a memoria, sino que
se puede crear una cola en la que se van agregando las páginas conforme van llegando a la
memoria. Cuando se debe eliminar una página, se selecciona la que está al frente de la lista (o sea,
la más antigua de la lista). Cuando llega una página nueva, se inserta en la parte trasera de la cola.

Al igual que el algoritmo aleatorio, este algoritmo es fácil de comprender y de programar. Sin
embargo, su desempeño no siempre es del todo bueno. La página reemplazada puede ser un
módulo de inicialización que fue usado hace mucho tiempo, y ya no se tiene necesidad de él. Por
otro lado, puede contener una variable de uso muy frecuente que fue inicializada de manera
temprana y está en uso constante. La imagen siguiente muestra este algoritmo.
• Algoritmo de reemplazo de páginas de la segunda oportunidad

Este algoritmo es una modificación del FIFO. El algoritmo hace uso del bit de referencia de la
página. Cuando una página ha sido seleccionada para reemplazo, se revisa el bit de referencia. Si
tiene valor de 0, se procede a reemplazar la página. Si, por el contrario, el bit de referencia es 1,
se le da a la página una segunda oportunidad. La siguiente figura muestra la funcionalidad de este
algoritmo.

• Algoritmo de reemplazo de páginas del reloj

Modificando el algoritmo de la segunda oportunidad (que a su vez es una modificación de FIFO),


obtenemos el algoritmo aumentado de la segunda oportunidad o algoritmo del reloj. Se utiliza la
misma clasificación del algoritmo de uso no tan reciente.
Este algoritmo organiza las páginas en una lista circular, como se muestra en la figura siguiente.
Se usa un apuntador (o manecilla) que señala la página más antigua.

• Algoritmo de reemplazo de páginas “la de menor uso reciente” (LRU)


El algoritmo LRU es una buena aproximación al óptimo. Se basa en la observación de que las
páginas de uso frecuente en las últimas instrucciones, se utilizan con cierta probabilidad en las
siguientes. De la misma manera, es probable que las páginas que no hayan sido utilizadas durante
mucho tiempo permanezcan sin uso por bastante tiempo. Implementando el algoritmo con esta
base, al ocurrir un fallo de página, se elimina la página que no haya sido utilizada durante el
tiempo más grande. De ahí su denominación: menor.

uso reciente (LRU - Least Recent Use).


A diferencia de los algoritmos anteriores, el LRU tiene un mejor rendimiento en cuanto al tiempo
de aprovechamiento del CPU y del uso de la memoria. Sin embargo, el problema con este
algoritmo es que su implementación es muy cara, ya que requiere de una asistencia considerable
de hardware. Otro problema es el de determinar un orden para los marcos definido por el tiempo
de menor uso.

• o Contadores: En el caso más sencillo, se asocia en cada entrada tabla-página un


campo de tiempo-de-uso, y se le agrega al CPU un reloj lógico o contador. Este reloj es
incrementado en cada referencia de memoria. Siempre que se hace referencia a una
página, el contenido del registro del reloj es copiado al campo de tiempo-de-uso en la tabla
de páginas para esa página. De esta forma, siempre se dispone del “tiempo” de la última
referencia a cada página. La página que se reemplaza es la del menor valor de tiempo. Este
esquema requiere de una búsqueda en toda la tabla de páginas para encontrar la página
LRU, y una escritura en memoria al campo de tiempo-de-uso en la tabla de páginas por
cada acceso a memoria. Los tiempos también se deben mantener cuando las tablas de
páginas son alteradas (debido a organización del CPU). Debe considerarse la posibilidad
de sobrecarga en el reloj.
• o Pilas: Otra aproximación para implementar el reemplazo LRU es la de tener una
pila con los números de páginas. Siempre que se hace referencia a una página, se quita de
la pila y se pone en la parte superior. De esta manera, la parte superior de la pila es la
página de uso más reciente, y la de abajo es la LRU.
Algoritmos de planificación que utilizan los sistemas operativos Linux,
Windows, Solaris, AIX, Mac
Linux :

En Linux se usan dos algoritmos: tiempo compartido y tiempo real

Tiempo compartido

• Prioridad basada en créditos


• el proceso con más créditos es el siguiente en tomar la CPU
• Los créditos se reducen cuando ocurre una interrupción de reloj

Tiempo real

• Tiempo real blando


• Cumple el estándar Posix.1b-dos clases
• FCFS y RR

Windows XP:

Windows XP utiliza el algoritmo de planificación de modo apropiativo basado en


prioridades. El planificador de Windows XP asegura que siempre se ejecute la hebra de
prioridad más alta.

Solaris :

Solaris utiliza una planificación de hebras que está basada en prioridades, definiendo
cuatro tipos para planificación que son por orden de prioridad:

• Tiempo compartido
• Interactiva
• Tiempo real
• Sistema

BIBLIOGRAFIA
https://www.ecured.cu/Planificaci%C3%B3n_de_procesos_en_un_sistema_op
erativo
https://1library.co/article/algoritmos-para-reemplazo-de-p%C3%A1ginas-
sistemas-operativos.ydxrxwez
https://es.scribd.com/doc/163293809/Algoritmos-de-planificacion-que-
utilizan-los-sistemas-operativos-Linux

También podría gustarte