[Previous] - [Main menu] - [Next]

Terminology

An explanation of expressions used on this site


Important Terminology

This list has been collected for the impatient readers. It describes key terms, in the way the writer understands them.
Process
A process is usually a code segment in memory which the CPU can execute. A process can be a parent of other processes it has created or a child of parent process. It can even be both a parent and a child, which also mean it can have grand-parents and grand-children.
Task
From the users point-of-view the processes are grouped in tasks. These tasks then contain additional threads. The different tasks could fx. be a text editor and a server. These two tasks wouldn't benefit from sharing the same address space, so the system would not allow it. Now the text editor is only one process, which received keyboard input and print it on the screen. But the server contain several threads, one monitoring all the others, three serving http request, another serving ftp request. All these, especially the http threads may benefit from sharing the same address space.
Thread
When an application is started, it starts as one process. This process has it own address space, and thus called a task. The process can then request more threads, which are seperate processes that run in the same address space as the parent.


Terminology

This is a list of terms describing them what they mean in these documents.
Address Space
The address space of a process, is what ever has been selected to be in the addressable memory of the process. The operating system can choose to use different address space for different processes, in such a way they can't interfere with each other.
Application (Alias: program)
An executable file residing, inactively, on a storage media. When it is loaded into memory for execution it becomes a task.
Subsystem
To put it simple a subsystem is just a part of the system. Some of the subsystems are memory-, storage-, multitasking- and communication-subsystems.
Task switch
The user can switch between tasks. The active task is the one that gets keyboard input, mouse input ect.
Thread switch
Thread switching is the core of the multitasking system. By swithing quickly between the different processes in the system, all of them are parallel driven forward in their execution.