E D R , A S I H C RSS

QuestionsAboutMultiProcessAndThread (rev. 1.1)

Questions About Multi Process And Thread

  1. Single CPU System에서 프로세서 A 가 Run 중일 때, I/O 작업을 해야 돼서 다른 프로세서 B로 스위칭을 하는 상황이다.
    • 스위칭을 한다면, 프로세서 A에 Time Slice를 조금 남겨놓고 스위칭을 하는 것인가? 즉 I/O 작업을 계속 할 수 있도록 CPU가 조금씩 I/O 작업을 진행하면서 프로세서 B를 실행하는 것인가?
    • 만약 그것이 아니라면, I/O 작업을 CPU가 담당하지 않는 것인가? CPU 내부 ALU와 I/O 작업 회로가 따로 있는 Independent 상황이기 때문에 그런 것인가?
  2. Single CPU & Single-processor & Multi-thread 환경이다.
    • CPU가 할당한 Time Slice를 하나의 Processor내부에 있는 각각의 Thread가 쪼개서 사용 하는 것인가?
    • 그렇다면 개념적으로 Single CPU에서 Processor Switching과 같은 것인가?
    • 그럼 여러 개의 Thread가 존재하는 상황일 때, 하나의 Thread가 One Time Slice를 전부 사용하는 경우가 있는가??
  3. 다음의 예가 적절한 예인가?
    - 학교 내에 건물이 하나 밖에 없다고 가정
    • Single Processor & Single Thread
      - 그 건물엔 화장실이 하나 있네. 그리고 한 명 들어가면 더는 못 들어가네.
    • Single Processor & Multi Thread
      - 역시 화장실이 하나 있네. 그런데 여러 명 동시에 들어갈 수 있네.
    • Multi Processor & Single Thread
      - 화장실이 여러 개 있네. 각 화장실에는 한 명만 들어갈 수 있네.
    • Multi Processor & Multi Thread
      - 화장실이 여러 개 있네. 각 화장실에는 여러 명이 동시에 들어갈 수 있네.

    • … 이 비유에 CPU Scheduler도 추가한다면 어떤 비유를 들 수 있을까?
      • Single CPU 환경이라면
        - Observer가 건물 위에서 하나의 변기 선택??
      • Multi CPU 환경이라면
        - Observer가 건물 위에서 여러 개의 변기 선택??


  • 공부하다 헷갈려서 질문 올려봅니다; - 박성현
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:09
Processing time 0.0156 sec