Each entry in the process table contains the following information: process identification number, user identification number, process memory address or secondary storage address, size of the process, and scheduling information. This table is set up when the process is created and is deleted when the process terminates.
For processes with sharable code, the process table maintains a subtable, called the text table, which contains the following information: memory address or secondary storage address of the text segment (sharable code) and a count to keep track of the number of processes using this code. Every time a process starts using this code, the count is increased by 1; and every time a process stops using this code, the count is decreased by 1. When the count is equal to 0, the code is no longer needed and the table entry is released together with any memory locations that had been allocated to the code segment.