método de búsqueda secuencial

Método de búsqueda secuencial:

Suplemento: Introducción del primer algoritmo de adaptación de bucle

Cada vez que se asigna espacio a un proceso, comienza a buscar desde el siguiente bloque del área libre que se asignó la última vez. Por ejemplo, el área libre de memoria inicializada es el tamaño máximo ingresado por el usuario. Antes de reciclar, solo se debe recuperar el último bloque. gratis Sí, pero después de reciclar, la mesa que configuraste (aquí hay una mesa configurada, también puedes usar dos mesas, pero una puede resolver el problema, no hay necesidad de usar dos mesas), después de asignar desde el código de área de el área libre, marque este bloque, la próxima asignación comenzará desde el bloque marcado y mirará hacia abajo, asigne si coincide y luego marque el número de área libre asignado, la diferencia con el primer algoritmo de adaptación está aquí

1. El primer (primer) algoritmo de adaptación ( first fit, FF )

En términos simples, es: coloque el proceso en el área libre de direcciones bajas tanto como sea posible, y si no se puede dejar, la dirección aumentará gradualmente.
Para cada depósito, busque un área libre satisfactoria desde la dirección más baja hasta la dirección más alta. Es decir, cada almacenamiento comienza desde 0.

características

  • El algoritmo utiliza preferentemente la parte de dirección baja del área libre, crea muchas áreas libres pequeñas en el espacio de dirección baja y reserva un área libre grande en el espacio de dirección alta.
  • Seleccione el área libre que cumpla con los requisitos de longitud de la solicitud y tenga la dirección inicial más pequeña.
  • Las áreas libres se registran en la tabla de áreas libres en orden ascendente de la dirección de inicio.

ventaja

  • Trate de usar el espacio de direcciones bajo, de modo que se pueda formar un área libre grande en la dirección alta. Crea condiciones para asignar grandes espacios de memoria para trabajos grandes que llegan más tarde.

defecto

  • Se pueden delimitar regiones libres más grandes en direcciones más bajas.
  • La parte de dirección baja se divide continuamente, dejando muchas particiones libres pequeñas y difíciles de usar, llamadas fragmentos.

En segundo lugar, el siguiente algoritmo de adaptación ( siguiente ajuste, NF )

Este algoritmo se mejora sobre la base del algoritmo FF, que generalmente es similar al algoritmo FF, pero la diferencia es que: el algoritmo FF comienza
desde 0 para encontrar un área libre que cumpla con los requisitos para cada almacenamiento;
el algoritmo NF continúa cada almacenamiento La siguiente dirección de la última área asignada;

características

  • Este algoritmo es una mejora del algoritmo FF.
  • Selecciona la primera región libre satisfactoria a partir de la siguiente posición en la región desde la última asignación de espacio libre.

ventaja

  • La distribución del área libre y la distribución es más uniforme.

defecto

  • Es posible que se separen grandes regiones libres, lo que da como resultado que los trabajos grandes lleguen más tarde sin grandes regiones libres.

3. Algoritmo de mejor ajuste ( mejor ajuste, BF )

Este algoritmo es similar al algoritmo FF, siempre que un proceso solicita espacio, el sistema busca desde la cabeza.
El área libre se registra de menor a mayor, y cada búsqueda comienza desde la más pequeña hasta que se encuentra el área libre más pequeña que cumple con los requisitos.

características

  • Al asignar espacio de memoria, tome el área libre que cumpla con los requisitos de la aplicación y tenga la menor longitud.
  • Las áreas libres se registran en la tabla de áreas libres en orden de longitud "de menor a mayor".

ventaja

  • Trate de no dividir grandes regiones libres.

defecto

  • Se puede formar una gran cantidad de espacio libre que es demasiado pequeño para ser utilizado más tarde, conocido como fragmentos externos.

4. Algoritmo de peor ajuste ( peor ajuste, WF )

Este algoritmo es opuesto al algoritmo BF, BF usa el área libre más pequeña para almacenar cosas, mientras que WF usa el área libre más grande para almacenar.

características

  • Al asignar el espacio, seleccione el área libre que cumpla con los requisitos de la aplicación y tenga la longitud "máxima".
  • Las áreas libres se registran en la tabla de áreas libres en orden de longitud "de mayor a menor".

ventaja

  • Evitar la formación de desechos externos.

defecto

  • Separará grandes áreas libres, que pueden no ser capaces de cumplir con los requisitos de los procesos con mucho espacio de almacenamiento.

ejemplo

En la siguiente figura, el más a la izquierda es el estado inicial de la memoria.Ahora es necesario poner 4 procesos en el pozo de entrada uno por uno, y esperar a que el sistema los ponga en la memoria.
JOB1 30K
JOB2 50K
JOB3 20K
JOB4 60K
Rojo: espacio ya ocupado.
Verde: espacio libre.
Amarillo: el espacio ocupado por los 4 procesos anteriores.

02

Supongo que te gusta

Origin blog.csdn.net/weixin_54882070/article/details/129217403
Recomendado
Clasificación