Welcome to Bucaro TecHelp!

Bucaro TecHelp
HTTPS Encryption not required because no account numbers or
personal information is ever requested or accepted by this site

About Bucaro TecHelp About BTH User Agreement User Agreement Privacy Policy Privacy Site Map Site Map Contact Bucaro TecHelp Contact RSS News Feeds News Feeds

Application, Program, Process, Service, Thread; What Does it All Mean?

The meaning of these terms is very confusing, especially when they are used interchangeably. And they actually do have overlapping meanings. Lets start out by defining a program as any code that runs on a computer. So all of the above are programs.

A program that displays a windows or an interface to a user, and probably performs a function for the user, is called an application. A process is a unit of code that, when it executes has its own unique ID and its own specific protected area of RAM memory for its actively running code and where it stores its temporary data values.

A running program or application can be considered a process, but generally an application has a user interface, while a process runs in the background without displaying a window or user interface. An application, being a process, when it executes also has its own unique ID and its own specific protected area of RAM memory. An application can also write its data to a shared RAM memory area, or to a more permanent storage area such as a hard disk.

A service (called a daemon in Linux. Daemon is a Greek word for a supernatural being working in the background) is a program that runs in the background and does not display a window or user interface. But a service is technically similar to an application in that they both can run multiple processes to accomplish their tasks. Actually a process can call other processes, and the chain of processes running from the first calling program is called its "process dependencies".

Application or service with its processes and their threads

The term thread stands for "thread of execution" and is simply a program's instructions executing. A program, be an application, service, or process, can have multiple threads executing concurrently. With a single-core processor, there is little or no advantage to having multiple threads executing concurrently, but with a multi-core processor, each thread can run on its own processor, resulting in a gain in speed.

Although applications, services, and processes are all pretty much the same thing, generally if its a program that displays a user interface, you should call it an application. A program that doesn't displays a user interface, you should call a service. Both applications and services can run multiple processes.

A process is like a little servant that doesn't have a user interface, but instead has interfaces to communicate with and run at the beck and call of applications and services. Now when someone says that an application like windows notepad is a process, and then opens Task Manager, which lists under the services column, notepad's executable (notepad.exe), it's hard to argue with them.

More Windows Administration Information:
• Three Important Techniques for Securing a Wireless Network
• Planning a Backup and Restoration of Files for Disaster Recovery
• Video Tutorial 1 - The Windows 7 Backup and Restore Utility
• Script to Print a Directory File List
• Video - How to Remove the Bloat from Your PC
• How to Become a Microsoft MVP (Most Valuable Professional)
• Understanding Windows 7 Security Center
• How to Erase a Hard Disk Drive Permanently
• Windows 10 New Storage View
• Windows 10 Diagnostic Data Send to Microsoft

RSS Feed RSS Feed

Follow Stephen Bucaro Follow @Stephen Bucaro

Fire HD
[Site User Agreement] [Privacy Policy] [Site map] [Search This Site] [Contact Form]
Copyright©2001-2018 Bucaro TecHelp 13771 N Fountain Hills Blvd Suite 114-248 Fountain Hills, AZ 85268