Opératingsystemalgorithms
Table des matières
- Introduction
- Démonstration
- Algorithmes
- Configuration locale
- Auteur
- Licence
Introduction
- Simulateur d'allocation de mémoire construit avec Java, pour mieux comprendre le fonctionnement de l'allocation de mémoire dans un système d'exploitation . Il simule les stratégies d'allocation de mémoire communes:
- Premier-ajustement
- Le mieux adapté
- Le plus ajusté
Ce référentiel contient également le code pour
- Planification des algorithmes
- Algorithmes de remplacement de la page
- Simulateur de pagination
- Politiques de planification du disque
Démonstration
- Bienvenue dans le simulateur d'allocation de mémoire.
- Tout d'abord, nous demandons si l'utilisateur souhaite saisir une valeur ou non, sinon, alors quelques valeurs sont déjà codées en dur.
- Les valeurs codées en dur sont importantes pour comprendre, déboguer et gagner du temps.

- Après avoir pris la valeur d'entrée des divisions de mémoire, leur statut actuel (gratuit / non gratuit) et les numéros de processus, nous imprimons le tableau actuel de l'allocation de mémoire.

- Alors maintenant, nous prenons la taille du processus d'entrée et un menu apparaît.

- Sortie pour le premier ajustement

- Sortie pour le meilleur ajustement

- Sortie pour le pire ajustement

Algorithmes
Un simulatoire simple d'allocation de mémoire construit avec Java, pour mieux comprendre le fonctionnement de l'allocation de mémoire dans un système d'exploitation . Il simule les stratégies d'allocation de mémoire communes:
- Premier-ajustement
- Dans la première approche d'ajustement, consiste à allouer la première partition libre ou un trou suffisamment grand, ce qui peut accueillir le processus.
- Avantage : il se termine après avoir trouvé la première partition gratuite appropriée. Algorithme le plus rapide car il recherche le moins possible.
- Inconvénient : fragmentation interne - Les zones de mémoire inutilisées restantes laissées après l'allocation deviennent des déchets si elles sont trop plus petites. Ainsi, la demande de plus grande exigence de mémoire ne peut pas être accomplie.
- Le mieux adapté
- Le meilleur ajustement traite de l'allocation de la plus petite partition gratuite qui répond à l'exigence du processus de demande. Cet algorithme recherche d'abord toute la liste des partitions gratuites et considère le plus petit trou adéquat.
- Avantage : il essaie ensuite de trouver un trou qui est proche de la taille réelle du processus nécessaire. L'utilisation de la mémoire est bien meilleure que la première ajustement car elle recherche la plus petite partition gratuite d'abord disponible.
- Inconvénient : il est plus lent et peut même avoir tendance à remplir la mémoire avec de minuscules trous inutiles.
- Le plus ajusté
- Dans le pire ajustement, l'approche consiste à localiser la plus grande partie libre disponible afin que la partie gauche soit suffisamment grande pour être utile. C'est l'inverse du meilleur ajustement.
- Avantage : réduit le taux de production de petites lacunes.
- Inconvénient : si un processus nécessitant une mémoire plus grande arrive à un stade ultérieur, il ne peut pas être logé car le plus grand trou est déjà divisé et occupé.
Avant de traiter chaque simulation, l'utilisateur doit saisir la division / allocation de mémoire actuelle , IE Division de la mémoire, statut, nom de processus.
Actuellement, l'allocation de mémoire est codée en dur pour gagner du temps et un débogage facile de cet exemple.
Attribution de la mémoire actuelle

Si le processus d'entrée est de taille 200 Ko, alors:
Attribution de la mémoire - premier ajustement

Attribution de la mémoire - Meilleur ajustement

Attribution de la mémoire - pire ajustement

Configuration locale
- Télécharger la dernière version de Java - Java SE - Téléchargements | Oracle.
- Clone The Repository:
git clone https://github.com/tusharnankani/MemoryAllocationSimulator.git - Ouvrez ce répertoire dans la promotion de commande ou shell.
- Compilez le fichier à l'aide de la commande:
javac MemoryAllocation.java - Exécutez le fichier à l'aide de la commande:
java MemoryAllocation
Auteur
Tushar Nankani
LinkedIn | Gazouillement
Licence
Licence GPU