본문 바로가기

2015/04

프로세스의 상태 변화 CPU는 하나의 프로세스만 실행 가능하다고 말씀 드렸습니다. 프로세스의 상태 변화를 통해 어떻게 실행되고 있는지 알아보도록 하겠습니다. 1. 프로세스 생성 S는 프로세스가 생성됨을 의미합니다. 생성되고 나서 바로 Ready 상태로 바뀝니다. 만약 놀고 있는 CPU가 있다면 바로 스케쥴러에 의해 Running 상태로 변경될 것입니다. 2. Ready -> Running Ready 상태에 있는 프로세스는 언제든지 스케쥴러에 의해 Running 상태로 변경될 수 있습니다. 3. Running -> Ready 프로세스도 우선순위가 있습니다. 알고 있으신 것처럼 Windows OS는 선점형 방식을 취하고 있기 때문에 우선순위가 높은 프로세스가 실행된다면 Running -> Ready 상태로 변경될 수 있습니다. .. 더보기
컨텍스트 스위칭(Context Switching) CPU는 여러 개의 프로세스를 동시에 실행하지 못합니다. 'CPU에 존재하는 레지스터들은 현재 실행 중에 있는 프로세스 관련 데이터들로 채워져 있습니다.' 실행 중인 프로세스가 변경될 때 컨텍스트 스위칭이라는 과정을 거치게 됩니다. 풀어 설명하면 CPU에 존재하는 레지스터들에 있는 데이터들이 Ready -> Running 상태로 변경되는 프로세스 관련 데이터로 적재되고 이전 실행되고 있는 프로세스 관련 데이터들은 메인 메모리에 저장되는 것을 의미합니다. "실행되는 프로세스의 변경과정에서 발생하는 컨텍스트 스위칭은 시스템에 많은 부담을 줍니다." 출처 - 뇌를 자극하는 윈도우즈 시스템 프로그래밍 더보기