스택과 프로세스 테이블의 관계는 무엇입니까?

스택과 프로세스 테이블의 관계는 무엇입니까?

Wikipedia 및 기타 여러 출처에 따르면,

PCB에는 프로세스의 중요한 정보가 담겨 있으므로 정상적인 사용자의 접근을 방지하기 위해 메모리 영역에 보관해야 합니다. 일부 운영 체제에서는 PCB가 다음 위치에 배치됩니다. 커널 스택이곳은 편리한 보호 장소이기 때문에 프로세스의 일부입니다.

이는 의미가 있습니다. 전환이 발생하면 현재 컨텍스트를 어딘가에 저장해야 하며 (커널) 스택은 이를 수행하기에 좋은 장소처럼 보입니다. 그러나 Tanenbaum은 다음과 같이 말했습니다.

프로세스 모델을 구현하기 위해 운영 체제는 다음과 같은 테이블(구조 배열)을 유지 관리합니다.프로세스 테이블, 프로세스당 하나의 항목입니다. (일부 저자는 이 항목을프로세스 제어 블록.)

나중에 Tanenbaum은 프로세스 컨텍스트가 스택에 저장된다고 언급했습니다. 분명히 프로세스 테이블과 스택은 서로 다른 짐승인데 지금은 혼란스럽습니다. 스택과 프로세스 테이블 사이의 관계는 무엇입니까?

답변1

Tanenbaum은 프로세스에 대한 정보를 저장하는 두 가지 일반적인 방법이 있다고 간단히 말했습니다. 특정 운영 체제가 이를 수행하도록 선택하는 방법(일부 커널 스택 또는 테이블/배열에서)은 운영 체제 설계자가 사용할 수 있는 수많은 자유 중 하나일 뿐입니다.

운영 체제 설계자는 전화할 필요도 없습니다.프로세스 제어 블록.

관련 정보