Windows 7 Linux İçinde Ana İşletim Sistemi (Grafik ve Video için esp) Çalıştırmak Kadar İyi mi?


10

Yeni Linux kullanıcısı. Windows 7'yi VMPlayer üzerinden Ubuntu / Linux Mint içinde çalıştırmanın Windows 7'yi ana işletim sistemi ile çalıştırmakla aynı olup olmayacağını merak ediyordum.

"Aynı" ile özellikle:

  • Grafikler ve video oluşturma kalitesi de aynı derecede iyi olacak mı?

  • HDMI veya WiDi kullanımı gibi herhangi bir donanım sorunu olacak mı?

  • Uygulamalar yeterli RAM tahsis edildiği sürece sorunsuz çalışır mı?

Fark edilebilir bir fark olmaması için makinenin ne kadar güçlü olması gerekir? Makinemin özellikleri: http://www.gadgetspecs.info/2011/07/asus-u46e-bal5-review-of-specs-and.html . Ayrıca bir SSD yükledim.

Arka plan: Şu anda Windows 7 içinde Linux Mint ve Ubuntu ile tam tersi ayarlandım ve video kalitesinin Windows 7'deki kadar iyi olmadığını görüyorum.

Yanıtlar:


11

Aşağıdaki cevabıma çok şey ekledim, ancak orijinal cevabımı referans için sağlam tuttum.

TL: DR: Sanal Makineler bir araçtır ve bir işletim sistemini bir diğerinde kullanma kolaylığını sunarken, sistemi tam olarak kullanabilmek için bilgisayarın birincil kullanımınızın ne olacağının çok fazla farkında olmalısınız. .

Sorunuz, sanal bir makine kullanmanın grafik ve arayüz performans olasılıklarına güçlü bir şekilde eğimli görünüyor ve bu yüzden buradaki olasılıklar hakkında cevap vereceğim.

Temel sorun, konuk işletim sistemlerinin cihazlara erişimini güvenli bir şekilde yönetmek için (ve böylece konuk işletim sisteminin ana bilgisayar üzerinde ezilmesini ve bir şeyleri kırmasını önlemek için) kullanmak istediğiniz tüm cihazların "taklit edilmesi" gerektiğidir.

Bunun anlamı, konuk işletim sisteminizin görebileceği grafik kartının ana işletim sisteminizin görebileceği grafik kartı olmamasıdır . Konukta 3B oluşturma gibi özellikleri etkinleştirebilirsiniz, ancak bu konukunuzda, 3B'nin orada oluşturulması için istekleri ana bilgisayara kadar güvenli bir şekilde ileten bir ara sürücü tarafından ele alınır.

Desteklenen bir HDMI ekrana güvenli bir şekilde oynatmak için gerekli olanlar gibi özelliklerin konuk grafik kartı sürücüleri tarafından taklit edilmesi çok şüphelidir ve bu muhtemelen işe yaramayacaktır.

Temel olarak, ana makinenizde donanım desteği gerektiren herhangi bir şeyin, konuklarınızda hiç iyi çalışmaz. WiDi'nin nasıl çalıştığını bilmiyorum, ancak bir televizyonda paylaşmak için video kartı belleğinize doğrudan erişim gerektiriyorsa, ana bilgisayar (Linux) işletim sisteminizden kullanmadığınız sürece çalışmaz.

Bunun dışında performans açısından bir VM, ana işletim sistemi olsaydı ne olabileceğine yaklaşabilir, ancak sabit sürücü cihazına erişim veya ana bilgisayarın kullandığı diğer kaynaklarla çekişme konusunda her zaman cezalar olacaktır.

Başlangıçta...

Başlangıçta bir bilgisayarımız vardı, bu bilgisayar sadece bir işletim sistemi çalıştırabiliyordu. Bu işletim sistemi yalnızca belirli bir işlemci ve makinedeki diğer donanımlarda iyi çalışma eğilimindeydi, diğer işletim sistemleri ise yalnızca mevcut yerel donanımda kötü bir şekilde çalışabiliyordu.

