Xen FAQ Design and in Depth
2313 단어 design
How does Xen process System Calls on para-virtualized guest?
When ever a system call is invoked via interrupt or sys center control gets transferred to the kernel (ring 0), which is then handled via system call handler. System call never goes to libc but Libc is a library that provides POSIX interface to the user space applications and in a way wrapper for invocation of a system call.
System call interrupt based [i386]: During booting process, linux kernel of a domU register's its IDT with Xen Hypervisor via HYPERVISOR_set_trap_table(trap_table); [arch/i386/kernel/traps-xen.c]. Xen maintains two IDT's, one global IDT (its own) and other per domain IDT. Xen uses global IDT to register the entire trap handler except for system call handler (int 0x80). When a VM gets scheduled, its system call handler (from per domain IDT table) is registered with the processor. Hence when a domain/VM executes a system call, its own handler is executed.
시작 과정 에서 domU 의 Liux 커 널 은 HYPERVISOR 를 통 해set_trap_table 슈퍼 호출 은 IDT (인 터 럽 트 설명 부적 표) 를 등록 합 니 다. Xen 은 두 가지 IDT 를 포함 하고 하 나 는 전역 IDT (xen 사용) 입 니 다. 다른 하 나 는 모든 dom 의 IDT 입 니 다. Xen 은 전역 IDT 로 모든 것 을 등록 합 니 다. 시스템 호출 핸들 을 제외 하고 모든 것 이 구문 에 빠 집 니 다. (int 0x 80) vm 가 예약 되 었 을 때 자신의 시스템 호출 핸들 로 processor 에 등록 되 어 있 기 때문에 dom 이 시스템 호출 을 실행 할 때 자신의 핸들 을 실행 합 니 다.
Implementation differs for x86_64: Xen registers its own system call handler with the processor and from that handler routes the request to VM/Domain specific handler.
How can I tell if my OS is running on a physical machine or a virtual machine ?
You should be able to get some useful information from the DMI, e.g:
% for i in system-manufacturer system-product-name system-version\ system-serial-number; do echo
-n "$i: "; sudo dmidecode -s $i; done
system-manufacturer: Xen system-product-name: HVM domU system-version: 3.3.1 system-serial- number: 89e5915f-dead-beef-cefd-46904ea94c4a
OR
Probably checking kernel process, check your process table for: [xenwatch] [xenbus] Another clue is checking the kernle suffix, for example:
# uname -r 2.6.24-23-xen and the proc files:
/proc/xen/capabilities
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CSS 열 🎨텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.