CS/운영체제

Context Switching

:)jun 2023. 9. 13. 18:22

Context Switching

프로세스의 상태 정보를 저장하고 복원하는 일련의 과정

프로세스는 CPU를 할당받아 작업을 하다가 프로세스 전환(context switching)이 발생하면 진행하던 작업을 저장하고 CPU를 반환한다. 이 때 작업의 진행상황을 모두 PCB에 저장한다. 다시 할당받으면 PCB에 있는 것을 불러와서 다시 작업을 진행한다.

보통 인터럽트가 발생하거나, 실행 중인 CPU 사용 허가시간을 모두 소모하거나, 입출력을 위해 대기해야 하는 경우에 Context Switching이 발생

저장되는 정보

  • 프로세스 식별자(Process ID, PID) : 프로세스 식별번호
  • 프로세스 상태 : new, ready, running, waiting, terminated 등의 상태를 저장
  • 프로그램 카운터 : 프로세스가 다음에 실행할 명령어의 주소
  • CPU 레지스터
  • CPU 스케쥴링 정보 : 프로세스의 우선순위, 스케줄 큐에 대한 포인터 등
  • 메모리 관리 정보 : 페이지 테이블 또는 세그먼트 테이블 등과 같은 정보를 포함
  • 입출력 상태 정보 : 프로세스에 할당된 입출력 장치들과 열린 파일 목록
  • 어카운팅 정보 : 사용된 CPU 시간, 시간제한, 계정번호 등

'CS > 운영체제' 카테고리의 다른 글

프로세스 상태 전이  (0) 2023.09.16
프로세스 스케줄러  (0) 2023.09.15
멀티 쓰레드 vs 멀티 프로세스  (0) 2023.09.14
프로세스와 쓰레드의 차이  (0) 2023.09.12
운영체제란?  (0) 2023.09.11