İnsanların yazılımı belirli bir platform için başka bir platformda kullanabilmeleri için (örneğin, Commodore Amiga'da Pre-OSX MacOS yazılımını kullanarak) sadece "yazılımı kurmaktan" daha fazlası gerekir. Bu iki makine tamamen farklı işlemci mimarileri ve yardımcı donanımlar kullandı. Bir işletim sisteminin başka bir makinenin donanımında çalışmasının hiçbir yolu yoktu.

emülasyon

Öykünme Sanallaştırmanın kuzeni gibidir, aslında birbiriyle ilişkilidir ve benzer hedefleri vardır. Biri diğeri olduğu gibi başlar.

Bu farklı donanım platformlarının anlamı, makinenizde başka bir işletim sisteminden bir yazılım parçası kullanmak istiyorsanız, o zaman makinenin nasıl çalıştığını öğrenmek için o makinenin her şeyin analiz edilmesi ve daha sonra donanım parçasıyla aynı şekilde. Bu her parça, işlemci, grafik denetleyicisi, bellek denetleyicisi, her şey için yapılmalıdır .

Sonra tüm bu parçalar bir araya getirilir ve her parça biraz donanım taklit ettiği için buna taklit makine denir . Daha sonra bu taklit makinenin üstünde bir işletim sistemi çalıştırıyoruz.

Sorun şu ki, bu yaklaşım yavaş. Orijinal donanımın hızının 1 / 10'unu başarabilirseniz oldukça şanslısınız. Taklit edilen bilgisayarı tam hızda herhangi bir yerde çalıştırmak için tam anlamıyla bir hedef makineye göre birkaç kat daha hızlı bir makineye ihtiyacınız vardı.

Peki ne değişti?

İşte harika bir şey. Gerçekten pek değil. Tek büyük değişiklik, donanım platformlarının standartlaştırılmasıydı. Her işletim sistemi ve işletim sistemlerinin tümü tek bir standart platforma taşındı veya bu platformda oluşturuldu.

Bugünlerde bir Mac oluşturan bileşenler, genel olarak bir PC'yi oluşturan bileşenlerdir. Linux her zaman PC donanımında çalıştı, bu yüzden yeni bir şey yok.

Yazılımı bir işletim sisteminden başka bir işletim sisteminde çalıştırmak istiyorsanız, emülasyon uzun süre normdaydı. Ya da herhangi bir işletim sistemini istediğiniz gibi çift önyükleme yapabilir ve çalıştırabilirsiniz, ancak Linux'ta kodlamadan Windows'ta oyun oynamaya gitmek istiyorsanız, bu acı verici ve can sıkıcı bir hale geldi.

Ve sonra..

Temel donanım aynı olduğu için neden her iki işletim sistemi de onu paylaşamıyor?

Sonunda QEMU ve WiNE ve benzeri yazılım çözümlerini bulduk. QEMU, makinelerin sert emülasyonu için uzun zamandır favoriydi, WiNE Windows uygulamalarının OS API çağrılarını yakalayıp yamalayarak ve kodun işlemcide yerel olarak çalışmasına izin vererek Linux'ta çalışmasına izin verdi.

QEMU, WiNE'ye benzer bir şey yaptı, ancak çok daha düşük bir seviyede yaptı. Hala etkili bir emülatördür, ancak yapılan her donanım çağrısı için bir "yama ve yönlendirme" yöntemi kullandılar, böylece herhangi bir çağrı kendi taklit donanım platformuna gitti. çünkü bir programdaki çoğu çalışma kodu aslında donanım çağrılarını içermiyordu (çoğu, sonuçları görüntülemek için sonunda bir çağrı olan basit hesaplama akışlarıdır).

Bu, şimdi gerçekten taklit edilmeyen makinedeki hemen hemen her program için ani bir hız artışı ile sonuçlandı . Programlar, makinenin ne kadar iyi taklit edileceğinden ziyade "sanal" donanıma ne kadar eriştiklerine bağlı olarak yavaşlamalarla koştu. Hızın 1 / 10'unda koşmak yerine, şu anda doğal olarak neredeyse aynı hızda çalışıyorlardı.

Peki, şimdi işlemcide çalışıyorsak, grafik kartım neden çalışmıyor?

Bu yeni Sanal Makinelerdeki tek sorun, doğası gereği bir İşletim Sisteminin , bilgisayardaki tüm donanımları doğrudan denetlediğini varsaymasıdır , böylece bellek yönetimi ve donanıma erişimi denetleme gibi özellikler sağlayabilirler.

Bunun anlamı, Sanal Makinelerin en azından yöntemde öykünmeden tamamen uzaklaşamamasıdır. Yazılımdaki belirli işlevleri taklit etmeleri gerekiyor, örneğin bir grafik kartı veya ağ kartı, sanal makinede çalışan işletim sistemine sunulmalıdır, böylece "Misafir" işletim sistemi , bu donanım üzerinde tam denetime sahip olduğunu düşünür . Ana işletim sistemi (güvenlik gerekliliklerine göre) kendini donanıma doğrudan erişen programlara karşı korumalıdır ve bu da konuk işletim sistemine kısıtlamalar getirir.

Bunu yapmak için, bilgisayardaki her şey için "sanal" donanım parçalarını taklit etmek zorundalar. Tüm kod şimdi işlemci tarafından yerel olarak çalıştırılıyor, bu yüzden yavaş değil, ancak bu sanal donanım parçalarının her birinin yazılımda yazılması gerekiyor ve bu hem performansta küçük bir ceza hem de işlevsellik açısından büyük bir ceza gerektiriyor .

Bunun anlamı, sanal grafik kartınızın gerçek grafik kartınızla aynı özelliklere sahip olmaması ve sahip olmamasıdır . En iyi performansı elde etmek için, en çok kullanılan özellikleri desteklemek üzere sanal donanım yazılabilir ve artık sanal makinede 3B oluşturma mümkündür, ancak yine de gerçek donanımla aynı değildir.

Bunun anlamı, ana işletim sisteminin en iyi donanım seçeneklerini, konuk işletim sisteminin genel donanım seçeneklerini almasıdır .

Sanal bir makine gerçek donanım kadar iyi değildir, sadece bir sistemden diğerinde araçlarla çalışmayı kolaylaştıran bir araçtır.

Peki ben ne yapacağım?

Bilgisayarınızın ana amacının ne olmasını istediğinizi seçmelisiniz.

En yeni oyunları yüksek güçlü grafik kartınızda oynamak ve aynı grafik kartlarını 400 "HDMI TV'nizde tam 1080p filmler oynatmak için kullanmak istiyorsanız, ancak sadece arada sırada bazı Linux programlama yapmak istiyorsanız, Windows en iyi bahsiniz olabilir Linux ile konuk olarak.

Linux çekirdeği üzerinde çalışmak, bilgisayarınızdaki aygıtlar için donanım sürücüleri yapmak ve bazen Windows için bazı yazılımlar yazmak ve "standart" bir Windows sisteminin iyi bir yaklaşımıyla test etmek istiyorsanız, Linux ile daha iyi olabilirsiniz konak ve misafir olarak Windows.

Bir Mac'in kullanım kolaylığını seviyorsanız, ancak Windows için programlamak istiyorsanız (veya yalnızca Windows olan istediğiniz bir yazılım paketi varsa), bu da bir seçenektir.

Linux'un oyun oynayamayacağını ya da MacOS'un programcılar için olmadığını, çünkü bu bir yalan paketi olacağını söylemiyorum. Sadece hangi OS'nin yapmak istediğiniz şeye daha uygun olabileceğini söyleyebilen kişi sizsiniz .

Gerçekten makinenizin ne yapmak istediğinizi anlamak zorunda ilk . Ancak o zaman sanal bir makinenin sizin için neler yapabileceğini öğrenebilirsiniz.

Sorularınızı cevaplamak için:

Will the graphics and video rendering quality will be just as good?

Hayır. Taklit grafik kartı, ana grafik kartının bazı özelliklerini sağlayabilir, ancak muhtemelen donanım video hızlandırma veya CUDA programlama özellikleri gibi karmaşık özellikleri desteklemeyecektir.

Will there be any hardware issue such as using HDMI or WiDi?

Yine, bu ekstra özellikler, mevcut olan herhangi bir taklit / sanal donanımın bir özelliği olmayacaktır.

Will applications run just as smoothly as long as enough RAM is allocated?

Çoğu uygulamalar (çok uzun değil mi özgü donanım özellikleri gerektiren gibi) çalışır neredeyse ana makineyi veya hafıza konuk ya açlıktan yok sürece, olabildiğince hızlı gerçek donanım üzerinde olduğu gibi.


Yanıtınız için +1 teşekkür ederiz. Sorumu "eğikliği" yansıtacak şekilde değiştireceğim.
Kamil Sindi

8

Sanal Makineler (VM'ler) her zaman ana bilgisayar sisteminden daha yavaş çalışır, çünkü konuk sistem ana bilgisayardan ana bilgisayar sisteminde çalışan bir program olduğu için grafik kartınız, sabit diskleriniz, bellek vb. donanımın doğrudan kontrolü yoktur. Ancak, donanımınız işleyebilirse, yavaşlık çok fark edilmeyebilir.

Bunun nedeni, işlemcinin bir kerede yalnızca bir komut yürütebilmesidir. Programlar genellikle binlerce veya milyonlarca makine talimatından oluşur. Makine başladığında, Ana Önyükleme Kaydını (MBR) bir önyükleyici için tarar. Önyükleyici daha sonra çekirdeği başlatır. Çekirdek, tüm donanımı kontrol eden ana işlemdir. Birden fazla görev arasında geçiş yapan çoklu görev, belirli bir anda yalnızca bir tane yürütülmesine rağmen, aynı anda birden fazla program çalıştırmamızı sağlar. Çoğu işlemci zamanlarının sadece% 20'sini matematiksel hesaplamalar yaparak geçirir. Çok çekirdekli işlemciler, başka bir çekirdeğin matematik yapmasını beklerken bir sonraki komutun alınmasına izin verir, boşta kalma süresini azaltır ve sistemi önemli ölçüde hızlandırır. Çekirdeğe ek olarak, kabuk (kullanıcılara bir arayüz sağlar),

Sanallaştırma yazılımı, diğer tüm uygulamalar gibi çekirdek tarafından yönetilen bir uygulamadır. Bu nedenle, VM'nin çekirdeği, herhangi bir şey yapması için ana bilgisayar çekirdeğinden izin beklemelidir ve sık sık kesilecektir. Ana bilgisayar sisteminde ne kadar çok işlem yapılırsa, VM'ye ayrılacak yürütme süresi o kadar az olur, bu da onu yavaşlatır. VM'ler genellikle fiziksel makinelerden üç ila dört kat daha yavaş çalışır.

Oyunlar ya da bunun gibi bir şey yapacaksanız, bol miktarda RAM ve mümkün olduğunca çok çekirdek zamanı ayıracağım. Birden fazla işlemci yardımcı olur. Ancak, çok fazla RAM ayırmak, verilere erişmek daha uzun sürdüğü ve ana sistemde aşırı sabit disk önbelleğe alınmasına neden olabileceğinden sistemi yavaşlatacaktır. Ancak öte yandan, çok az konuk üzerinde aşırı miktarda sabit disk önbellekleme neden olur. Windows kaynaklar için çok aç olduğundan, en az 2 ila 4 GB RAM ayıracağım, ancak RAM'inizin yarısından fazlasını VM'ye ayırmam.

Çok yavaş yanıt verirse, daha iyi bir seçenek çift önyükleme olabilir. Bu şekilde her ikisi de sistem kaynaklarını tam olarak kullanabilecektir, ancak maalesef bir seferde yalnızca birini çalıştırabilirsiniz. Bunu yaparsanız, muhtemelen en az üç bölüm isteyeceksiniz: biri Linux için, biri Windows için ve diğeri dosyalarınız için (veya daha fazla).


Fark edilebilir bir fark olmaması için makinenin ne kadar güçlü olması gerektiği hakkında bir fikrin var mı?
Kamil Sindi

Windows'u bilgisayarımda yalnızca ana bilgisayar olarak çalıştırdığımdan emin değilim. Benim tavsiyem denemek ve yeterince iyi çalışıp çalışmadığını görmek olacaktır. Değilse ikili önyükleme kullanırdım. Kişisel deneyimim, Wordperfect gibi şeylerin yeterince hızlı olduğu, ancak oyunların sanal makinelerde kötü performans gösterdiğidir.
ctype.h

Sisteminize özgü ayrıntılar nelerdir? Ne kadar RAM'iniz var? İşlemcinizin frekansı ve çekirdek sayısı nedir? Donanım Destekli Sanallaştırmayı (HAV) destekliyor mu?
ctype.h

Çok ilginç bir genel bakış için +1. Teknik özelliklerim 8GB RAM, Katı Hal Sürücüsü ve Intel Core i5-2410M (2,3 GHz'de saat hızı). HAV konusunda emin değilim. Çok yeni bir model (2011).
Kamil Sindi

6

Yani. VMWare Player Tip 2 Hipervizördür. Bu, konukların işletim sisteminin üstünde oturduğu anlamına gelir. Tip 1 Hipervizörde, sanallaştırma platformu donanımın üstünde bulunur. VMWare Player'ın Tip 2 Hipervizöründe olması, Tip 1'deki bir şeyden daha yavaş çalışmasıdır. Ancak, VMWare Player, VM'niz için donanım gereksinimlerinizi özelleştirme olanağı sunar. Böylece, 4GB Ram'a sahip dört çekirdekli bir işlemciye sahip bir sisteminiz varsa, verimli çalışan bir VM'ye sahip olmak için 1 veya 2 çekirdek ve daha sonra 2GB RAM (Windows x64 için min. Req) sunmayı göze alabilirsiniz.

Örneğin, bir XPS 14z var ve üzerinde Windows 7 var. Bir Windows 7 VM de çalıştırıyorum - 2GB RAM ve 2 işlemci çekirdeği (4'ümün) ayırdım.

Bu yüzden üzerinde programlar çalıştırdığımda (Notepad ++, Transwiz, Outlook, Word, Excel vb) belirgin bir yavaşlama yoktur. Üzerinde yoğun yazılım (Photoshop vb.) Çalıştırmayı hiç denemedim. Bu nedenle, ne için kullandığınıza bağlı olarak - tip 2 bir hipervizör ihtiyaçlarınıza uygun olabilir veya olmayabilir. Oyun oynamak için kullanmak istiyorsanız, oyuna bağlı olacaktır. Üzerinde birkaç Steam oyunu oynadım ve herhangi bir sorun yaşamadım (Fedora makinemden bazen VM'ime RDP) ama gerçekten oyunun gereksinimlerine bağlı olacak. Her anlamda oyun oynamak için, bunu yapmak için bir VM kullanmam. W7 makinemde oyun oynuyorum ve daha sonra başka şeyler yapmak için bir VM (Fedora, aslında) kullanıyorum. En yoğun uygulamaların donanıma ilk kez erişmesini istiyorsunuz.


1

Bu yüzden Windows 7'yi VMWare Player ile Linux Mint 12'ye yükledim. Windows 7'nin Linux Mint içindeki video görüntüsü, ana işletim sistemi olarak Windows 7'den daha kötüdür. Hiçbir şey yapılandırmadım ve avi dosyalarının video görüntüsünü daha iyi hale getirmek için yapılandırılacak bir şey olup olmadığını bilmiyorum.

8GB bellek makinemde hızlı uygulama çalıştırmanın hızını buldum. Bu bir sorun değildi. Bununla birlikte, video veya fotoğraf düzenleme gibi süper bellek yoğun bir şey denemedim. Sadece normal Office uygulamaları.


Sanal makineniz için her zaman daha fazla CPU, RAM veya Video belleği ayırabilirsiniz.
iglvzx

1

VM teknolojisindeki sorun, söz konusu belleği kullanarak gerçek bir işletim sistemi çalıştırıyorsanız fiziksel belleğinizi aynı şekilde ele alamamasıdır. VM görüntüsü, her iki işletim sistemini aynı anda çalıştıramayacağınız aynı fiziksel adresleme alanını kullanarak çalıştırıldıysa mantıksal bellek adresleme kullanır. Modern VM'ler% 90-% 95 kaliteli oyun bile söyleyebileceğiniz uzun bir yol olsa da, oyunlarınızı tam hızda çalıştırma yeteneğinden yoksundurlar. Bu% 90-% 95, bilgisayar belleğinizin fiziksel adreslemesine karşı mantıksal adreslemeye yöneliktir. Artık sadece bellek adresleme / ayırma argümanını kapsadığına göre, diğer sorun Windows'un DirectX'i kullandığı ve VMware dahil hiçbir VM yazılımının en son DX'in herhangi biri için tam desteğe sahip olduğunu bildiğim kadarıyla. DX 9'un ötesinde bir şey kullanırsanız, hemen hemen vidalanmış olursunuz.

Linux'ta QEMU muhtemelen oyun oynamak için en iyisidir!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.