TManager small glossary


Threads and teams



A thread is basically a process which executes instructions one after another. Threads are independant of each other, they run asynchronously and concurrently. A thread can be only ran at once by one processor. Most often, an application is made up of several threads; it is a team. All threads in a team can easily share the same data.

Each thread has a state. It may be:

Each thread also has a priority. The higher the priority, the more likely the thread is going to be executed soon if it's ready to be executed.

The user time and kernel time fields in TManager indicate how much time (in microseconds) has been spent executing instructions in this thread. The kernel time only counts the time spent in the BeOS' own code, the user time only counts the time spent in the application's code (or in the add-on or library, if it's an add-on or a shared library).

The semaphore column tells you which semaphore the thread is waiting to acquire, if the thread is in the "waiting" state.


Semaphores



A semaphore is something that threads can acquire. They may have to wait in order to acquire one, which is why semaphore are almost always involved in deadlocks.

Each semaphore is associated to a count; you just need to know that if the count is not 0, no thread is waiting to acquire it (but if it's 0, it doesn't mean anything).

TManager also displays the latest holder of each semaphore. It is the name of the thread that holds the semaphore, if any.


Ports



Threads can communicate through ports, by sending messages.

Each port has a given capacity, i.e. the maximum number of messages it can hold.

The queue count is the number of messages waiting to be read from the port.

The total count is the number of messages that have been read from the port, since its creation.


Areas



An area represents some amount of memory, divided in pages. Areas can be shared, which is why you'll find the same areas in several teams.

The size column represents the virtual size of the area, in bytes. The area will never occupy more than this in real memory.

On the contrary, the RAM size number tells you how many bytes of this area are currently loaded in memory. The rest is still swapped on the disk.

The lock mode indicates whether pages are allowed to be swapped to disk, or not, etc... If you don't understand it, you just don't need it.

The I/O access mode tells whether the area is readable, writable, or both (or none ?).

The copy count, in count, and out count numbers represent the number of times at least one page of this area has been swapped from the area to the disk, or from the disk to the area. If you don't know what the copy count means, you just do not need it.


Images



An image is a file that contains some executable code loaded in memory. It can be an application, a shared library, or an add-on, which is shown in the type column.

The text size and data size numbers are the size of the corresponding sections, in bytes, in the file.

The sequence and init order fields are counters that show which image was loaded and initialized after which other one.



TManager user documentation.

Copyright © 1997-1998 Olivier Wittenberg. All rights reserved.