Lab3常见问题¶
本节总结了一些目前遇到的问题供大家参考:
1. 问题:panic init exiting¶
内存分配出问题,导致第一个用户进程崩溃
(1)可能是kinit修改错误,导致同一个空闲物理页重复出现在freelist;
(2)也可能是没能理解kalloc的含义,返回值错误或者链表操作错误。
2. 问题:panic freeing free block"¶
很可能是bget函数锁的使用不正确,一定需要保证bget函数的原子性(指导书有提及),否则同一磁盘块可能在缓存重复出现,造成二次释放。