摘要: bootloader 1. bootasm.S : start32 2. bootmain.c : bootmain kernel 3. main.c : main 4. proc.c : userinit 创建第一个用户进程 initcode 5. main.c : mpmain 调用schedu 阅读全文
posted @ 2018-07-26 16:33 方田 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 在xv6 中锁对象是 spinlock,spinlock中的locked为1的时候表示被占用,为0的时候锁空闲。 使用 acquire获取锁 该函数中通过xchg原子性交换locked和1,并返回locked的原来的值。当返回值为1时,说明其他线程占用了该锁,继续循环等待;当返回值为0时,说明其他地 阅读全文
posted @ 2018-07-26 14:48 方田 阅读(1128) 评论(0) 推荐(0) 编辑