Program alokasi memori yang disimulasikan ditulis dalam C ++ (menggunakan algoritma BF), NUAA 2018 OS mini-job
Program harus berjalan di UNIX, kompatibilitas Windows tidak pasti
Kompilasi menggunakan cmake di direktori root proyek:
cmake .
Buat target:
make
./malloc_simulator
Jika tidak, coba dulu:
chmod 777 ./malloc_simulator
Berdasarkan gagasan CLI, itu setara dengan terminal kecil khusus, Anda dapat mengoperasikannya langsung di dalamnya:
welcome to malloc-simulator(best-fit), enter 'help' to get some help!
malloc-simulator$
Misalnya, ini adalah antarmuka pengguna Anda, berikut adalah daftar semua instruksi:
// 设置总内存大小 [内存大小]
setMemSize [memSize]
// 显示当前内存使用情况
showMemInfo
// 显示当前进程信息
showProcess
// 新建进程 [进程名] [分配内存大小]
newProcess [processName] [processMemSize]
// 删除进程 [进程编号pid]
deleteProcess [pid]
// 寻求帮助
help
// 关于
about
// 重置当前内存
reset
Secara lebih cocok cocok dengan blok memori yang paling cocok untuk utas saat ini dan menggunakannya untuk menghindari limbah, tetapi algoritma BF bukanlah algoritma yang optimal
Gunakan tiga daftar yang ditautkan, satu adalah daftar tertaut memori yang dialokasikan, satu adalah daftar tertaut memori gratis, dan yang lainnya adalah tabel prosesnya