Un programme d'allocation de mémoire simulé écrit en C ++ (en utilisant l'algorithme BF), Nuaa 2018 OS Mini-Job
Le programme doit fonctionner sur UNIX, la compatibilité Windows est incertaine
Compiler à l'aide de CMake dans le répertoire racine du projet:
cmake .
Faire une cible:
make
./malloc_simulator
Sinon, essayez d'abord:
chmod 777 ./malloc_simulator
Sur la base de l'idée de CLI, elle équivaut à un petit terminal dédié, vous pouvez y faire fonctionner directement:
welcome to malloc-simulator(best-fit), enter 'help' to get some help!
malloc-simulator$
Par exemple, il s'agit de votre interface utilisateur, voici une liste de toutes les instructions:
// 设置总内存大小 [内存大小]
setMemSize [memSize]
// 显示当前内存使用情况
showMemInfo
// 显示当前进程信息
showProcess
// 新建进程 [进程名] [分配内存大小]
newProcess [processName] [processMemSize]
// 删除进程 [进程编号pid]
deleteProcess [pid]
// 寻求帮助
help
// 关于
about
// 重置当前内存
reset
Faire correspondre préférentiellement les blocs de mémoire qui conviennent le plus au thread actuel et les utiliser pour éviter les déchets, mais l'algorithme BF n'est pas l'algorithme optimal
Utilisez trois listes liées, l'une est la liste liée à la mémoire allouée, l'une est la liste liée à la mémoire gratuite, et l'autre est le tableau de processus