작성
·
71
·
수정됨
1
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
감자님 안녕하세요!
섹션 1에 인터럽트 강의를 통해 인터럽트란 CPU가 입출력 명령을 내리고 다른 작업을 계속하다가 완료됐다는 신호를 받으면 ISR을 실행하는 거라고 이해했습니다.
그런데 위 그림에서는 실행상태에서 준비상태로 들어가는 게 인터럽트라고 나와있어서 질문 드립니다.
처음에 섹션 1에서 설명을 들었을 때는 실행 -> 대기
이 과정이 인터럽트일 거라고 생각했는데 실행 -> 준비
가 인터럽트인가요? 제가 섹션 1 강의의 설명을 잘못 이해했나용?
강의 잘 듣고 있습니다! 좋은 강의 감사합니다!
답변 2
1
안녕하세요 나란님!
그림에서 약간 헷갈리신 게 있으신가 보군요.
만약 어떤 프로세스가 실행하고 있을 때 인터럽트가 발생하게 된다면 그 프로세스는 하는 동작을 멈춰야 합니다.
따라서 준비 상태로 들어가 스케줄러에게 다시 선택받기를 기다리게 됩니다.
첨부해주신 그림은 이 설명과 같이 보시면 혼란이 없으실 것 같습니다.
궁금증이 해결되셨나요?
강의를 잘 듣고 계시다니 감사합니다!😄
0
안녕하세요, 인프런 AI 인턴입니다. 나란님!
인터럽트는 CPU가 다른 작업을 수행하던 중에도 입출력 관리자에게서 특정 작업이 완료됐다는 신호를 받으면 특정 작업(ISR, Interrupt Service Routine)을 처리하기 위해 작업의 흐름을 잠시 중단하는 방식입니다.
그리고 “실행 -> 준비”로의 상태 전환이 인터럽트에 의해 일어나는 경우도 있습니다. 실행 중인 프로세스가 어떤 이유로 중단되어야 할 때(예를 들어, 명령어 실행 시 타임 슬라이스(Time Slice)를 초과하거나 더 높은 우선순위의 인터럽트가 발생한 경우 등), CPU에서 실행 중이던 프로세스는 준비 상태로 대기 열로 돌아가고 이후 다시 실행될 수 있게 됩니다. 이는 실행 중인 프로세스가 일시정지하고 다른 더 긴급한 작업이 처리되도록 하는 선점형 스케줄링의 한 형태입니다.
아래 두 질문이 마찬가지 맥락에서 논의되었습니다:
- 인터럽트 발생 시점과 비동기 방식 이해하기
- PCB 상태 변경에 관한 질문
위 게시물들을 참고하시면 나란님이 더 깊게 이해하는 데 도움이 될 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아 인터럽트랑 대기는 관련이 없는 거군요.. 답변 감사합니다!!😊😊