This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: z Interrupts are disabled in kernel mode. z All registers are saved and restored on a context switch. z Application code is never executed with priority level (CPL) 0. z Never write to a page on the free page list. z If a page is on the free list, it is not mapped in any environment's address space below KERNBASE . z The addresses for UENVS , UPAGES and UVPT are never mapped writable in any address space. z There is only one GDT and only one TSS . There are a large number of other invariants and rules that you could probably state about your specific JOS implementation. Question Have you encountered any nasty bugs that would have been avoided if a metacompiler had alerted you that you were violating some rule or invariant you assumed your code was obeying? [feel free to recount mind-numbing debugging marathons here] This completes the homework. Page 2 of 2 In fact, this completes all homeworks!...
View Full Document
- Fall '08
- Assembly Language, Free software, JOS implementation