In Operating Systems, What is the difference between Application Programs and System Programs? Also, what are examples of each?


1 Answer 1


There aren't hard and fast definitions for this, but here's the basic idea.

A "system program" is a user program (i.e. it does not have kernel privileges) that manages some aspect of the operating system or operating environment. It typically comes installed with the operating system and cannot be uninstalled. It is typically started by the system, and not as the result of a user interaction. It may or may not have a user interface.

Some examples include:

  • A login program. On a multi-user operating system, there needs to be some way to log in. This could be a command-line program or a GUI program, but it's still a program.
  • A shell. The term "shell" originally referred to the command-line, but can also refer to the part of the graphical user interface that exposes the file system (e.g. Windows Explorer). All of these are programs.
  • A service manager. System services need to be started and stopped, possibly as required, and there is typically a program to perform this housekeeping task. Some examples SvcHost in Windows, launchd in macOS, and systemd in Linux.
  • Parts of the GUI operating environment, such as the window manager, or system widgets such as the display settings or system volume control.

An "application program", on the other hand, is a program that is user-installable and typically corresponds to a task to which the operating system is "applied". An application program is typically explicitly started by the user, and stops when the user exits the program.

Some examples:

  • Game.
  • Word processor, spreadsheet, etc.
  • Compiler/IDE.

There is a fuzzy line between them; some operating environments require a web browser to function, for example.

  • $\begingroup$ Excellent Explanation. So we can consider that system programs provide some of the OS functionalities,. Accordingly, can we consider System Programs to be part of the OS ( not the kernel)? $\endgroup$
    – John adams
    Oct 11, 2023 at 23:37
  • $\begingroup$ Yes, we can. Operating system and standards like UNIX and POSIX do specify things that are not part of the kernel, such as user programs that must be present. $\endgroup$
    – Pseudonym
    Oct 12, 2023 at 3:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.