프로세스와 컨텍스트 스위칭
- Context Switching (문맥(실행 구간) 전환)
- 실행 중지할 프로세스 정보를 해당 프로세스의 PCB에 업데이트해서 메인 메모리에 저장(운영체제에 따라 다를 수 있음)
- 다음 실행할 프로세스 정보를 메인 메모리에 할당된 PCB 정보(PC와 SP)를 CPU에 업데이트하고 실행
디스패치(dispatch): ready 상태의 프로세스를 running 상태로 변경
(스케쥴러 상태의 변경)
컨텍스트 스위칭 시간을 줄이는 방법
컨텍스트 스위칭 코드를 어세블리어로 작성...
- 초기 컴퓨터 프로그램은 어셈블리어로 만들어짐
- 서로 다른 CPU 아키텍처가 등장할 때마다 매번 똑같은 프로그램 작성(이식성이 떨어지지만 실행 속도는 빠름)
- 어셈블리어로는 프로그램 개발에 많은 시간이 소요
- 컴파일러 등장
- CPU 아키텍처에 따라서 컴파일러 프로그램만 만들면 기존 코드를 재작성할 필요 없음(이식성이 높음)
- 어셈블리어로 작성한 코드보다는 속도가 떨어짐