Each thread has a state. It may be:
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.
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.
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.
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.
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.