1. A method of scheduling tasks for a Real-Time Operating System (RTOS) in a low-power, wireless, mesh network, the method comprising: receiving, at a scheduler for the RTOS, a first plurality of tasks to schedule for execution by one or more processors and a second plurality of tasks for execution by the one or more processors, wherein: each task in the first plurality of tasks is: associated with an expected execution interval that indicates an expected length of time for the one or more processors to execute the task; associated with a list of resource identifiers that identify resources required to execute each of the first plurality of tasks; and associated with an execution time that indicates when the task should begin execution by the one or more processors; and each task in the second plurality of tasks is: associated with an expected execution interval that indicates an expected length of time for the one or more processors to execute the task; associated with a list of resource identifiers that identify resources required to execute each of the second plurality of tasks; and not associated with an execution time that indicates when the task should begin or end execution by the one or more processors, such that the task can be scheduled at any time when the expected execution interval is available at the one or more processors; scheduling the first plurality of tasks for execution by the one or more processors such that each of the first plurality of tasks is scheduled to begin at the task's respective execution time; scheduling the second plurality of tasks for execution by the one or more processors such that each of the second plurality of tasks is scheduled in a time interval left after scheduling the first plurality of tasks that is at least as long the task's associated expected execution interval; receiving a walk-in task that has a list of resource identifiers that identify resources required for execution of the walk-in task, wherein the list of resources comprises a reference to at least one mutually exclusive section of code; searching the list of resource identifiers for each task in the first plurality of tasks for references to the at least one mutually exclusive section of code; searching the list of resource identifiers for each task in the second plurality of tasks for references to the at least one mutually exclusive section of code; and scheduling the walk-in task for execution by the one or more processors such that: the walk-in task can be preempted by ones of the first plurality of tasks and ones of the second plurality of tasks that do not include a reference to the at least one mutually exclusive section code in their respective lists of resource identifiers; and the walk-in task is not preempted by ones of the first plurality of tasks and ones of the second plurality of tasks that do include a reference to the at least one mutually exclusive section code in their respective lists of resource identifiers.