I agree -- here at the University of Michigan, we are using a slightly modified version of Nachos. At first glance,it is rather complex and confusing. However, it's **nothing** compared to Linux; my partners and I have peeked at the source code for Linux for reference. Although Nachos has given me countless days/nights of anxiety, I [grudgingly] admit that it provides students a "nice" way to implement fundumental OS concepts such as interrupts, [preemtive] scheduling, synchonization (with both semaphores and monitors), priorities, system calls, exception-handling, file systems, etc.
I agree -- here at the University of Michigan, we are using a slightly modified version of Nachos. At first glance,it is rather complex and confusing. However, it's **nothing** compared to Linux; my partners and I have peeked at the source code for Linux for reference. Although Nachos has given me countless days/nights of anxiety, I [grudgingly] admit that it provides students a "nice" way to implement fundumental OS concepts such as interrupts, [preemtive] scheduling, synchonization (with both semaphores and monitors), priorities, system calls, exception-handling, file systems, etc.