An apparatus for the scheduling of operations comprising: a bus master (151,152,159); an internal memory; an external non-volatile memory, NVM, having a larger capacity than the internal memory; an interconnect coupled to the bus master (151, 152, 159) and to the internal memory; an observer circuit (161,162,169) coupled to the interconnect and configured to observe transactions of the bus master (151,152,159) at the interconnect and to generate notifications of task state changes; and a controller circuit coupled to the interconnect and the observer circuit (161,162,169) and configured to receive the notifications and to interact via a register interface with an operating system, OS, scheduler controlling execution of application software, the controller circuit comprising: a scheduling structure comprising M register slots implementing a set of N anticipation windows (307,308,309,310) reflecting N top priority tasks (303,304, 305,306), the controller circuit further configured: to update contents of an anticipation window (307,308,309,310) upon an OS scheduler notification about changes in the N top priority tasks (303,304, 305,306), to update the contents of the anticipation window (307,308,309,310) of a highest priority runnable task upon a notification of the notifications by the observer circuit, (161,162,169) to create a plurality of anticipation requests by selecting an entry within the anticipation window, and to select an anticipation request of the plurality of anticipation requests by arbitration, where the anticipation request is configured for scheduling a load transaction for loading information from the external NVM, the information selected from a group consisting of instructions and data corresponding to one or more functions within an OS task, into the internal memory to support the OS scheduler controlling application software execution pertaining to the bus master, where a size of the load transaction is of finer granularity than the OS scheduler is capable of providing as defined by an OS task definition of the OS task. a bus master (151,152,159); an internal memory; an external non-volatile memory, NVM, having a larger capacity than the internal memory; an interconnect coupled to the bus master (151, 152, 159) and to the internal memory; an observer circuit (161,162,169) coupled to the interconnect and configured to observe transactions of the bus master (151,152,159) at the interconnect and to generate notifications of task state changes; and a controller circuit coupled to the interconnect and the observer circuit (161,162,169) and configured to receive the notifications and to interact via a register interface with an operating system, OS, scheduler controlling execution of application software, the controller circuit comprising: a scheduling structure comprising M register slots implementing a set of N anticipation windows (307,308,309,310) reflecting N top priority tasks (303,304, 305,306), the controller circuit further configured: to update contents of an anticipation window (307,308,309,310) upon an OS scheduler notification about changes in the N top priority tasks (303,304, 305,306), to update the contents of the anticipation window (307,308,309,310) of a highest priority runnable task upon a notification of the notifications by the observer circuit, (161,162,169) to create a plurality of anticipation requests by selecting an entry within the anticipation window, and to select an anticipation request of the plurality of anticipation requests by arbitration, where the anticipation request is configured for scheduling a load transaction for loading information from the external NVM, the information selected from a group consisting of instructions and data corresponding to one or more functions within an OS task, into the internal memory to support the OS scheduler controlling application software execution pertaining to the bus master, where a size of the load transaction is of finer granularity than the OS scheduler is capable of providing as defined by an OS task definition of the OS task. to update contents of an anticipation window (307,308,309,310) upon an OS scheduler notification about changes in the N top priority tasks (303,304, 305,306), to update the contents of the anticipation window (307,308,309,310) of a highest priority runnable task upon a notification of the notifications by the observer circuit, (161,162,169) to create a plurality of anticipation requests by selecting an entry within the anticipation window, and to select an anticipation request of the plurality of anticipation requests by arbitration, where the anticipation request is configured for scheduling a load transaction for loading information from the external NVM, the information selected from a group consisting of instructions and data corresponding to one or more functions within an OS task, into the internal memory to support the OS scheduler controlling application software execution pertaining to the bus master, where a size of the load transaction is of finer granularity than the OS scheduler is capable of providing as defined by an OS task definition of the OS task.