In FreeRTOS preemptive scheduling, the system runs the highest priority task that is ready. When a higher priority task becomes ready while a lower priority task is running, the scheduler immediately stops the lower priority task and switches to the higher priority one. This is called preemption. The higher priority task runs until it blocks or finishes, then the scheduler resumes the lower priority task. This behavior ensures that important tasks get CPU time as soon as they need it. The execution table shows this step-by-step: Task A starts running, then Task B becomes ready and preempts Task A, runs, then Task A resumes after Task B blocks. Variables track which task is running and when Task B is ready. Common confusions include why Task A stops immediately and what happens when Task B finishes. The quiz questions help check understanding of these steps.