OS Algorithm Simulator APP
Comme vous le savez peut-être, l'objectif principal d'un OS est de gérer 4 ressources:
- Le CPU.
- La mémoire.
- Le système d'entrée / sortie (E / S).
- Le système de fichiers.
Chaque OS contient plusieurs algorithmes qui fournissent les fonctionnalités ci-dessus. Par exemple:
- Un algorithme de planification du processeur choisit le processus qui doit prendre le processeur à chaque instant.
- Un autre algorithme est chargé de ne pas laisser un blocage se produire lorsque les processus allouent des ressources.
- Un algorithme de gestion de la mémoire divise la mémoire en portions pour chaque processus, et un autre décide quelles portions doivent être permutées et lesquelles doivent rester dans la RAM. L'allocation peut être contiguë ou non. Dans ce dernier cas, nous aurons des mécanismes plus modernes tels que la pagination ou la segmentation. Ensuite, un algorithme de remplacement de page décidera quelles pages peuvent rester en mémoire et quelles pages ne le sont pas.
- Un autre algorithme est chargé de prêter attention à toutes les interruptions que le matériel peut produire sur le système d'E / S.
- Etc.
Afin de comprendre en profondeur un système d'exploitation, il faut savoir comment ces algorithmes fonctionnent et pourquoi certaines approches qui semblent raisonnables ont été rejetées par des systèmes d'exploitation bien connus tels que Windows ou Linux. Le but de cette application est de fournir des explications sur les différentes approches de chaque problème et d'illustrer le fonctionnement de chaque algorithme au moyen de simulations. À cette fin, cette application contient quelques exemples, mais elle vous permet également de fournir vos propres ensembles de données et de vérifier comment chaque algorithme fonctionnerait sur eux. Il est également important de dire que dans la plupart des cas, cette application ne contient pas les algorithmes de pointe, mais des simplifications que nous considérons comme meilleures pour le processus d'apprentissage.
Fonctionnalités:
- Plusieurs algorithmes d'ordonnancement de processus préemptifs et non préemptifs:
* Premier arrivé premier servi
* Le travail le plus court d'abord
* Temps restant le plus court en premier
* Basé sur la priorité (non préemptif)
* Basé sur la priorité (préemptif)
* Tournoi à la ronde
- Algorithmes de blocage:
* Évitement de blocage (algorithme du banquier).
- Allocation de mémoire contiguë * Premier ajustement
* Meilleur ajustement
* Le pire ajustement
- Algorithmes de remplacement de page:
* Remplacement de page optimal
* Premier entré, premier sorti
* Le moins utilisé récemment
* Premier entré, premier sorti avec une deuxième chance
* Pas fréquemment utilisé
* Vieillissement
- Pour chaque algorithme:
* Il permet la création d'ensembles de données personnalisés pour la simulation.
* Il comprend un mode test afin de tester votre compréhension.