꿈돌이랜드

[운영체제] 인터럽트 본문

Programming/OS

[운영체제] 인터럽트

loinsir 2023. 5. 23. 18:30
반응형

운영체제

  • 컴퓨터 하드웨어를 관리하는 소프트웨어
  • 사용자와 하드웨어 사이의 중재자
  • CPU, 메모리, 입출력 장치등의 자원을 적절하게 프로그램에 할당할 책임 (하드웨어 자원 관리)

운영체제를 공부하는 이유? 거의 모든 코드가 운영체제 위에서 실행되므로 운영체제 작동방식에 대한 지식은 적절하고, 효율적이며, 효과적이며, 안전한 프로그래밍에 중요하기 때문

컴퓨터 시스템의 구성

  • 현대 범용 컴퓨터 시스템은 하나 이상의 CPU와 구성요소, 공유 메모리 사이의 액세스를 제공하는 공통 버스를 통해 연결된 여러 장치 컨트롤러로 구성
  • 일반적으로 운영체제에는 각 장치 컨트롤러마다 장치 드라이버가 존재

인터럽트

  • 장치 컨트롤러가 CPU에게 작업이 완료, 혹은 오류가 발생되었다는 사실을 알리는 등 많은 목적으로 사용되는 운영체제와 하드웨어 사이의 상호작용 방식
  • CPU가 인터럽트 되면 하던 일을 중단하고, 지금까지의 상태를 저장하고, 인터럽트를 위한 서비스 루틴이 있는 시작 주소로 실행 위치를 옮겨서 인터럽트 서비스 루틴을 실행하여 인터럽트 핸들러를 호출한다.
  • 인터럽트 서비스 루틴의 주소는 배열의 형태로 되어있는데 이를 인터럽트 벡터라 한다.
  • 처리 후 저장된 상태를 복원하여 이전의 중단되었던 연산이 다시 실행된다.

인터럽트 처리 메커니즘

  1. CPU가 하나의 명령을 실행할 때 마다 인터럽트 요청 라인이라는 선을 감지
  1. 인터럽트가 들어왔다면 인터럽트 번호를 읽고 이 번호를 인터럽트 벡터의 인덱스로 사용하여 인터럽트 핸들러 루틴으로 점프 (제어를 인터럽트 핸들러에게 넘김)
  1. 인터럽트 핸들러가 데이터를 처리하고 인터럽트에서 복귀
  1. CPU는 인터럽트로 중단된 작업의 처리를 재개

최신 운영체제에서는 이보다 더욱 정교한 인터럽트 처리 기능이 필요하다. ex) 중단되지 말아야 할 처리 중에 인터럽트 처리 연기, 우선순위로 인터럽트 처리

출처: 운영체제 10판


Uploaded by N2T

반응형

'Programming > OS' 카테고리의 다른 글

운영체제 정리  (0) 2024.02.23
단위 테스트 - 단위 테스트 안티 패턴  (1) 2023.11.14