인터럽트 수업관련 질문
안녕하세요 감자님. 이번 강의를 수강하면서 몇가지 질문이 있어서 남겨봅니다.
폴링방식과 인터럽트 방식에 대해 설명을 해주셨는데 0:15 시간대에서 "CPU는 입출력 명령이 들어오면 입출력 관리자에게 입출력 명령을 내린다"라고 말씀을 해주셨는데 이 부분은 폴링방식과 인터럽트 방식 공통적으로 적용되고 폴링은 일정주기마다 CPU가 확인하는 방식이고 인터럽트 방식은 입출력관리자가 인터럽트 신호를 CPU에게 전달하여 CPU가 ISR을 실행하는 방식인건가요? 제가 이해하는게 맞는지 궁금합니다.
그리고 만약 위에 이해한게 맞다면 "CPU는 입출력 명령이 들어오면 입출력 관리자에게 입출력 명령을 내린다"에서 입출력 명령이 들어오는지 어떻게 확인이 가능할까요?
그리고 인터럽트 방식에서 입출력 관리자에게 입출력 명령을 내리고 CPU는 다른 일을 한다고 했는데 제가 다른데에서 찾아보기론 다른 일을 안하고 기다리는 경우도 있다고 들었습니다. 기다리는 방식을 blocking I/O 다른 일을 하는 경우를 non-blocking I/O라고 들었던것 같은데 맞는걸까요?
답변 1
2
안녕하세요 양성빈님!
인터럽트에 대해서 궁금증이 생기셨군요.
네 맞습니다.
ISR는 프로그램 내(램에 위치) 특정 주소에 저장되어 있어 해당 이벤트가 발생하면 ISR의 위치로 점프하면서 ISR를 실행하고 원래 실행하던 코드로 돌아와 동작을 하게됩니다.입출력 명령은 운영체제의 시스템 콜을 이용합니다. 만약 파일을 열고 싶다면 시스템 콜 함수인 open() 함수를 이용하면 운영체제는 사용자가 파일을 오픈한다는 것을 알 수 있습니다.
맞습니다. I/O 작업도 요청을 계속 기다리는 Blocknig I/O, Non Blocking I/O등이 있습니다.
이 외에도 동기, 비동기가 있는데 이들 조합을 잘 설명한 글이 있어서 링크 남겨드리겠습니다.
궁금증이 해결되셨나요? 😄
여러 의문점
1
63
1
CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.
1
58
2
CPU Bound Process와 sleep, yield에 대해
1
62
1
커널과 인터페이스 개념
1
65
2
exit() 함수
0
155
2
LRU 관련 질문
1
184
2
고정 분할 방식도 연속 할당으로 알고 있는데 애니메이션이 다소 헷갈립니다.
0
115
2
Swapping, Manual Overlay, Dynamic Loading, Dynamic Linking의 개념이 헷갈립니다
0
147
2
각 메모리의 최대 요구 CPU 리소스는 어떻게 아나요?
1
168
2
PCB들이 연결리스트로 저장되는 이유가 뭔가요?
1
128
2
IPC 방식 중 매개체가 파일과 메모리일 때 할당되는 용량의 차이
0
118
2
고정 분할 방식에 질문입니다
0
120
2
세마포어에 관련해 질문입니다
1
144
2
IPC 통신 중 파일을 이용한 방법이 정확히 어떤 건가요?
0
152
1
공유자원과 동기화 문제에 관해서 질문이 있습니다.
0
153
2
FIFO 알고리즘에 대해서 질문이 있습니다.
1
128
2
멀티프로그래밍, 멀티 태스킹, 멀티 프로세싱
1
164
1
새로 올라온 영상에서 스와핑 언급이 빠졌는데
1
81
2
유니프로그래밍과 멀티프로세싱이 어떻게 공존할 수 있는 건가요?
3
173
2
인터럽트에 대해 질문 드립니다.
1
93
2
수업 노트 설명에 대해 이해가 안가는 부분이 있어 질문 드립니다.
0
116
2
3:59초에 대해서 궁금해요!
0
121
2
실무적으로 궁금한게 있습니다ㅠ
0
97
1
완강을 해보니 오히려 더 궁금한게 많아지네요
1
168
2





