프로세스 관리에 대한 Wikipedia 기사를 읽고 있습니다. 저의 초점은 Linux입니다. 개념과 목적에서 시스템 호출, 메시지 전달 및 인터럽트 간의 관계와 차이점을 알 수 없습니다. 리소스와 서비스를 위해 커널에 요청하는 프로세스입니까?
기사의 일부 인용문과 다른 인용문 :
OS가 할당 해제 또는 할당을 수행하기 위해 프로그램을 실행하는 동안 OS가 프로세서 제어를 다시 얻는 방법에는 두 가지가 있습니다.
- 프로세스는 시스템 호출을 발행합니다 (소프트웨어 인터럽트라고도 함). 예를 들어, 하드 디스크의 파일에 대한 액세스를 요청하는 I / O 요청이 발생합니다.
- 하드웨어 인터럽트가 발생합니다. 예를 들어 키보드에서 키를 눌렀거나 타이머가 소진되었습니다 (예비 멀티 태스킹에 사용).
사용자 모드에서 실행되는 프로그램이 커널 서비스를 요청할 수있는 두 가지 기술이 있습니다.
* System call * Message passing
인터럽트는주의가 필요함을 나타내는 비동기 신호 또는 소프트웨어에서 실행 변경이 필요함을 나타내는 동기 이벤트입니다.
하드웨어 인터럽트는 프로세서로 하여금 실행 상태를 저장하고 인터럽트 핸들러의 실행을 시작하게합니다. 소프트웨어 인터럽트는 일반적으로 명령어 세트에서 명령어로 구현되므로 컨텍스트가 하드웨어 인터럽트와 유사한 인터럽트 핸들러로 전환됩니다.