운영 체제는 사용자 공간 프로그램이 커널 공간 프로그램과 상호 작용하도록 어떻게 허용합니까?

마이클 스타 호프 스키

특정 OS에 대한 질문은 아니지만 Windows를 예로 들어 보겠습니다. 사용자 공간 프로그램은 Windows API를 사용하여 커널 공간과 통신합니다. 그러나 나는 그것이 어떻게 가능한지 이해하지 못합니다. MS 웹 사이트에 따르면 API는 사용자 공간에 있습니다. 커널 공간에 액세스하려면 내가 올바르게 이해한다면 커널 공간에 있어야합니다. 그렇다면 Windows API가 커널 공간과 대화 할 수있는 추가 권한을 얻는 메커니즘은 무엇입니까? 그 메커니즘은 어느 공간에서 작동합니까? 이런 일이 모든 최신 PC OS에 보편적일까요?

Sumeet

CPU 레지스터를 통해 사용자 메모리 공간 (사용자 모드에서 액세스 가능)과 보호 된 메모리 공간 (커널 모드에서 액세스 가능) 사이의 정보 전송을위한 중간 역할을하는 CPU입니다.

다음은 예입니다.

사용자가 더 높은 수준의 언어로 프로그램을 작성한다고 가정합니다. 이제 프로그램이 실행되면 CPU가 가상 주소를 생성합니다.

이제 읽기 / 쓰기 작업이 발생하기 전에 가상 주소가 물리적 주소로 변환됩니다. 변환 메커니즘 (메모리 관리 장치)은 커널 모드에서만 액세스 할 수 있기 때문에 보호 된 메모리에 저장되기 때문에 변환은 커널 모드에서 발생하고 물리적 주소는 최종적으로 CPU의 일부 레지스터에 저장되고 읽기 / 쓰기 작업이 발생합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관