
1. 동기식 vs 비동기식동기식 프로그래밍에서는 하나의 작업이 완료될 때까지 CPU는 그 작업을 기다려야 합니다. 예를 들어, 네트워크 요청을 보내고 응답을 기다릴 때, 해당 스레드는 다른 일을 할 수 없고, I/O 작업이 끝날 때까지 대기해야 합니다. 이때 스레드가 차단(blocked)되어 있으므로, 운영체제는 다른 스레드로 컨텍스트 스위칭을 하여 CPU 자원을 할당하려고 합니다.비동기식 프로그래밍에서는 작업이 끝날 때까지 스레드가 대기할 필요 없이, 작업이 완료되면 이를 처리할 콜백 함수나 프라미스(약속)로 이어집니다. 즉, 스레드가 차단되지 않으며 다른 작업을 계속 처리할 수 있습니다. 이 방식은 I/O 작업이 끝날 때까지 CPU가 대기하지 않고, 효율적으로 다른 작업을 처리할 수 있게 해줍니다.2..

4. 컨텍스트 스위칭(Context Switching)컨텍스트 스위칭은 컴퓨터 시스템에서 CPU가 하나의 작업(프로세스 또는 스레드)을 중지하고, 다른 작업을 수행하기 위해 작업의 상태(Context)를 저장하고 복원하는 과정을 말합니다. 이 과정은 멀티태스킹 환경에서 필수적입니다. 왜냐하면 CPU는 한 번에 하나의 작업만 처리할 수 있기 때문에, 여러 작업(프로세스 또는 스레드)을 빠르게 전환하면서 마치 동시에 처리하는 것처럼 보이게 해야 하기 때문입니다.4.1 컨텍스트(Context)란?컨텍스트는 CPU가 현재 처리하고 있는 작업의 상태 정보를 의미합니다. 구체적으로는 다음과 같은 정보를 포함합니다:프로그램 카운터(Program Counter): 현재 실행 중인 명령어의 주소.레지스터(Register..