문맥 전환(교환)이란

컴퓨터에서 문맥 전환이란 하나의 프로세스(process) 가 CPU 를 사용하다가 다른 프로세스가 사용할수 있도록 이젠 프로세스의 상태(문맥; context) 를 PCB(Process Control Block)에 저장하고 새로운 프로세스의 상태를 CPU 에 적재하는 것을 의미합니다.

문맥 전환은 운영체제(OS; Operating System) 이 수행하며 다음에 어떤 프로그램을 실행할지는 OS 의 스케줄링 알고리즘이 판단하여 적재합니다.


컴퓨터에서 문맥전환은 초단위로 수없이 일어나나 고속으로 일어나기때문에 사용자들은 문맥 전환이 일어나는 것을 인지하지 못하며 다중 작업(Multi Tasking)을 수행하고 있다고 생각합니다.

하지만 운영체제에서도 문맥 전환은 큰 비용이 발생하는(많은 CPU 시간을 사용해서 시스템에 부하를 일으키는) 작업이므로 운영체제나 응용 프로그램의 성능에 악영향을 주게 됩니다.


사람도 멀티 태스킹이 가능한가?

뜨게질을 하면서 드라마를 보거나 요리를 하면서 라디오를 듣는 등 사람도 일견 멀티 태스킹이 가능하다고 생각할 수 있습니다.


하지만 이런 몰입하지 않아도 되는 작업이 아닌 몰입이 필요한 고도의 정신 노동에는 멀티 태스킹이 불가능하다가 정설입니다.


사람은 컴퓨터보다 문맥 전환 비용이 훨씬 크며 몰입에 들어가는 것은 보일러가 서서히 달궈지듯이 시간이 꽤 걸립니다.

만약 문맥 전환이 빈번하면 몰입할 수 없거나 몰입에서 바로 나와 버립니다.


마찬가지로 이메일이나 휴대폰 알림등으로 방해받으면 몰입이 일어나지 않으므로 메이크 타임 같은 책에서는 극단적으로 몰입이 필요한 경우 SNS와 Email app 을 삭제하는 것까지 권고하고 있습니다.



Ref