외부 하드웨어 장치가 시스템 호출을 사용하고 운영 체제에 액세스 할 수 있습니까? 디스크 온 키 장치의 자동 실행을 생각 나게하지만 운영 체제 또는 장치 자체 때문에 발생하는지 여부는 확실하지 않습니다.외부 하드웨어 장치가 시스템 호출을 사용할 수 있습니까?
1
A
답변
1
시스템 호출에는 프로세스가 필요합니다. 장치에 연결된 프로세스가 없으면 시스템 호출을 수행 할 방법이 없습니다.
일반적으로 장치는 인터럽트를 통해 운영 체제에 액세스합니다. 인터럽트는 시스템 호출이 전달되는 방식과 유사한 방식으로 처리됩니다. 시스템 호출이 예외는 인터럽트가 아니라 예외에 의해 트리거됩니다.
0
누군가가 만들었거나 만들었을 것이라고 확신합니다. 그러나 일반적으로 그것이 작동하는 방식이 아닙니다. 하드웨어는 인터럽트 나 폴링 또는 기타를 통해 일부 소프트웨어를 발생시켜 해당 하드웨어 이벤트 (USB 키를 삽입하고 드라이버 레벨 이상의 USB 드라이버 또는 운영 체제 소프트웨어 기능을 활성화하여 자동 실행 파일을 검색하고 실행)를 처리합니다.
마우스 버튼을 클릭하면 컴퓨터에 신호를 보내고 버튼을 누르는 소프트웨어가 활성화됩니다. 해당 소프트웨어는 운영 체제의 일부이거나 운영 체제와 상호 작용합니다.
삽입 할 때 드라이브 또는 cd 나 dvd를 자동으로 마운트하는 경우 해당 인터페이스에 대한 저수준 소프트웨어를 깨우는 신호가 시작되면 해당 신호는 운영 체제로 전달되고 기능이있는 경우 enabled가 해당 드라이브를 자동으로 마운트 한 다음 기능이 있고 활성화되어 있으면 해당 장치의 소프트웨어가 운영 체제에서 실행될 수 있도록 동의 한 특정 파일을 검색 할 수 있습니다. 모든 운영 체제 상호 작용은 소프트웨어로 수행됩니다.
자동 실행은 확실히 운영 체제 때문입니다. CD 플레이어 또는 USB 하드웨어가 CPU에 인터럽트를 보내고 CPU가 운영 체제 드라이버를 실행하고 드라이버가 "새 디스크를 발견했습니다"라는 메시지를 만든 다음 해당 메시지를 찾는 소프트웨어가 실행됩니다. –
리눅스에서는'udev'와'dbus'를 들여다보고 싶습니다. –
Google 검색 결과에서 https://linuxmeerkat.wordpress.com/2014/11/12/python-detection-of-usb-storage-device/을 발견했습니다. –