Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags more
Archives
Today
Total
관리 메뉴

Pure Software Engineer :)

[Xen] User space 에서 hypercall 사용하기 본문

Software Engineering/Linux

[Xen] User space 에서 hypercall 사용하기

HelloJaewon 2012. 10. 16. 18:21

하이퍼콜은 기본적으로 guest OS가 Xen에게 요청을 보낼 수 있는 인터페이스이다.

따라서 guest OS에서 동작하는 application이 hypercall을 사용하기 위해서는 반드시 guestOS를 거쳐야 한다.


이를 위해 guest OS는 privcmd 라는 디바이스를 제공한다.

(/proc/xen 또는 /dev/xen 아래에 privcmd 가 보이면 된다.)

사용자는 이 디바이스에 ioctl 명령을 통해 guest OS로 요청을 보내고

privcmd는 guest OS 모드에서 동작하여 xen에게 application으로부터 받은 요청을 하이퍼바이저에게 전달하는 역할을 한다.


이미 xen에서는 xend에서 hypercall을 위와 같은 방법으로 사용하고 있다. 또한 일반 사용자 application에서도 사용할수 있게 인터페이스가 잘 정리되어 있다. (tools/libxc 하위 코드 참고)


xend에서 하이퍼콜을 사용하는 그림은 아래와 같다.