Must use INTR_ON() and INTR_OFF() in each task to control interrupts. The interrupts can be turned off for critical sections inside of functions, if necessary. Must use semlib.h functions to use hardware resources. The kernel cannot keep a function from using the resources, but using the semlib.h functions keeps things organized and coordinated, and prevents resource contention and unexpected side effects. See semlib.h for a list of hardware semaphores.