4. 컨텍스트 스위칭(Context Switching)컨텍스트 스위칭은 컴퓨터 시스템에서 CPU가 하나의 작업(프로세스 또는 스레드)을 중지하고, 다른 작업을 수행하기 위해 작업의 상태(Context)를 저장하고 복원하는 과정을 말합니다. 이 과정은 멀티태스킹 환경에서 필수적입니다. 왜냐하면 CPU는 한 번에 하나의 작업만 처리할 수 있기 때문에, 여러 작업(프로세스 또는 스레드)을 빠르게 전환하면서 마치 동시에 처리하는 것처럼 보이게 해야 하기 때문입니다.4.1 컨텍스트(Context)란?컨텍스트는 CPU가 현재 처리하고 있는 작업의 상태 정보를 의미합니다. 구체적으로는 다음과 같은 정보를 포함합니다:프로그램 카운터(Program Counter): 현재 실행 중인 명령어의 주소.레지스터(Register..
동기(synchronous) 및 비동기(asynchronous) 동기 방식 - 하나의 요청이 처리되는 동안 다른 요청이 처리되지 못하며 요청이 완료되어야만 다음 처리가 가능한 방식. (ex. java) 비동기 방식 - 하나의 요청 처리가 완료되기 전에 제어권을 다음 요청으로 넘겨 Blocking 되지 않으며 다음 요청을 처리 하는 방식. (ex. nodejs) NodeJS 비동기 IO를 지원하며 Single-Thread 기반으로 동작하는 서버. 클라이언트의 요청을 비동기로 처리하기 위하여 이벤트가 발생하며 Event Loop가 처리. Event Loop가 처리하는 동안 제어권은 다음 요청으로 넘어가고 처리가 완료되면 Callback을 호출하여 처리완료를 호출측에 알려준다. 올바른 사용 환경 각 단위 작업..