¿Cómo la regla del 50 por ciento hace que la tercera parte de la memoria no esté disponible y no el 50% de la memoria no esté disponible?

Esto me confundió al principio también. Aquí hay una manera bastante fácil de imaginar. Supongamos que estos tubos representan memoria (los números son solo una ayuda de conteo para usted)

“[|||||||] |||| [||||||] ||| [||||||||||] ||||| [|||||| ] ||| ”

“[|||| 8 ||||] || 4 || [||| 6 |||] | 3 || [||||| 10 |||||] ||| 5 || [ ||| 6 |||] | 3 || ”

Los fragmentos más pequeños (4, 3, 5, 3) eran demasiado pequeños para acomodar un nuevo proceso (8, 6, 10, 6), por lo que el proceso tenía que encontrar otro lugar al que ir, o los procesos potenciales se eliminaron de entre los otros.

La regla establece que, los bloques N (66%, por ejemplo) de la memoria pueden asignarse a los procesos y 0.5 N (33%) probablemente terminará como espacio de memoria fragmentada.

No termina que el 50% de la memoria esté fragmentada, ya que eso requeriría que se asigne el 100% de la memoria (de acuerdo con la ‘regla’ de 0.5 N). No tenemos 150% para asignar.

La idea es que esta regla ocurrirá a largo plazo. Después de muchos procesos han llegado y se han ido. Si carga un proceso en la memoria y toma toda la memoria disponible para el usuario, no habrá fragmentación, pero esa es una situación poco común en la práctica. A medida que se cargan y eliminan procesos más pequeños de la memoria, los fragmentos pequeños se fragmentan entre procesos que nunca se pueden utilizar porque los procesos entrantes necesitan espacios más grandes que los que brindan los pequeños.

No soy un experto, pero no creo que esta regla sea tan aplicable a la mayoría de los usuarios en el entorno informático actual. La memoria es tan barata que la mayoría de los usuarios tienen extra y no la utilizan de todos modos. Las personas inteligentes han resuelto este problema en sistemas diseñados con suficiente memoria, hasta cierto punto, a través de la reubicación y la compactación.

||]

|

]

El

|]

|| [

]

| 8

|] || 4 || [

6

] | 3 || [

|| 10

||]

5 || [

6

] | 3 || ”

Los fragmentos más pequeños (4, 3, 5, 3) eran demasiado pequeños para acomodar un nuevo proceso (8, 6, 10, 6), por lo que el proceso tenía que encontrar otro lugar al que ir, o los procesos potenciales se eliminaron de entre los otros.

La regla establece que, los bloques N (66%, por ejemplo) de la memoria pueden asignarse a los procesos y 0.5 N (33%) probablemente terminará como espacio de memoria fragmentada.

No termina que el 50% de la memoria esté fragmentada, ya que eso requeriría que se asigne el 100% de la memoria (de acuerdo con la ‘regla’ de 0.5 N). No tenemos 150% para asignar.

La idea es que esta regla ocurrirá a largo plazo. Después de muchos procesos han llegado y se han ido. Si carga un proceso en la memoria y toma toda la memoria disponible para el usuario, no habrá fragmentación, pero esa es una situación poco común en la práctica. A medida que se cargan y eliminan procesos más pequeños de la memoria, los fragmentos pequeños se fragmentan entre procesos que nunca se pueden utilizar porque los procesos entrantes necesitan espacios más grandes que los que brindan los pequeños.

No soy un experto, pero no creo que esta regla sea tan aplicable a la mayoría de los usuarios en el entorno informático actual. La memoria es tan barata que la mayoría de los usuarios tienen extra y no la utilizan de todos modos. Las personas inteligentes han resuelto este problema en sistemas diseñados con suficiente memoria, hasta cierto punto, a través de la reubicación y la compactación.

Estadísticamente, si se asignan N bloques, 0.5 bloques se fragmentan. Por lo tanto, todos los bloques de memoria se pueden agrupar en dos grupos: asignados y no asignados (que está fragmentado). Entonces, la proporción de fragmentado a total es 1: 3.

No soy un experto en hardware, pero diría que la compresión de memoria.

Los sistemas operativos se han vuelto bastante buenos en la gestión de la memoria y en la compresión de datos que se consideran “obsoletos” y acceden a ellos cuando es necesario utilizar algunas de las funciones que se almacenan en los datos comprimidos.

Simplemente usaría esto como una regla de oro, pero no como una regla dura y rápida. No hace daño tener más memoria RAM.

Regla del cincuenta por ciento : Por cada N bloques asignados, los bloques 0.5N se pierden en la fragmentación.

Memoria inutilizable = (0.5N) / (N + 0.5N) = 1/3

¡Espero que esto aclare las cosas!