Sanallaştırma geliştirme zaman çizelgesi - Timeline of virtualization development

Aşağıdaki bir sanallaştırma geliştirme zaman çizelgesi. Hesaplamada, sanallaştırma kullanımı bilgisayar başka bir bilgisayarı simüle etmek için. Sanallaştırma yoluyla, bir ev sahibi simüle eder misafir sanal ortaya çıkararak donanım aygıtları, bu, yazılım aracılığıyla veya makineye bağlı fiziksel bir aygıta erişime izin verilerek yapılabilir.

Zaman çizelgeleri

Not: Bu zaman çizelgesinde aşağıdakiler de dahil olmak üzere önemli tarihsel sistemler için veriler eksiktir: Atlas Bilgisayar (Manchester), GE 645, Burroughs B5000

  • 1964
  • 1965
  • 1966
    • IBM, S / 360-67 bilgisayarı Haziran 1966'da piyasaya sürdü
    • IBM, S / 360-67 için CP-40'ın yeniden uygulaması olan CP-67 üzerinde çalışmaya başladı.
  • 1967
    • CP-40 (Ocak) ve CP-67 (Nisan), üretim zaman paylaşımı kullanımına giriyor.
  • 1968
  • 1970
    • IBM Sistem / 370 duyuruldu (Haziran) - olmadan sanal bellek.
    • System / 370 serisinde kullanılmak üzere CP-67'nin tam bir yeniden uygulaması olan CP-370 üzerinde çalışma başlıyor.
  • 1971
  • 1972
    • Eklenen sanal bellek duyurusu Sistem / 370 dizi.
    • Sanal Makine / 370 duyuruldu - ve ilan tarihinde yayınlanacak. VM / 370, VM altında VM çalıştırma yeteneğini içerir (daha önce hem IBM'de hem de CP / CMS kapsamında kullanıcı sitelerinde uygulanmıştır, ancak standart sürümlerin bir parçası yapılmamıştır).
  • 1973
    • Duyurulan sanal bellek S / 370 modellerinin ilk sevkiyatı (Nisan: -158, Mayıs: -168).
  • 1974-1998
  • 1977
    • İlk ticari sürümü VAX / VMS, daha sonra OpenVMS olarak yeniden adlandırıldı.
  • 1985
  • 1987
  • 1988
    • SoftPC 1.0 for Sun, 1988'de Insignia Solutions tarafından tanıtıldı [1]
    • SoftPC Apple Macintosh için ilk sürümünde görünür. Bu sürümler (Sun ve Macintosh) yalnızca DOS desteğine sahiptir.
  • 1991
    • IBM, x86 sanal 8086 modunu destekleyen, DOS / Windows ve CP / M-86 gibi diğer 16 bit işletim sistemlerini sanallaştırabilen OS / 2 Sanal DOS makinesini (VDM) tanıttı [2]
  • 1994
    • Kevin Lawton yapraklar MIT Lincoln Laboratuvarı ve başla Boch'lar proje. Bochs başlangıçta, BIOS, işlemci ve diğer x86 uyumlu donanımları taklit edebilen x86 mimarisi için kodlandı, basit algoritmalarla, ortamın geri kalanından izole edildi ve sonunda x86 mimarisi veya ana bilgisayar altında farklı işlemci algoritmalarını çalıştırma yeteneğini birleştirdi, bios ve çekirdek işlemci dahil (Itanium x64, x86_64, arm, mips, powerpc, vb.) ve uygulamanın çoklu platform (BSD, Linux, Windows, Mac, Solaris) olması avantajı ile.[1]
  • 1997
  • 1998
    • 15 Haziran 1998, Simics / sun4m şu adreste sunulur: USENIX '98, gösteri tam sistem simülasyonu Linux 2.0.30 ve Solaris 2.6'yı değiştirilmemiş gg (Unix): ed diskler. [3]
    • 26 Ekim 1998, VMware ABD Patenti 6,397,242 olarak verilen tekniklerine ilişkin bir patent başvurusunda bulundu [4]
  • 1999
    • 8 Şubat 1999, VMware, Intel IA-32 mimarisi için VMware Sanal Platformunu tanıttı.
  • 2000
  • 2001
    • 31 Ocak 2001, AMD ve Virtutech serbest bırakmak Simics / x86-64 ("Virtuhammer") x86 için yeni 64 bit mimariyi desteklemek için. [5] Virtuhammer, Linux dağıtımlarını ve Windows çekirdeğini ilkinden çok önce x86-64'e taşımak için kullanılır. x86-64 işlemci (Opteron ) Nisan 2003'te kullanıma sunuldu.
    • Haziran, Connectix, Windows için Virtual PC'nin ilk sürümünü piyasaya sürdü.[6]
    • Temmuz, VMware ilkini oluşturdu x86 sunucu sanallaştırma ürünü.[7]
    • Egenera, Inc., işlemci blade'in (pBlade) dahili diskinin, ağ arabirim kartlarının ve seri konsolun donanım sanallaştırmasını sağlayan İşlemci Alan Ağı (PAN Manager) yazılımını ve BladeFrame kasasını piyasaya sürdü.[8]
  • 2003
    • İlk açık kaynağın ilk sürümü x86 hipervizör Xen [9]
    • 18 Şubat 2003, Microsoft, Connectix Corporation'dan sanallaştırma teknolojilerini (Sanal PC ve "Sanal Sunucu" olarak adlandırılan yayınlanmamış ürün) satın aldı. [10]
    • 2003 sonunda EMC, VMware'i 635 milyon $ karşılığında satın aldı.
    • 2003 yılının sonlarında VERITAS, Ejascent'i 59 milyon $ karşılığında satın aldı.
    • 10 Kasım 2003 Microsoft Salıverme Microsoft Virtual PC Windows XP'ye geçişi kolaylaştırmak için makine düzeyinde sanallaştırma teknolojisi olan.
  • 2005
  • 2006
  • 2007
    • Linux çekirdeği ile entegre olan ve sadece linux sisteminde sanallaştırma sağlayan açık kaynak kvm piyasaya sürüldü, donanım desteğine ihtiyaç duydu.
    • 15 Ocak 2007 innoTek yayınlandı VirtualBox Açık Kaynak Sürümü (OSE), GNU Genel Kamu Lisansı (GPL ). Şuradan bazı kodları içerir: QEMU proje.
    • Güneş bültenleri Solaris 8 Konteyner Solaris 8 bilgisayarının Solaris 10 sistemindeki Solaris Container'a geçişini etkinleştirmek için - yalnızca SPARC için
  • 2008

1960 yılı

1960'ların ortalarında IBM'in Cambridge Bilim Merkezi gelişmiş CP-40, ilk versiyonu CP / CMS. Ocak 1967'de üretim kullanımına başladı. Başlangıcından itibaren, CP-40 uygulanması amaçlandı tam sanallaştırma. Bunu yapmak, gerekli adres çevirisini ve diğer sanallaştırma özelliklerini sağlamak için bir S / 360-40'ta donanım ve mikro kod özelleştirmesi gerektiriyordu. Deneyim CP-40 proje, gelişimine girdi sağladı IBM Sistemi / 360-67, 1965'te duyuruldu (kötü yıldızlı işletim sistemiyle birlikte, TSS / 360 ). CP-40 S / 360-67 için CP-67 olarak yeniden uygulandı ve Nisan 1967'ye kadar her iki versiyon da günlük üretim kullanımındaydı. CP / CMS desteklenmeyen programın bir parçası olarak kaynak kodu biçiminde IBM müşterileri için genel kullanıma sunulmuştur. IBM Type-III Kitaplığı, 1968'de.

1970 yılı

IBM, Sistem / 370 1970 yılında. CP / CMS kullanıcılar - olduğu gibi Sistem / 360 duyuru - dizi içermez sanal bellek. 1972'de IBM, seçeneğin tüm S / 370 modellerinde kullanılabileceğini duyurarak yön değiştirdi ve ayrıca birkaç sanal depolama işletim sistemini duyurdu. Sanal Makine / 370. 1970'lerin ortalarında, CP / CMS, VM ve başına buyruk VP / CSS çok sayıda büyük IBM ana bilgisayarında çalışıyordu. 80'li yılların sonunda, daha fazla VM lisansı olduğu bildirildi MVS lisanslar.

1999 Yılı

8 Şubat 1999'da VMware, ilk x86 sanallaştırma ürün, VMware Sanal Platformu, kurucularının daha önceki araştırmalarına dayanarak, Stanford Üniversitesi.

VMware Virtual Platform, tüm Konuk ortamlarının ana işletim sistemi dosya sistemi altında dosyalar olarak depolanmasını gerektiren Konuk / Ana İşletim Sistemi tasarımına sahip yazılım öykünmesine dayanıyordu.

2005 yılı

Ücretsiz masaüstü sanallaştırma

Önceden, VMware Workstation ürününün kullanımı için önemli bir lisans ücreti gerekiyordu. VMware yüksek kaliteli sanallaştırma teknolojisini herkese ücretsiz olarak sunmaya karar verdi. Sanal makineler oluşturma yeteneğini atladılar ve VMware iş istasyonuyla birlikte gelen hızlandırma araçlarını dağıtmadılar. Sanallaştırmanın tüketici uygulamalarını teşvik etmeye yönelik bu erken kurumsal oyun büyük ölçüde fark edilmedi.

2006 yılı

Bu yıl sanallaştırmanın yeni bir oyun alanı var uygulama sanallaştırma ve uygulama akışı.

2008 Yılı

VMware Salıverme VMware İş İstasyonu 6.5 beta, Windows ve Linux için Windows XP konuklarında DirectX 9 hızlandırılmış grafikleri etkinleştiren ilk program [12].

Genel Bakış

Genel bir bakış olarak, üç sanallaştırma düzeyi vardır:

  • Şurada donanım seviyesi, VM'ler birden çok konuk işletim sistemini çalıştırabilir. Bu en iyi, birden fazla işletim sistemi arasında ağ birlikte çalışabilirliği gerektiren test ve eğitim için kullanılır, çünkü yalnızca konuk işletim sistemleri -den farklı olmak ana işletim sistemi Yeterli CPU, RAM ve HDD alanı olduğu sürece, VM'ler kadar çok konuk işletim sistemi olabilir. IBM bunu 1990 civarında adı altında tanıttı mantıksal bölümleme (LPAR), ilk başta yalnızca ana bilgisayar alanında.
  • Şurada işletim sistemi seviyesi, yalnızca bir işletim sistemini sanallaştırabilir: konuk işletim sistemi, ana işletim sistemidir. Bu, birçok kişiye sahip olmaya benzer Terminal sunucusu masaüstünü kilitlemeden oturumlar. Dolayısıyla, bu her iki dünyanın da en iyisi, hızına sahip TS Kullanıcının yine de kontrol edebileceği bir sanal makine olarak masaüstüne tam erişim avantajıyla oturum kotalar CPU, RAM ve HDD için. Donanım seviyesine benzer şekilde, bu hala bir Sunucu Sanallaştırma her konuk işletim sisteminin kendi IP adresi olduğu, bu nedenle aşağıdaki gibi ağ uygulamaları için kullanılabilir: ağ sağlayıcısı.
  • Şurada uygulama seviyesi, herhangi bir konuk işletim sistemi olmadan doğrudan Ana İşletim Sisteminde çalışıyor, bu da kilitli bir masaüstünde olabiliyor. Terminal sunucusu oturum, toplantı, celse. Buna, ön ucu sanallaştıran Uygulama Sanallaştırma veya Masaüstü Sanallaştırma denir, Sunucu Sanallaştırma ise arka ucu sanallaştırır. Şimdi, Uygulama Akışı, uygulamaları doğrudan masaüstüne teslim etmeyi ve bunları yerel olarak çalıştırmayı ifade ediyor. Geleneksel olarak terminal sunucusu hesaplama uygulamalar yerel olarak değil sunucuda çalışıyor ve ekran görüntülerini masaüstüne aktarıyor.

Uygulama sanallaştırma

Uygulama sanallaştırma gibi çözümler VMware ThinApp, Yumuşaklık, ve Tetikleme uygulamaya özel dosyaları ve ayarları ana bilgisayar işletim sisteminden ayırmaya çalışın, böylece bunların kurulum yapmadan ve tam makine sanallaştırmasının bellek ve disk yükü olmadan az çok yalıtılmış sanal alanlarda çalışmasına izin verin. Uygulama sanallaştırma, ana işletim sistemine sıkı sıkıya bağlıdır ve bu nedenle diğer işletim sistemlerine veya donanıma çevrilmez. VMware ThinApp ve Softricity, Intel Windows merkezlidir, Trigence ise Linux ve Solaris'i destekler. Makine sanallaştırmanın aksine, Uygulama sanallaştırma kod öykünmesi veya çevirisini kullanmaz, bu nedenle CPU ile ilgili karşılaştırmalar hiçbir değişiklik olmadan çalışır, ancak dosya sistemi karşılaştırmaları bazı performans düşüşleri yaşayabilir. Windows'ta, VMware ThinApp ve Softricity temelde bir uygulama tarafından dosya sistemi ve kayıt defteri isteklerini yakalayarak ve bu istekleri önceden yüklenmiş yalıtılmış bir sanal alana yeniden yönlendirerek çalışır ve böylece uygulamanın yerel PC'de kurulum veya değişiklik yapmadan çalışmasına izin verir. VMware ThinApp ve Softricity, 1998 civarında bağımsız geliştirmeye başlamış olsa da, VMware ThinApp ve Softricity perde arkasında farklı teknikler kullanılarak uygulanmaktadır:

  • VMware ThinApp, bir uygulamayı, çalışma zamanının yanı sıra uygulama veri dosyalarını ve kayıt defterini içeren tek bir "paketlenmiş" EXE'de paketleyerek çalışır. VMware ThinApp’ın çalışma zamanı, Windows tarafından normal bir Windows uygulaması olarak yüklenir; buradan çalışma zamanı, hedef uygulama için Windows yükleyicisinin, dosya sisteminin ve kayıt defterinin yerini alır ve uygulama daha önce yüklenmiş gibi ana bilgisayarın birleştirilmiş bir görüntüsünü sunar. VMware ThinApp, ana uygulama için ilgili tüm API işlevlerinin yerini alır, örneğin uygulamaya sağlanan ReadFile API, işletim sistemine ulaşmadan önce VMware ThinApp'tan geçmelidir. Uygulama sanal bir dosyayı okuyorsa, VMware ThinApp isteği kendisi yerine getirir, aksi takdirde istek işletim sistemine aktarılır. VMware ThinApp, aygıt sürücüleri olmadan kullanıcı modunda uygulandığından ve önceden yüklenmiş bir istemciye sahip olmadığından, uygulamalar daha önce yükseltilmiş güvenlik ayrıcalıklarına ihtiyaç duymadan doğrudan USB Flash veya ağ paylaşımlarından çalıştırılabilir.
  • Softricity (Microsoft tarafından edinilen), işletim sistemine daha yakın bir düzeyde ring0'daki dosya talebini engellemek için aygıt sürücülerini kullanarak benzer bir prensipte çalışır. Softricity, Yönetici modunda bir istemci yükler ve bu daha sonra makinedeki kısıtlı kullanıcılar tarafından erişilebilir. Çekirdek düzeyinde sanallaştırmanın bir avantajı, Windows Yükleyicinin (EXE ve DLL dosyalarının yüklenmesinden sorumludur) yeniden uygulanmasına gerek olmaması ve daha az işle daha fazla uygulama uyumluluğunun elde edilebilmesidir (Softricity, çoğu büyük uygulamayı desteklediğini iddia eder). Ring0 uygulamasının bir dezavantajı, yükseltilmiş güvenlik ayrıcalıklarının kurulmasını gerektirmesidir ve çökmeler veya güvenlik kusurları, belirli bir uygulamaya izole edilmek yerine sistem genelinde meydana gelebilir.

Uygulama Sanallaştırma, tüm uygulama kodunu yerel olarak çalıştırdığı için, yalnızca ana işletim sisteminin sağlayabildiği kadar güçlü güvenlik garantileri sağlayabilir. Tam makine sanallaştırmanın aksine, Uygulama sanallaştırma çözümleri şu anda aygıt sürücüleri ve virüs tarayıcıları gibi ring0'da çalışan diğer kodlarla çalışmamaktadır. Bu özel uygulamaların çalışması için ana bilgisayara normal olarak yüklenmesi gerekir.

Yönetilen çalışma zamanları

Bazen sanallaştırma olarak adlandırılan başka bir teknik, standart bir taşınabilir yerel çalışma zamanı (diğer adıyla Yönetilen Çalışma Süreleri) kullanılarak taşınabilir bayt kodu yürütülmesidir. Bugün en popüler iki çözüm şunları içerir: Java ve .AĞ. Bu çözümlerin her ikisi de adı verilen bir süreci kullanır JIT Kodu sanal bir taşınabilir makine dilinden yerel işlemcinin yerel koduna çevirmek için (tam zamanında) derleme. Bu, uygulamaların tek bir mimari için derlenmesine ve ardından birçok farklı makinede çalıştırılmasına izin verir. Makineye taşınabilir uygulamaların ötesinde, bu tekniğin ek bir avantajı güçlü güvenlik garantilerini içerir. Tüm yerel uygulama kodu, kontrol ortamı tarafından oluşturulduğundan, yürütmeden önce doğruluk (olası güvenlik açıkları) açısından kontrol edilebilir. Programlar, söz konusu ortam için orijinal olarak tasarlanmalı veya bu yeni ortamlarda çalışmak üzere manuel olarak yeniden yazılmalı ve yeniden derlenmelidir. Örneğin, Windows / Linux yerel uygulaması .NET veya Java üzerinde otomatik olarak dönüştürülemez veya çalıştırılamaz. Taşınabilir çalışma zamanları, çok çeşitli donanımlara yönelik uygulamalar için ortak bir API sunmaya çalıştığından, uygulamalar işletim sistemine özgü özelliklerden daha az yararlanabilmektedir. Taşınabilir uygulama ortamları ayrıca optimize edilmiş yerel uygulamalardan daha yüksek bellek ve CPU ek yüklerine sahiptir, ancak bu genel giderler, tam makine sanallaştırmasına kıyasla çok daha küçüktür. Java gibi Taşınabilir Bayt Kodu ortamları, çok çeşitli donanımların bulunduğu sunucuda çok popüler hale geldi ve gerekli işletim sistemine özgü API kümesi çoğu Unix ve Windows çeşidinde standarttır. Yönetilen çalışma zamanları arasında bir başka popüler özellik, bellekte kullanılmayan verileri otomatik olarak algılayan ve geliştiricinin açıkça serbest (ing) işlemleri çağırmasına gerek kalmadan belleği geri alan çöp toplama işlemidir.

Uygulama sanallaştırmanın tarafsız görünümü

Geçmişin endüstri önyargısı göz önüne alındığında, daha tarafsız olmak için, Uygulama Düzeyine bakmanın iki yolu daha vardır:

  • İlk tür uygulama paketleyicileri (VMware ThinApp, Softricity) diğeri ise uygulama derleyicileri (Java ve .NET). Bir paketleyici olduğu için, kaynak kodunu değiştirmeden uygulamaları akışa almak için kullanılabilirken, ikincisi yalnızca kaynak kodunu derlemek için kullanılabilir.
  • Buna bakmanın başka bir yolu da Hiper yönetici bakış açısı. İlki, "hipervizör" Kullanıcı modudiğeri ise "hiper yönetici" dir. çalışma zamanı modu. Hiper yönetici tırnak içine alındı, çünkü her ikisi de sistem çağrılarını farklı bir modda yakaladıkları için benzer davranışa sahipler: kullanıcı modu; ve çalışma zamanı modu. Kullanıcı modu, çekirdek moduna geçmeden önce çalışma zamanı modundan sistem çağrılarını keser. gerçek hiper yönetici yalnızca sistem çağrısını kullanarak müdahale etmesi gerekir hypercall çekirdek modunda. Umarım, Windows bir Hiper yönetici, Sanal makine monitörü JRE ve CLR'ye bile ihtiyaç olmayabilir. Dahası, Linux söz konusu olduğunda, belki JRE Hiper Yönetici'nin üzerinde çalışacak şekilde değiştirilebilir. yüklenebilir çekirdek modülü koşmak çekirdek modu, kullanıcı modunda yavaş eski çalışma süresine sahip olmak yerine. Şimdi, eğer tepesinde çalışıyorsa Linux Hiper Yöneticisi doğrudan, o zaman çağrılmalıdır Java OS, sadece bir başkası değil çalışma zamanı modu JIT.
  • Mendel Rosenblum[2] aradı çalışma zamanı modu Ağustos 2004'te yüksek seviyeli bir sanal makine. Ancak, o sırada, kullanıcı modunda sistem çağrılarını yakalayan ilk tür sorumsuz ve düşünülemezdi, bu yüzden makalesinde bundan bahsetmedi. Bu nedenle Uygulama Akışı 2004'te hala gizemliydi.[3] Şimdi, ne zaman JVM, artık Üst düzey dil sanal makineleri değil, Java OS koşmak Linux Hiper Yöneticisi, daha sonra Java Uygulamaları, Windows Uygulamalarında olduğu gibi yeni bir oyun alanına sahip olacaktır. Yumuşaklık.
  • Özetle, ilki, İkili kod böylece olabilir bir kez kurulur ve her yerde çalışırdiğeri ise Kaynak kodu kullanma Bayt kodu veya Yönetilen kod böylece olabilir bir kez yazılır ve her yerde çalışır. Her ikisi de aslında şu ikiz taşınabilirlik sorunlarına kısmi çözümlerdir: uygulama taşınabilirliği; ve kaynak kodu taşınabilirliği. Belki de iki sorunu tek bir tam çözümde birleştirmenin zamanı gelmiştir. hipervizör seviye çekirdek modu.

Daha fazla gelişme

Microsoft satın almak Yumuşaklık açık 17 Temmuz 2006 ve popüler hale geldi Uygulama Akışı, geleneksel Windows uygulamalarına dağıtım kolaylığı açısından Web ve Java uygulamaları ile eşit bir oyun alanı sağlar (yani daha fazla kurulum gerekmez, yalnızca tıklayın ve çalıştırın). Yakında her JRE ve CLR çekirdek modu sürücüleri yüklenmeden sanal olarak kullanıcı modunda çalışabilir, böylece birden fazla sürüm olabilir JRE ve CLR eşzamanlı olarak RAM'de çalışıyor.

Entegrasyonu Linux Hiper Yöneticisi içine Linux çekirdeği ve bu Windows Hiper Yöneticisi içine Windows Çekirdeği yapabilir rootkit gibi teknikler filtre sürücüsü[4] eski[başarısız doğrulama ]Linux Hypervisor hala Xen'i beklediğinden bu biraz zaman alabilir. Hiper yönetici ve VMware Hiper yönetici olmak birbiriyle tam uyumlu gibi Oracle sabırsızlıkla kapıyı vurmak Hipervizörün Linux Çekirdeğine girmesine izin vermek, böylece ileride tam gaz onunla Grid Computing hayat. O esnada, Microsoft Xen ile tamamen uyumlu olmaya karar verdik Hiper yönetici[13]. Tabii ki IBM, yalnızca boş durmak x86 sunucuları için VMware ile çalıştığı ve muhtemelen Xen'in x86'dan Güç ISA açık kaynak kullanarak rHype Şimdi, yapmak için Hiper yönetici dolu bir eve parti, Intel VT-x ve AMD-V konuk işletim sisteminin değiştirilmeden çalıştırılabilmesi için paravirtualization'ı kolaylaştırmayı ve hızlandırmayı umuyoruz. [güncellenmesi gerekiyor ][açıklama gerekli ]

Ayrıca bakınız

Referanslar

  1. ^ Hess, Ken (2011-08-25). "Kevin Lawton ile Boch'ların içinde ve dışında düşünmek". zdnet. Alındı 2015-12-03.
  2. ^ Sanal Makinelerin Reenkarnasyonu Arşivlendi 2004-08-15 Wayback Makinesi ACM Sırası vol. 2, hayır. 5 - Temmuz / Ağustos 2004 - Mendel Rosenblum, Stanford Üniversitesi ve VMWare tarafından
  3. ^ Uygulama akışı kimse var mı?Arşivlendi 2007-09-28 de Wayback Makinesi Brien M. Posey MCSE, ZDNet Asya'ya Özel 14 Nisan 2004 Çarşamba 15:55.
  4. ^ Dosya Sistemi Filtre Sürücüsü

Dış bağlantılar