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 thatTo 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?
What is the relationship between the stack and the process table?
kernel;cpu;processes;stack
Tanenbaum is just saying that there are two common ways of storing information about a process. How a particular OS chooses to do that  on some kernel stack or in a table/array  is just one of the myriad freedoms available to the OS designer.The OS designer doesn't even have to call them process control blocks.