Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

vkernel

From Wikipedia, the free encyclopedia
OS-level virtualisation
vkernel
Original authorMatthew Dillon
DeveloperDragonFly BSD
Initial releaseDragonFly BSD § 1.8 (30 January 2007; 18 years ago (2007-01-30))[1][2]
Repositorysys/vkernel.h,dev/virtual/vkernel/,vm/vm_vmspace.c, …
Written inC
Operating systemDragonFly BSD
TypeOS-level virtualisation, virtualised userspace kernel
LicenceBSD Licence
Websitevkernel(7)

Avirtual kernel architecture (vkernel) is anoperating systemvirtualisation paradigm where kernel code can be compiled to run in theuser space, for example, to ease debugging of various kernel-level components,[3][4][5] in addition to general-purpose virtualisation and compartmentalisation ofsystem resources. It is used byDragonFly BSD in its vkernel implementation since DragonFly 1.7,[2] having been first revealed in September 2006 (19 years ago) (2006-09),[3][6] and first released in the stable branch with DragonFly 1.8 in January 2007 (18 years ago) (2007-01).[1][7][8][9]

The long-term goal, in addition to easing kernel development, is to make it easier to support internet-connectedcomputer clusters without compromising localsecurity.[3][4]

Similar concepts exist in other operating systems as well; in Linux, a similar virtualisation concept is known asuser-mode Linux;[10][7] whereas inNetBSD since the summer of 2007, it has been the initial focus of therump kernel infrastructure.[11]

Thevirtual kernel concept is nearly the exact opposite of theunikernel concept — withvkernel, kernel components get to run in userspace to ease kernel development and debugging, supported by a regular operating system kernel; whereas with aunikernel, userspace-level components get to run directly in kernel space for extra performance, supported by baremetal hardware or a hardware virtualisation stack. However, both vkernels and unikernels can be used for similar tasks as well, for example, to self-contain software to a virtualised environment with low overhead. In fact, NetBSD'srump kernel, originally having a focus of running kernel components in userspace, has since shifted into the unikernel space as well (going after theanykernel moniker for supporting both paradigms).

The vkernel concept is different from aFreeBSD jail in that a jail is only meant for resource isolation, and cannot be used to develop and test new kernel functionality in the userland, because each jail is sharing the same kernel.[7] (DragonFly, however, still hasFreeBSD jail support as well.[7])

In DragonFly, the vkernel can be thought of as a first-classcomputer architecture, comparable to i386 or amd64, and, according toMatthew Dillon circa 2007, can be used as a starting point for porting DragonFly BSD to new architectures.[12]

DragonFly's vkernel is supported by the host kernel through newsystem calls that help manage virtual memory address space (vmspace) —vmspace_create() et al.,[3][9][13] as well as extensions to several existing system calls likemmap'smadvisemcontrol.[9][14][15]

See also

[edit]

References

[edit]
  1. ^ab"Release Notes for DragonFly 1.8.0".DragonFly BSD. 2007-01-30. Retrieved2019-04-08.
  2. ^abSascha Wildner (2007-01-08)."vkernel, vcd, vkd, vke — virtual kernel architecture".DragonFly Miscellaneous Information Manual.DragonFly BSD.
  3. ^abcdMatthew Dillon (2006-09-02)."Cache coherency, clustering, and Kernel virtualization".kernel@ (Mailing list).DragonFly BSD.
  4. ^abJeremy 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.
  5. ^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.
  6. ^Matthew Dillon (2006)."sys/vkernel.h".BSD Cross Reference.DragonFly BSD.
  7. ^abcdDavid Chisnall (2007-06-15)."DragonFly BSD: UNIX for Clusters?".InformIT.Prentice Hall Professional. Retrieved2019-03-06.
  8. ^Aggelos Economopoulos (2010-03-29)."A peek at the DragonFly Virtual Kernel (part 1)".LWN.net. Retrieved2019-04-08.
  9. ^abcAggelos Economopoulos (2010-04-16)."A peek at the DragonFly Virtual Kernel (part 2)".LWN.net. Retrieved2019-04-08.
  10. ^Koen Vervloesem (2010-04-21)."DragonFly BSD 2.6: towards a free clustering operating system".LWN.net. Retrieved2019-03-07.
  11. ^Antti Kantee (2007-08-05)."CVS commit: src/sys/rump".source-changes@ (Mailing list).NetBSD.Introduce RUMPs - Runnable Userspace Meta-Programs
  12. ^Jeremy Andrews (2007-08-06)."Interview: Matthew Dillon".KernelTrap. Archived fromthe original on 2012-02-07. Retrieved2019-03-03.
  13. ^Matthew Dillon (2006)."vm/vm_vmspace.c § sys_vmspace_create()".BSD Cross Reference.DragonFly BSD.
  14. ^"madvise, posix_madvise, mcontrol — give advice about use of memory".DragonFly System Calls Manual.DragonFly BSD.
  15. ^"kern/syscalls.master".BSD Cross Reference.DragonFly BSD.

External links

[edit]
Operating system
OS-level virtualisation
File systems,storage
Firewalls,networking
Subsystems
People
General
Variants
Kernel
Architectures
Components
Process management
Concepts
Scheduling
algorithms
Memory management,
resource protection
Storage access,
file systems
Supporting concepts
Hardware
(hypervisors)
Native
Hosted
Specialized
Independent
Tools
Operating
system
OS containers
Application containers
Virtual kernel architectures
Related kernel features
Orchestration
Desktop
Application
Network
See also
Retrieved from "https://en.wikipedia.org/w/index.php?title=Vkernel&oldid=1324474472"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp