사기꾼
vkernel원본 작성자 | 매슈 딜런 |
---|---|
개발자 | 드래곤플라이 BSD |
초기 릴리즈 | DragonFly BSD § 1.8(2007년 1월 30일; 전([1][2] |
리포지토리 | sys/vmkernel.h, dev/virtual/vmkernel/, vm/vm_vmpace.c, … |
기록 위치 | C |
운영 체제 | 드래곤플라이 BSD |
유형 | OS 수준 가상화, 가상화된 사용자 공간 커널 |
면허증 | BSD 라이선스 |
웹사이트 | VMkernel(7) |
가상 커널 아키텍처(virtual kernel architecture)는 커널 코드를 컴파일하여 사용자 공간에서 실행할 수 있는 운영 체제 가상화 패러다임으로, 예를 들어 시스템 자원의 범용 가상화 및 구획화 외에도 다양한 커널 레벨 구성 요소의 디버깅을 용이하게 할 수 있다.[3][4][5]DragonFly BSD가 2006년 9월 처음 공개( ~09년[3][6] 2007년 1월( DragonFly 1.8과 함께 안정지점에 처음 공개( ~01년)된 [2]이후 VMkernel 구현에 사용된다[1][7][8][9]커널 개발의 완화와 더불어 장기적인 목표는 지역 보안을 훼손하지 않고 인터넷 연결 컴퓨터 클러스터를 보다 쉽게 지원하는 것이다.[3][4]유사한 개념이 다른 운영 체제에도 존재한다. Linux에서는 유사한 가상화 개념을 사용자 모드 Linux라고 한다.[10][7] 반면에 NetBSD에서는 2007년 여름부터 럼프 커널 인프라의 초기 초점이었다.[11]
가상 커널 개념은 단일 커널 개념과 거의 정반대의 개념으로, VMkernel과 함께 커널 구성 요소가 일반 운영 체제 커널에 의해 지원되는 커널 개발과 디버깅을 용이하게 하기 위해 사용자 공간에서 실행되는 반면, 사용자 공간 수준 구성 요소는 커널 공간에서 직접 실행되어 추가 성능을 지원하며,베어메탈 하드웨어 또는 하드웨어 가상화 스택에 의해.그러나 VMkernel과 유니커넬 모두 유사한 작업에도 사용할 수 있으며, 예를 들어 오버헤드가 낮은 가상화된 환경에 소프트웨어를 자체 컨테이너하는 경우에도 사용할 수 있다.실제로 원래 사용자 공간에서 커널 구성요소를 실행하는 데 초점을 두었던 NetBSD의 럼프 커널은 이후 유니커넬 공간으로도 이동했다(두 패러다임을 지원하기 위해 임의의 커널 모니커를 쫓는다).
VMkernel 개념이 FreeB와 다름그 감옥의 SD 감옥은 자원 격리를 위한 것일 뿐, 각각의 감옥이 동일한 커널을 공유하고 있기 때문에 사용자랜드에서 새로운 커널 기능을 개발하고 테스트하는데 사용될 수 없다.([7]드래곤플라이, 그러나 여전히 FreeB를 가지고 있다.)SD 교도소 지원도)[7]
DragonFly에서, VMkernel은 i386이나 amd64에 필적하는 1급 컴퓨터 아키텍처로 생각할 수 있으며, Matthew Dillon circa 2007에 따르면 DragonFly BSD를 새로운 아키텍처에 포팅하는 출발점으로 사용할 수 있다.[12]
DragonFly의 VMkernel은 가상 메모리 주소 공간(vmspace) 관리를 지원하는 새로운 시스템 호출을 통해 호스트 커널에서 지원됨 —vmspace_create()
기타,[3][9][13] 다음과 같은 기존 시스템 통화에 대한 확장 기능mmap
의madvise
—mcontrol
.[9][14][15]
참고 항목
참조
- ^ a b "Release Notes for DragonFly 1.8.0". DragonFly BSD. 2007-01-30. Retrieved 2019-04-08.
- ^ a b Sascha Wildner (2007-01-08). "vkernel, vcd, vkd, vke — virtual kernel architecture". DragonFly Miscellaneous Information Manual. DragonFly BSD.
- "vkernel, vcd, vkd, vke - virtual kernel architecture". DragonFly On-Line Manual Pages.
- ^ a b c d Matthew Dillon (2006-09-02). "Cache coherency, clustering, and Kernel virtualization". kernel@ (Mailing list). DragonFly BSD.
- ^ a b Jeremy C. Reed, ed. (2007-02-10). "Answers from Matt Dillon about DragonFly's virtual kernel". BSD Newsletter .com. Reed Media .net. Archived from the original on 2007-02-24.
- ^ Daniel Lorch (2009-06-10). "Porting the HAMMER File System to Linux" (PDF).
UML runs the Linux kernel as a userspace process, analogous to DragonFly BSD's virtual kernels … allow for a quick recompile-restart cycle and can be debugged easily with standard gdb.
- Daniel Lorch (June 10, 2009). "Porting the HAMMER File System to Linux" (PDF). github.
- ^ Matthew Dillon (2006). "sys/vkernel.h". BSD Cross Reference. DragonFly BSD.
- ^ a b c d David Chisnall (2007-06-15). "DragonFly BSD: UNIX for Clusters?". InformIT. Prentice Hall Professional. Retrieved 2019-03-06.
- ^ Aggelos Economopoulos (2010-03-29). "A peek at the DragonFly Virtual Kernel (part 1)". LWN.net. Retrieved 2019-04-08.
- ^ a b c Aggelos Economopoulos (2010-04-16). "A peek at the DragonFly Virtual Kernel (part 2)". LWN.net. Retrieved 2019-04-08.
- ^ Koen Vervloesem (2010-04-21). "DragonFly BSD 2.6: towards a free clustering operating system". LWN.net. Retrieved 2019-03-07.
- ^ Antti Kantee (2007-08-05). "CVS commit: src/sys/rump". source-changes@ (Mailing list). NetBSD.
Introduce RUMPs - Runnable Userspace Meta-Programs
- ^ Jeremy Andrews (2007-08-06). "Interview: Matthew Dillon". KernelTrap. Archived from the original on 2012-02-07. Retrieved 2019-03-03.
- ^ Matthew Dillon (2006). "vm/vm_vmspace.c § sys_vmspace_create()". BSD Cross Reference. DragonFly BSD.
- ^ "madvise, posix_madvise, mcontrol — give advice about use of memory". DragonFly System Calls Manual. DragonFly BSD.
- "madvise, posix_madvise, mcontrol - give advice about use of memory". DragonFly On-Line Manual Pages.
- ^ "kern/syscalls.master". BSD Cross Reference. DragonFly BSD.
외부 링크