How Windows Uses The Task Scheduler for System Tasks

image

While you can use the Windows Task Scheduler to schedule your own automatic tasks, Windows also uses it behind the scenes to perform many system tasks – defragmenting your hard disks when you’re not using your computer, for example.

You can even modify these system tasks to tweak Windows to your liking – for example, you can change how often Windows creates system restore points. Third-party programs also often use the Task Scheduler for their own tasks.

What’s the Task Scheduler?

The Task Scheduler is a Windows component that can automatically run tasks at a specific time or in response to a specific event. For example, tasks can be run when the computer starts or when a user logs in.

Many Windows system tasks need to run regularly – for example, Windows automatically defragments your hard disks at regular intervals. Instead of writing a defragmentation scheduler program that always runs in the background and waits to defragment your hard disks Windows sets up a scheduled task that automatically runs the defragmenter in the background at a specific time. The Task Scheduler launches many other Windows system tasks in the same way.

image

Instead of implementing this functionality in each program that needs to run automatically, Windows tells the Task Scheduler to run them. Third-party applications can also add their own scheduled tasks here – you can even add your own.

Exploring System Tasks

Windows system tasks aren’t a black box – you can open the Task Scheduler and examine them yourself. To open the task scheduler, type Task Scheduler into the Start menu and press Enter.

image

Browse to the Task Scheduler Library\Microsoft\Windows folder – you’ll see subfolders for a variety of Windows system tasks.

For example, the Defrag folder contains the task that automatically defragments your hard disks on a schedule. When you change the scheduled time in the Disk Defragmenter application, Windows updates this scheduled task with your new settings. If you disable the Run on a Schedule option in the Disk Defragmenter, Windows will disable this system task.

image

Scheduled tasks don’t just run at specific times, though – Windows and the Task Scheduler are smarter than that. For example, the scheduled disk defragmentation task doesn’t start defragmenting your hard disks if you’re using the computer – it waits and runs the defragmentation operation only if your computer is idle (in other words, if no one is using the computer.) If you come back to your computer while it’s being defragmented, the defragmentation will be paused until you leave the computer again.

You can view details like this by double-clicking a scheduled task. You’ll find the idle-related restrictions on the Conditions tab.

image

Tasks can also run in response to events. For example, the SystemSoundsService task in the Multimedia folder runs when any user logs on – it provides the login sound and other Windows system sounds.

Other scheduled tasks run in response to other events, such as specific event IDs in the Windows event log. Windows watches for the event ID generated by another program and runs the task when the specific event ID appears.

image

Tasks for Third-Party Applications

Third-party programs often use the Task Scheduler for their own tasks, too. For example, Google Update (used to update Google Chrome, Google Drive, and other Google applications) installs a service that automatically runs Google Update. Adobe Flash uses a similar service to automatically check for updates in the background.

image

Some programs don’t use scheduled tasks, although they should. For example, Java uses a program named jusched.exe that always runs in the background instead of a scheduled task. This is one of the many problems with Java.

Chris Hoffman is a technology writer and all-around computer geek. He's as at home using the Linux terminal as he is digging into the Windows registry. Connect with him on Google+.