[OS] 운영체제의 주변 장치 관리
2021. 1. 2. 21:11ㆍ프로그래밍/운영체제
반응형
📚 인터럽트(interrupt)
- CPU나 메모리와 달리 인터럽트라는 메커니즘을 통해 관리하게 된다.
- 주변 장치들은 CPU의 서비스가 필요한 경우에 신호를 발생시켜 서비스를 요청하게 되는데,
이 때 발생시키는 신호를 인터럽트라고 한다.
- CPU는 인터럽트가 발생하면 하던 일을 잠시 멈추고 인터럽트에 의한 요청 서비스를 수행한다.
서비스를 완료한 후에는 원래 하던 일을 계속 수행하게 된다.
- 예) 키보드 입력
🔔 운영체제의 주변장치 관리
1. 주변장치에서 인터럽트 발생
- 주변장치들은 각 장치마다 컨트롤러(controller)라는 그 장치에서 일어나는 업무에 대한 관리를 위한 일종의 작은 CPU를 가지고 있다.
- 컨트롤러는 해당 장치에 대한 업무를 처리하고 이를 메인 CPU에 인터럽트를 발생시켜 보고하는 역할을 한다.
- 예) 키보드 컨트롤러가 인터럽트를 발생시켜 CPU에게 그 사실을 알려준다.
2. 인터럽트 처리
- 운영체제는 인터럽트를 처리한 후 원래 수행하던 작업으로 돌아오기 위해 인터럽트 처리 직전에
수행중이던 작업의 상태를 저장해둔다.
- 인터럽트가 발생하면 운영체제는 해당하는 인터럽트 처리 루틴을 찾아 정의된 코드에 따라 일을 수행한 다.
인터럽트 처리 루틴이란 인터럽트가 발생했을 때 해주어야 할 작업을 정의한 프로그램 코드를 말한다.
※ 해당 포스팅은「운영체제와 정보기술의 원리(반효경 저)」책 내용을 바탕으로 작성하였습니다.
반응형
'프로그래밍 > 운영체제' 카테고리의 다른 글
[OS] 운영체제 역사 (1950년대 ~ 최근) (0) | 2021.09.16 |
---|---|
[OS] Thread - 동기화, Critical Section, 뮤텍스와 세마포어, 교착상태와 기아상태 (0) | 2020.12.20 |
[OS] Thread - 개념, 장단점, Thread vs Process (0) | 2020.12.20 |
[OS] 프로세스간 커뮤니케이션(IPC 기법 - 파이프, 메시지큐, 공유메모리) (0) | 2020.12.20 |
[OS] 컨텍스트 스위칭(Context Switching, PCB, PC, SP) (0) | 2020.12.20 |