[운영체제] 문맥교환(Context Switching)

[운영체제] 문맥교환(Context Switching)

다중 프로그래밍 시스템에서 운영체제에 의하여 CPU가 할당되는 프로세스를 변경하기 위하여 현재 CPU를 사용하여 실행되고 있는 프로세스의 상태 정보를 저장하고, 앞으로 실행될 프로세스의 상태 정보를 설정한 다음에 CPU를 할당하여 실행되도록 하는 작업이다.

인터럽트가 발생할 경우, 진행 중인 프로그램의 재개(resume)에 필요한 레지스터 문맥(register context)을 저장한다.


  • CPU에서는 한가지 프로그램만 실행 가능하므로 PCB테이블에 인터럽트 된 프로세스를 저장


시간할당량에 따른 문맥 교환수, 인터럽트 횟수, 오버헤드

여러 개의 프로세스가 CPU를 차지하는 시간 간격을 시간할당량이라고 한다.
시간할당량이 작으면 작을수록 여러 개의 프로세스가 동시에 수행되는 느낌을 가질 수 있지만 그에 따른 문맥 교환수, 인터럽트 횟수, 오버헤드는 증가한다.



출처

댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?