Qual é a relação entre a pilha e a tabela de processos?

1

De acordo com a Wikipedia e muitas outras fontes,

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.

Faz muito sentido: quando ocorre uma mudança, o contexto atual tem que ser salvo em algum lugar e uma pilha (kernel) parece um bom lugar para fazer isso. No entanto, Tanenbaum afirma que

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.)

Mais tarde, Tanenbaum menciona que o contexto do processo é salvo em uma pilha. Claramente, a tabela de processos e a pilha são bestas diferentes e agora estou confuso: qual é a relação entre a pilha e a tabela de processos?

    
por Humberto Fioravante Ferro 06.04.2017 / 23:07

1 resposta

1

Tanenbaum está apenas dizendo que existem duas maneiras comuns de armazenar informações sobre um processo. Como um SO em particular escolhe fazer isso - em alguma pilha de kernel ou em uma tabela / array - é apenas uma das infinitas liberdades disponíveis para o designer do SO.

O designer do SO não precisa nem chamá-los blocos de controle de processo .

    
por 07.04.2017 / 17:08