QuestionsAboutMultiProcessAndThread (rev. 1.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 상황이기 때문에 그런 것인가?
- Single CPU & Single-processor & Multi-thread 환경이다.
- CPU가 할당한 Time Slice를 하나의 Processor내부에 있는 각각의 Thread가 쪼개서 사용 하는 것인가?
- 그렇다면 개념적으로 Single CPU에서 Processor Switching과 같은 것인가?
- 그럼 여러 개의 Thread가 존재하는 상황일 때, 하나의 Thread가 One Time Slice를 전부 사용하는 경우가 있는가??
- 다음의 예가 적절한 예인가?
- 학교 내에 건물이 하나 밖에 없다고 가정
- Single Processor & Single Thread
- 그 건물엔 화장실이 하나 있네. 그리고 한 명 들어가면 더는 못 들어가네.
- Single Processor & Multi Thread
- 역시 화장실이 하나 있네. 그런데 여러 명 동시에 들어갈 수 있네.
- Multi Processor & Single Thread
- 화장실이 여러 개 있네. 각 화장실에는 한 명만 들어갈 수 있네.
- Multi Processor & Multi Thread
- 화장실이 여러 개 있네. 각 화장실에는 여러 명이 동시에 들어갈 수 있네.
- … 이 비유에 CPU Scheduler도 추가한다면 어떤 비유를 들 수 있을까?
- 공부하다 헷갈려서 질문 올려봅니다; - 박성현