하드웨어 및 소프트웨어 인터럽트의 개념을 이해하고 있는지 잘 모르겠습니다.
올바르게 이해하면 하드웨어 인터럽트의 목적은 CPU 멀티 태스킹 구현의 일부인 CPU에 주목하는 것입니다.
- 그렇다면 하드웨어 인터럽트는 무엇입니까? 하드웨어 드라이버 프로세스입니까?
- 그렇다면 하드웨어 드라이버 프로세스는 어디에서 실행되고 있습니까? CPU에서 실행 중이면 하드웨어 인터럽트로 CPU에 주목할 필요가 없습니다. 그래서 다른 곳에서 실행되고 있습니까?
- 하드웨어 인터럽트가 CPU를 직접 인터럽트합니까, 아니면 먼저 커널 프로세스에 접속하고 커널 프로세스가 CPU에 접속 / 인터럽트합니까?
반면, 소프트웨어 인터럽트의 목적은 현재 CPU에서 실행중인 프로세스가 일부 리소스를 요청하는 것입니다.
- 자원은 무엇입니까? 그것들은 모두 실행중인 프로세스의 형태입니까? 예를 들어 CPU 드라이버 프로세스 및 메모리 드라이버 프로세스가 CPU 및 메모리 리소스를 나타 냅니까? I / O 장치의 드라이버 프로세스가 I / O 리소스를 나타 냅니까? 프로세스와 통신하려는 다른 실행중인 프로세스도 리소스입니까?
- 그렇다면 소프트웨어 인터럽트가 커널 프로세스를 통해 간접적으로 프로세스 (자원을 나타내는)와 접촉합니까? 하드웨어 인터럽트와 달리 소프트웨어 인터럽트는 CPU를 직접 방해하지 않지만 대신 커널 프로세스를 중단 / 접촉하는 것이 옳습니까?