본문 바로가기

CS공부/운영체제

6. Polling

Q: 호스트가 언제 IO controller가 idle한 상태인지 어떻게 알까?

host: 보통 주 컴퓨터나 CPU가 있는 시스템, 즉 cpu라고 생각하자.

idle: 할 일이 없는 상태

 

문제 해석: I/O controller가 할 일이 없는 상태인지 CPU가 어떻게 아냐

결론: I/O contoller가 저 쉬고 있어요 하고 CPU에 polling과 interrupt로 보고함

 

Polling (busy-waiting)

Busy bit를 상태 레지스터(I/O 컨트롤러안에 있는 레지스터) 에 넣는다. -> 일이 끝나면 clear로 지움.

cpu는 반복적으로 busy bit를 체크해서 일이 끝났는지 확인함.

 

 

  • 컨트롤러나 디바이스가 빠르면
    • CPU가 상태를 자주 확인해도 금방 작업이 끝나니까
    • Polling 방식이 상대적으로 합리적
  • 하지만 대기 시간이 길면
    • CPU가 계속 상태를 검사하느라 많은 시간을 소비
    • 이 시간 동안 CPU는 다른 일을 못 하고 대기만 하니까 비효율적

 

 

 

'CS공부 > 운영체제' 카테고리의 다른 글

7. Interrupt  (0) 2025.05.23
5. I/O Hardware  (0) 2025.05.23
4. I/O Systems  (0) 2025.05.23
3. Bus  (0) 2025.05.23
2. Booting  (0) 2025.05.23