实际上,如果实现锁机制还是条件变量什么的,双向链表的线程切换其实根本就是不用管的,只要我们锁机制实现的好,管它怎么切换呢。
在哪里上锁呢,是在DLListThread,可以把insert和remove看成管程方法,然后在里面实现锁机制就不错。
实现锁之后,就是简单的引用就可以了,需要注意的是,之前造好的makefile需要进行改正,不同的实验需要不同的makefile,因此,需要将系统多次备份。这时候需要实验1的东西。
修 改nachos-3.4/code/Makefile.common 中 的 THREAD_H、 THREAD_C、 THREAD_O,把synch.x换成synch_sleep.x, 在nachos-3.4/code/threads/ 目录中依次执行 make depend 和 make,重新编译 threads 子系统
自此程序算编好了。
nachos操作系统(五)
最新推荐文章于 2023-11-26 15:43:17 发布