I/O multiplexing (Non Blocking I/O vs Blocking I/O)
·
카테고리 없음
개요논블록킹 network I/O 모델이 등장하게 된 배경에 대해 알아봅시다.C10K 문제와 논블록킹 I/O 모델의 필요성C10K 문제는 network I/O와 연관이 있는 문제입니다. socket 프로그래밍을 통해 사용자의 요청을 받는 프로세스를 생각해봅시다. 만 명의 동시 사용자를 처리하기 위해 요청이 들어왔을 때, 프로세스를 fork하는 방식을 사용하거나 스레드를 생성하여 동시 접속을 처리합니다. 하지만 동시 접속을 처리하기 위해 스레드를 활용하면 메모리를 많이 차지할 뿐더러 context switching에 드는 비용 또한 증가하게 됩니다. 운영체제는 모든 스레드에 CPU를 배분하기 때문에 굉장히 많은 스레드가 데이터를 기다리고 있다고 하면 계속 CPU를 배정받아 시간을 낭비하게 됩니다.이처럼 ..