|
Page 1 of 2 What are Processes?
Process is one of the
core terms in operating systems. The simplest but very precise
explanation is that a process is a program in execution, a running
instance of a program. In the theory of operating system there are
several states of a process, like running, blocked, terminated etc.
but this is too much detail for somebody who is just eager to be able
to monitor what is going on on his or her computer. (For those, who
are interested in more detail, Operating Systems: Design and
Implementation and Modern Operating Systems by Andrew
Tanenbaum are an excellent source of indepth information about
processes and operating systems as a whole.)
Modern operating systems can
run simultaneously many processes, though actually at any given point
of time only one process has the processor at its disposal. The other
processes are waiting for their turn to come and that is why when you
look at the processes on your computer, you might see a long list of
the processes that are running. With dual core processors there are
two processes that can execute simultaneously but still this does not
change the fact that there is one (or two) processes that are
executing and a dozen of others that are waiting to be given the
processor.
Many operating systems allow
processes to be divided further - into threads. For example, Program
A is running as a Process A and Process A has the following threads –
A1, A2, A3, etc., all of which execute subtasks that are related to
the execution of Program A. Threads are dependent on the process that
started them and when the process terminates, they terminate as well.
Process management is one of the basic activities of operating
systems and when a process consumes too much CPU power, this slows
down the whole system, so in order to free some resources, one or
more processes is terminated.
When processes are forcibly
terminated, this often results in loss of data but given the choice
between a hung system and a killed process, loss of data might be
acceptable. There are processes that can't be terminated because
their execution is vital for the functioning of the whole system.
Also, killing processes arbitrarily is a bad idea (even if the
operating system allows to kill a process of your choice) and the
right approach to killing processes is first to identify which is the
program that started the process, what resources are used by it and
then to proceed with termination. Killing the bad guys, i.e.
processes is described in the last section of this article.
Windows Processes
After the brief explanation
of what processes are, let's see how this relates to Windows.
Windows, as most of the modern operating systems, supports
multitasking and multithreading and when you click CTRL+ALT+DEL to
bring up the Task Manager, you will see something like this:

You see an Image Name column,
where all processes for the currently logged in user are listed (if
the Show Processes For All User checkbox were checked, this list
would have listed processes from all users), the name of the user who
owns the process and data like the CPU and Memory usage of the
particular process. Some of the process names are pretty
self-explanatory (firefox.exe) but others are a bit cryptic. Don't
worry that you can't guess what a particular Image Name stands for –
there are good online references, like http://www.processlibrary.com
or http://www.what-process.com/lists.aspx,
where you can check a given process to which program belongs.
However, it does not hurt to
know the names of a couple of the essential Windows processes. There
might be differences in the list of essential Windows processes for
the various versions of Windows but basically the major ones are as
follows:
- System Idle Process
- explorer.exe
- winlogon.exe
- svchost.exe
- lsass.exe
- services.exe
- spoolsv.exe
- smss.exe
- csrss.exe
- taskmgr.exe
|