According to Wikipedia and many other sources,
Since PCB contains the critical information for the process, it must be kept in an area of memory protected from normal user access. In some operating systems the PCB is placed in the beginning of the kernel stack of the process since that is a convenient protected location.
It makes a lot of sense: when a switch occurs, the current context has to be saved somewhere and a (kernel) stack looks a good place to do that. However, Tanenbaum states that
To implement the process model, the operating system maintains a table (an array of structures), called the process table, with one entry per process . (Some authors call these entries process control blocks.)
Later, Tanenbaum mention that the process context is saved onto a stack. Clearly, the process table and the stack are different beasts and now I am confused: what is the relationship between the stack and the process table?