Operatoringsystemalgoritmos
Tabla de contenido
- Introducción
- Demostración
- Algoritmos
- Configuración local
- Autor
- Licencia
Introducción
- Simulador de asignación de memoria construido con Java, para una mejor comprensión de cómo funciona la asignación de memoria en un sistema operativo . Simula estrategias de asignación de memoria comunes:
- De primer nivel
- Mejor
- Peor
Este repositorio también contiene el código para
- Algoritmos de programación
- Algoritmos de reemplazo de la página
- Simulador de paginación
- Políticas de programación de disco
Demostración
- Bienvenido al simulador de asignación de memoria.
- Primero, preguntamos si el usuario desea ingresar un valores o no, si no, entonces algunos valores ya están codificados.
- Los valores codificados son importantes para comprender, depurar y ahorrar tiempo.

- Después de tomar el valor de entrada de las divisiones de memoria, su estado actual (gratuito/no gratuito) y los números de proceso, imprimimos la tabla actual de la asignación de memoria.

- Entonces, ahora tomamos el tamaño del proceso de entrada y surge un menú.

- Salida para el primer ajuste

- Salida para el mejor ajuste

- Salida para el peor ajuste

Algoritmos
Un simple simulador de asignación de memoria construido con Java, para una mejor comprensión de cómo funciona la asignación de memoria en un sistema operativo . Simula estrategias de asignación de memoria comunes:
- De primer nivel
- En el primer enfoque de ajuste, es asignar la primera partición o hoyo gratuito lo suficientemente grande que pueda acomodar el proceso.
- Ventaja : termina después de encontrar la primera partición gratuita adecuada. Algoritmo más rápido porque busca lo menos posible.
- Desventaja : fragmentación interna : las áreas de memoria no utilizadas restantes que quedan después de la asignación se vuelven desechos si es demasiado menor. Por lo tanto, no se puede lograr la solicitud de un requisito de memoria más grande.
- Mejor
- El mejor ajuste se ocupa de la asignación de la partición gratuita más pequeña que cumple con el requisito del proceso solicitante. Este algoritmo primero busca la lista completa de particiones gratuitas y considera el agujero más pequeño que es adecuado.
- Ventaja : luego intenta encontrar un agujero que esté cerca del tamaño real del proceso necesario. La utilización de la memoria es mucho mejor que el primer ajuste, ya que busca la partición gratuita más pequeña disponible por primera vez.
- Desventaja : es más lento e incluso puede tender a llenar la memoria con pequeños agujeros inútiles.
- Peor
- En el peor enfoque de ajuste, es ubicar la mayor parte disponible disponible para que la porción izquierda sea lo suficientemente grande como para ser útil. Es el reverso del mejor ajuste.
- Ventaja : reduce la tasa de producción de pequeños huecos.
- Desventaja : si un proceso que requiere memoria más grande llega a una etapa posterior, entonces no se puede acomodar ya que el agujero más grande ya está dividido y ocupado.
Antes de procesar cada simulación, el usuario debe ingresar la división/asignación de memoria actual , es decir, la división de memoria, estado, nombre del proceso.
Actualmente, la asignación de memoria está codificada para ahorrar tiempo y una fácil depuración de este ejemplo.
Asignación de memoria actual

Si el proceso de entrada es de tamaño 200 kb, entonces:
Asignación de memoria - Primer ajuste

Asignación de memoria: mejor ajuste

Asignación de memoria - peor ajuste

Configuración local
- Descargue la última versión de Java - Java SE - Descargas | Oráculo.
- Clone El repositorio:
git clone https://github.com/tusharnankani/MemoryAllocationSimulator.git - Abra este directorio en el comando promt o shell.
- Compile el archivo usando el comando:
javac MemoryAllocation.java - Ejecute el archivo usando el comando:
java MemoryAllocation
Autor
Tushar Nankani
LinkedIn | Gorjeo
Licencia
Licencia de GPU