Simulador de Algoritmos del SO APP
Como quizá sepa, el objetivo principal de un SO es administrar 4 recursos:
- La CPU.
- La memoria.
- El Sistema de Entrada/Salida (E/S).
- El sistema de ficheros.
Cada SO contiene varios algoritmos que proveen dichas funcionalidades. Por ejemplo, un algoritmo de planificación de la CPU elige qué proceso debería tomar la CPU en cada instante. Un segundo algoritmo divide la memoria en porciones para cada proceso y decide qué porciones deberían ser enviadas a disco y cuáles deberían quedarse en la RAM. Otro algoritmo se encarga de gestionar todas las interrupciones que el hardware puede producir al sistema de entrada/salida, etcétera.
Para entender un SO profundamente, uno debe conocer cómo funcionan estos algoritmos y por qué algunas aproximaciones que parecen razonables han sido descartadas en Sistemas Operativos como Windows y Linux. El objetivo de esta aplicación es proveer explicaciones sobre diferentes aproximaciones a cada problema e ilustrar cómo funciona cada algoritmo a través de simulaciones. A tal fin, esta app contiene algunos ejemplos, pero también le permite utilizar sus propios conjuntos de datos y verificar cómo funcionaría cada algoritmo con ellos. También es importante destacar que en la mayoría de los casos, esta aplicación no contiene los algoritmos más actuales, sino simplificaciones que consideramos que son mejores para el proceso de aprendizaje.
Características:
- Varios algoritmos de planificación de procesos apropiativos y no apropiativos:
* First Come First Served
* Shortest Job First
* Shortest Remaining Time First
* Basado en prioridad (no apropiativo)
* Basado en prioridad (apropiativo)
* Round Robin
- Algoritmos de interbloqueo:
* Evitación del interbloqueo (algoritmo del banquero).
- Algoritmos de asignación de memoria contigua:
* First fit
* Best fit
* Worst fit
- Algoritmos de reemplazo de páginas:
* Reemplazo de páginas óptimo
* First-In-First-Out
* Least Recently Used
* First-In-First-Out con segunda oportunidad
* Not Frequently Used
* Envejecimiento (Aging)
- Para cada algoritmo:
* Permite la creación de conjuntos de datos a medida para simulación.
* Incluye un modo examen para verificar su comprensión.