LabHub
배우기 러닝패스 코스

연결 하나가 느려지자 나머지가 전부 멈췄다 · 여럿을 한 자리에서 지켜본다 · 퀴즈

퀴즈: 여럿을 한 자리에서 지켜본다

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 읽기 준비 통지가 뜻하는 것은?

    1. 상대가 보낸 데이터가 반드시 남아 있다
    2. 지금 읽기를 시도해도 멈추지 않는다
    3. 한 메시지가 완전히 도착했다
    4. 연결이 앞으로도 열려 있다
  2. select(2) 문서가 적어 둔 FD_SETSIZE 관련 내용은?

    1. 커널이 제한을 없애서 번호 제한이 사라졌다
    2. epoll 에도 같은 1024 제한이 적용된다
    3. glibc 구현에서 1024 보다 작은 번호만 다룰 수 있다
    4. 번호 제한은 설정 파일로 올릴 수 있다
  3. 듣는 소켓이 읽기 준비로 한 번 깨어났을 때 올바른 처리는?

    1. accept 를 한 번만 부르고 다음 깨어남을 기다린다
    2. 깨어난 즉시 관심 목록에서 듣는 소켓을 뺀다
    3. accept 가 EAGAIN 을 낼 때까지 반복해 큐를 비운다
    4. 연결 수를 미리 세어 그만큼만 accept 한다
  4. 다중화를 쓰면서도 소켓을 논블로킹으로 두는 이유는?

    1. 논블로킹이어야 준비 통지를 받을 수 있어서
    2. 준비로 보고된 뒤에도 읽기가 막힐 수 있어서
    3. 논블로킹 소켓만 관심 목록에 등록할 수 있어서
    4. 블로킹 소켓은 커널이 준비 목록에 넣지 않아서
  5. epoll(7) 이 말하는 관심 목록과 준비 목록의 관계는?

    1. 준비 목록은 관심 목록과 무관하게 채워진다
    2. 두 목록은 사용자 공간에서 관리된다
    3. 관심 목록은 준비 목록의 부분집합이다
    4. 준비 목록은 관심 목록의 부분집합이다
  6. 이벤트 하나를 처리하다가 블로킹 호출을 하면?

    1. 그 연결만 느려지고 나머지는 영향이 없다
    2. 커널이 자동으로 다른 흐름에 넘겨 처리한다
    3. 다중화 호출이 그 호출을 취소해 준다
    4. 지켜보던 연결 전부가 그동안 함께 멈춘다