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 |