Vkernel - Vkernel

vkernel
Orijinal yazar (lar)Matthew Dillon
Geliştirici (ler)DragonFly BSD
İlk sürümDragonFly BSD § 1.8 (30 Ocak 2007; 13 yıl önce (2007-01-30))[1][2]
Deposys / vkernel.h, dev / sanal / vkernel /, vm / vm_vmspace.c, …
YazılmışC
İşletim sistemiDragonFly BSD
Türİşletim sistemi düzeyinde sanallaştırma, sanallaştırılmış kullanıcı alanı çekirdeği
LisansBSD Lisansı
İnternet sitesivkernel (7)

Bir sanal çekirdek mimarisi (vkernel) bir işletim sistemi sanallaştırma kernel kodunun çalıştırılmak üzere derlenebileceği paradigma Kullanıcı alanı örneğin çeşitli çekirdek düzeyindeki bileşenlerin hata ayıklamasını kolaylaştırmak için,[3][4][5] genel amaçlı sanallaştırmaya ve bölümlendirmeye ek olarak sistem kaynakları. Tarafından kullanılır DragonFly BSD DragonFly 1.7'den beri vkernel uygulamasında,[2] ilk olarak Eylül 2006'da ortaya çıkan (14 yıl önce) (2006-09),[3][6] ve ilk olarak Ocak 2007'de DragonFly 1.8 ile ahır şubesinde piyasaya sürüldü (13 yıl önce) (2007-01).[1][7][8][9]Uzun vadeli hedef, çekirdek geliştirmeyi kolaylaştırmanın yanı sıra, internete bağlı desteği desteklemeyi kolaylaştırmaktır. bilgisayar kümeleri yerelden ödün vermeden güvenlik.[3][4]Diğer işletim sistemlerinde de benzer kavramlar mevcuttur; Linux'ta benzer bir sanallaştırma kavramı şu şekilde bilinir: kullanıcı modu Linux;[10][7] oysa NetBSD 2007 yazından bu yana, ilk odak noktası kıç çekirdek altyapı.[11]

sanal çekirdek kavram neredeyse tam tersi Unikernel konsept - ile vkernel, çekirdek bileşenleri, normal bir işletim sistemi çekirdeği tarafından desteklenen çekirdek geliştirme ve hata ayıklamayı kolaylaştırmak için kullanıcı alanında çalışır; oysa a ile Unikernelkullanıcı alanı düzeyindeki bileşenler, baremetal donanım veya bir donanım sanallaştırma yığını tarafından desteklenen ekstra performans için doğrudan çekirdek alanında çalıştırılır. Bununla birlikte, hem vkernel hem de unikernel, benzer görevler için de kullanılabilir; örneğin, yazılımı düşük ek yük ile sanallaştırılmış bir ortama kendi kendine dahil etmek için. Aslında, NetBSD'ler kıç çekirdek, başlangıçta kullanıcı alanında çekirdek bileşenlerini çalıştırma odağına sahip olan, o zamandan beri unikernel alanına da kaymıştır ( herhangi bir çekirdek her iki paradigmayı desteklemek için takma ad).

Vkernel kavramı, FreeBSD hapishanesi bu hapishane yalnızca kaynak izolasyonu içindir ve her bir hapishane aynı çekirdeği paylaştığından, kullanıcı alanında yeni çekirdek işlevselliğini geliştirmek ve test etmek için kullanılamaz.[7] (DragonFly, yine de FreeBSD hapishanesi destek de.[7])

DragonFly'da vkernel, birinci sınıf bir bilgisayar Mimarisi, i386 veya amd64 ile karşılaştırılabilir ve Matthew Dillon yaklaşık 2007, DragonFly BSD'yi yeni mimarilere taşımak için bir başlangıç ​​noktası olarak kullanılabilir.[12]

DragonFly'ın vkerneli, ana bilgisayar çekirdeği tarafından yeni sistem çağrıları sanal bellek adres alanını yönetmeye yardımcı olan (vmspace) — vmspace_create () ve diğerleri,[3][9][13] gibi birkaç mevcut sistem çağrısının uzantılarının yanı sıra mmap's Madvisemcontrol.[9][14][15]

Ayrıca bakınız

Referanslar

  1. ^ a b "DragonFly 1.8.0 için Sürüm Notları". DragonFly BSD. 2007-01-30. Alındı 2019-04-08.
  2. ^ a b Sascha Wildner (2007-01-08). "vkernel, vcd, vkd, vke - sanal çekirdek mimarisi". DragonFly Çeşitli Bilgi Kılavuzu. DragonFly BSD. Lay özeti.
  3. ^ a b c d Matthew Dillon (2006-09-02). "Önbellek tutarlılığı, kümeleme ve Kernel sanallaştırma". çekirdek@ (Mail listesi). DragonFly BSD.
  4. ^ a b Jeremy C. Reed, ed. (2007-02-10). "Matt Dillon'dan DragonFly'ın sanal çekirdeği hakkında cevaplar". BSD Bülten .com. Reed Media .net. Arşivlendi 2007-02-24 tarihinde orjinalinden.
  5. ^ Daniel Lorch (2009-06-10). "HAMMER Dosya Sistemini Linux'a Taşıma" (PDF). Lay özeti (PDF). UML, Linux çekirdeğini, DragonFly BSD’nin sanal çekirdeklerine benzer şekilde bir kullanıcı alanı süreci olarak çalıştırır… hızlı bir yeniden derleme-yeniden başlatma döngüsüne izin verir ve standart gdb ile kolayca hata ayıklanabilir.
  6. ^ Matthew Dillon (2006). "sys / vkernel.h". BSD Çapraz Referansı. DragonFly BSD.
  7. ^ a b c d David Chisnall (2007-06-15). "DragonFly BSD: Kümeler için UNIX?". InformIT. Prentice Hall Profesyonel. Alındı 2019-03-06.
  8. ^ Aggelos Economopoulos (2010-03-29). "DragonFly Sanal Çekirdeğine bir göz atma (bölüm 1)". LWN.net. Alındı 2019-04-08.
  9. ^ a b c Aggelos Economopoulos (2010-04-16). "DragonFly Sanal Çekirdeğine bir göz atma (2. bölüm)". LWN.net. Alındı 2019-04-08.
  10. ^ Koen Vervloesem (2010-04-21). "DragonFly BSD 2.6: özgür bir kümeleme işletim sistemine doğru". LWN.net. Alındı 2019-03-07.
  11. ^ Antti Kantee (2007-08-05). "CVS kaydı: src / sys / rump". kaynak değişiklikleri @ (Mail listesi). NetBSD. RUMP'leri Tanıtın - Çalıştırılabilir Kullanıcı Alanı Meta Programları
  12. ^ Jeremy Andrews (2007-08-06). "Röportaj: Matthew Dillon". KernelTrap. Alındı 2019-03-03.
  13. ^ Matthew Dillon (2006). "vm / vm_vmspace.c § sys_vmspace_create ()". BSD Çapraz Referansı. DragonFly BSD.
  14. ^ "madvise, posix_madvise, mcontrol - bellek kullanımı hakkında tavsiye verin". DragonFly Sistem Çağrıları Kılavuzu. DragonFly BSD. Lay özeti.
  15. ^ "kern / syscalls.master". BSD Çapraz Referansı. DragonFly BSD.

Dış bağlantılar