Open sustainable-git opened 2 years ago
문맥 교환 : 프로세스들은 문맥을 보존하면서 서로 번갈아 수행한다. 이 때 일어나는 작업이 문맥 교환이다. 문맥교환은 CPU를 다른 프로세스로 넘기는 작업이다. 실행이 정지되는 프로세스의 문맥은 보존되고, 새로 실행되는 프로세스의 문맥이 활성화된다. 사용자 수준 문맥은 메모리에 그냥 남아있고, 커널 수준 문맥은 추후의 복구를 위해 PCB에 저장되었다가 속개시 원복된다. 이 때 프로세스의 자원 사용정보나 커널의 프로레스 관리 정보는 원래 PCB에 저장되어 있어 그대로 두면 된다.
문맥 교환의 시점 : 문맥 교환의 시점은 타임슬라이스의 소진에 따른 스케쥴링으로 다른 프로세스에게 선정되거나 인터럽트로 CPU가 선점 당했을 때, (비자발적 문맥교환) / 프로세스 스스로 입출력을 요청하거나 프로세스 스스로 다른 프로세스가 보낼 시그널에 대한 대기 요청으로 CPU를 반납할 때 (자발적 문맥교환)이다. (당장은 이해가 잘 안될 수 있지만 추후 더 자세히 알아볼 것이다.)
[운영체제] 유저모드와 커널모드에 대해서