Смоделированная программа распределения памяти, записанная в C ++ (с использованием алгоритма BF), NUAA 2018 OS Mini-Job
Программа должна работать на UNIX, совместимость Windows неясна
Скомпилируйте с использованием Cmake в каталоге Project Root:
cmake .
Сделайте цель:
make
./malloc_simulator
Если нет, попробуйте сначала:
chmod 777 ./malloc_simulator
Основываясь на идее CLI, он эквивалентен выделенному маленькому терминалу, вы можете управлять им непосредственно в нем:
welcome to malloc-simulator(best-fit), enter 'help' to get some help!
malloc-simulator$
Например, это ваш пользовательский интерфейс, вот список всех инструкций:
// 设置总内存大小 [内存大小]
setMemSize [memSize]
// 显示当前内存使用情况
showMemInfo
// 显示当前进程信息
showProcess
// 新建进程 [进程名] [分配内存大小]
newProcess [processName] [processMemSize]
// 删除进程 [进程编号pid]
deleteProcess [pid]
// 寻求帮助
help
// 关于
about
// 重置当前内存
reset
Преимущественно совпадать с блоками памяти, которые наиболее подходят для текущего потока, и используйте их, чтобы избежать отходов, но алгоритм BF не является оптимальным алгоритмом
Используйте три связанных списка, один из них - список выделенного памяти, один из них - список связанных с памятью, а другой - таблица процессов