WinTasks Pro 5 Review - Operating Systems Theory
(Page 2 of 6 )
In order to make sense out of today's review, we need to delve into a bit of operating systems theory.
A very basic definition of a process is a program in execution. This means that every program in your Windows or KDE or GNOME taskbar is a separate process. There's a bit more to a process than just the program. A process has variables, states, and resources such as file handles, and memory associated with it. Processes have a pointer in their memory space. Also, a program can consist of multiple processes. IBM's DB2 relational database is like this. Anyone with DB2 installed on their system should see a few processes running simultaneously. So, we can have programs consisting of multiple processes but there is at least one process per program.
Threads, on the other hand, exist within a process. They allow a thread to 'do' many things at once. The difference between multi-processing and multithreading is in the resources that are available. Since a thread is part of a process, all the threads in a process share the same memory space and some of the resources. Microsoft Word is a good example of multithreading. You may notice that in Word, its possible to have it do two things at the same time, such as edit your document at the same time it is printing. Instant messaging programs are also multithreaded. With one thread per conversation, multithreading allows you to type messages to your girlfriend in San Francisco, while recieving messages from friends in Northern Ontario and waiting for new ones from classmates. Internet Explorer's default behavior is multithreaded instead of multiprocess.
However, until Intel released Hyper Threading processors, it was impossible for a computer to execute more than one process at a time. We get the illusion that the computer is doing many things at the same time because the operating system is doing something called context switching. Operating systems know that they cannot let Word take 100% of the CPU's time, so the operating system interrupts Word. When this happens, the operating system take a complete snapshot of what the processor is doing and saves it. It then loads another process and restores the old process' snapshot to the processor. That way, to the process, it was never stopped; it picks up exactly where it left off. This context switching procedure happens so fast that we humans don't notice it. If there were no context switches, processes would "starve," a technical term that means that the process is not going to get a chance to run on the processor and is in a frozen state indefinitely.
Next: Taking A Look At WinTasks Pro 5 >>
More Software Articles
More By Quantum Skyline
| Recommended by Dev Hardware |
|---|
|