interrupt 2

디버깅을 통해 배우는 리눅스 커널의 구조와 원리 1, 도서 공부하기 23 - 인터럽트는 비활성화할 시점 확인

안녕하세요. 인터럽트가 발생하는 보았는데, 조금 다르게 중요한 작업을 하고 있을 때는 인터럽트가 발생하면 안 되는 상황도 있습니다. 이 부분에 대해서 확인해 보겠습니다. 1. 인터럽트가 발생하면 안 되는 상황 인터럽트는 보통 백그라운드에서도 계속 발생합니다. 그렇기 때문에 디바이스 드라이버를 개발하다 보면 특정 상황에서는 발생하면 안 되는 조건이 있습니다. (1) SoC에서 정의한 하드웨어 블록에 정확한 시퀀스를 줘야 할 경우(2) 시스템이 유휴 상태에 진입하기 직전의 시스템의 상태 정보 값을 저장하는 동작(3) 각 디바이스 드라이버가 서스펜드 모드로 진입할 때 디바이스 드라이버에 데이터 시트에서 명시한 대로 정확한 특정 시퀀스를 줘야 할 경우(4) 예외가 발생해서 시스템 리셋을 시키기 전 종합..

IT/Linux Kernel 2025.05.30

디버깅을 통해 배우는 리눅스 커널의 구조와 원리 1, 도서 공부하기 20 - 인터럽트(interrupt), 인터럽트 컨텍스트란?

안녕하세요. 프로세스에 관한 내용을 지나 5장 인터럽트 내용으로 왔습니다. 인터럽터가 OS에 중요한 부분을 차지하고 있으니 5, 6장에 걸쳐 소개하고 있습니다. 천천히 책 내용을 따라가 보겠습니다. 진도가 너무 느려져서, 요약하면서 조금 빠르게 진행해 보도록 하겠습니다. 1. 인터럽트 소개 인터럽터라는 단어 자체는 생활에서도 사용하고 있는 용어입니다. 끼어들다는 말로 사용하고 있습니다. 대화를 하는 중에 다른 사람이 와서 끼어들기도 하고 공부하는 중에 전화가 온다던지 이상생활에서 인터럽트가 발생합니다. 실제적으로 컴퓨터 입장에서 인터럽터를 확인해 보겠습니다. 1) 하드웨어 관점의 인터럽트 하드웨어 관정에서 인터럽트란 하드웨어의 변화를 감지해서 외부 입력으로 전달되는 전기 신호입니다. 예를 들..

IT/Linux Kernel 2025.05.13