İçeriğe atla

Ptlsim

Ptlsim
Geliştirici(ler)Matt T.Yourst
Güncel sürüm3.0 / 14 Mart 2009
TürSimulasyon Yazılımı
LisansGNU Özgür Belgeleme Lisansı 2.0
Resmî sitesiwww.ptlsim.org

PTLsim, x86 işlemcilerinin iç yapısını taklit eden bir benzetimliktir. Intel x86 programlarının gerçek bir işlemcide nasıl çalışacağını denemek ve mikroişlemcinin iç yapısında yapılan değişikliklerin ne tür etkiler yaratacağını gözlemek amacıyla kullanılır.

Tarihçe

PTLsim Matt T.Yourst tarafından başlangıcı 2001'e dayanan bir süreçte tasarlanmış ve geliştirilmiştir. Esas PTLsim kod temeli, düzensiz işlemci modeli de dahil olmak üzere, 2003'ten beri aktif olarak geliştirilmekte ve belli başlı yüzlerce üniversite, endüstri araştırma laboratuvarları ve çeşitli tanınmış mikroişlemci sağlayıcılarına ek olarak Binghamton’daki New York Eyalet Üniversitesi’ndeki işlemci tasarım araştırma grubu tarafından kullanılmaktadır. PTLsim mikroişlemcinin, araştırmacılarının çağdaş ve daha geniş çapta kullanılan, rahatlıkla ulaşılan donanım uygulamalarıyla bir komut setine (x86 ve x86–64) geçmesine yardım etmesi amaçlanmaktadır. Böylece sadece Alpha veya MIPS tabanlı komut setlerini destekleyen simülasyon araçlarıyla takılıp kalmış araştırmacılar için yeni bir fırsat sağlanmış olunmuştu. PTLsim yazılımı ve el kitabı GNU Genel Kamu Lisansı sürüm 2 altında lisanslı bedava yazılımlardır.

Giriş

PTLsim x86 ve x86–64 komut setleri için en modern çevrim hatasız mikroişlemci simülatörü ve sanal makinedir. PTLsim, düzensiz bir x86–64 uyumlu, CPU’daki tam-hızlı doğal uygulamalardan tüm anahtar boruhattı yapılarının RTL seviye modellerine kadar inen işlemci çekirdeğini modern bir superscalar olarak modeller.

Buna ek olarak, tüm önbellek hiyerarşisi, bellek altsistemi ve destekleyen donanım araçları gerçek çevrim doğruluğuyla modellenir. PTLsim Pentium 4+, Athlon 64 ve bütün uzantılarla benzer makinelerin tam x86–64 komut setlerini destekler (x86–64, SSE/SSE2/SSE3, MMX, x87). PTLsim günümüzde gerçek x86 mikro mimarilerini destekleyen kamuya açık tek doğru çevrim modelleme aracıdır ve çoğu çevrim hatasız simülatörden çok farklıdır.

Çünkü simüle ettiği platformda çalışır (bir x86 or x86–64 makinesi, tipik olarak Linux çalıştırır). PTLsim’in çalışan kullanıcı koduna tamamen şeffaf olarak herhangi bir zamanda düzensiz simülasyon modu ve doğal x86 veya x86–64 moduna geçmesi ve bu modlardan çıkması mümkündür. Bu da kullanıcıların kullanıcı kodunun ilginç olmayan kısımlarıyla uğraşmadan küçük bir kısmını hızlıca “profile” etmelerine izin verir ve gerçek bir referans makinesiyle simülasyon arasındaki ıraksama noktasını bularak otomatik hata ayıklamayı mümkün kılar. Klasik sürüm herhangi bir 32-bit veya 64-bit tek thread'li userspace Linux uygulamasını çalıştırır.

PTLsim altında tipik benchmarklardan grafik uygulamalarına ve network sunucularına kadar geniş aralıktaki programları başarılı bir şekilde çalıştırılmıştır. PTLsim/X yalın donanım üzerinde çalışır ve tam sistem x86–64 simülasyonu, çoklu-işlemci ve çoklu-parçacık desteği, kontrol noktaları, çevrim hatasız sanal araç zamanlama modelleri, kararlı zaman açılımı ve daha birçok özelliği PTLsim'in tasarımında var olan hız ve hatasızlıktan ödün vermeden sağlamasına izin vererek Xen hipervizörüyle bütünleşir. PTLsim/X her Xen-uyumlu işletim sisteminin simülasyon altında koşmasını mümkün kılar; bu şekilde başarılı bir şekilde rastgele Linux dağıtımlarını ve standart endüstri uygulamalarıyla benchmarkları PTLsim/X ile boot edilir.

Muadili simülatörlerle karşılaştırıldığında, tam çevrim hatasız düzensiz simülasyon modunda çalışırken bile PTLsim oldukça yüksek performans sağlamaktadır. Kapsamlı ayarlama sırasında, önbellek profili ve x86 belirli hızlandırılmış vektör işlemleri ve komutlarının kullanımında, PTLsim geleneksel araştırma simülatörleriyle karşılaştırıldığında simülasyon zamanını belirli ölçüde keser. En iyilenmiş çekirdekle bile, PTLsim en iyilenmiş C++ model sınıflarının ve senkronize mantık tasarımına uygun hale getirilen kütüphanelerinin kullanımı sırasındaki deneylerin kolaylığı için belirgin ölçüde esnekliğe izin verir.

PTLSim’in Sağlanması

PTLsim kaynak kodu birkaç sürüm olarak dağıtılır:

En Son Sabit Sürümü https://web.archive.org/web/20110724114014/http://www.ptlsim.org/ptlsim-20090314-r229.tar.bz2 adresinden sağlanabilir. (PTLsim'in tüm test takımlarını geçen en güncel sürümüdür.)

Geliştirme SnapShotlarına https://web.archive.org/web/20110724113234/http://www.ptlsim.org/ptlsim-snapshot.tar.bz2 adresinden ulaşılabilir.

Geliştirme görüntüleri PTLsim'e her birkaç günde bir güncelleme ve bug düzeltmeleri olarak yapılır.

Not: Bu dosyalar gzip değil bzip2 kullanılarak sıkıştırılırlar. Dosyaları herhangi bir Linux sistemine çıkarmak için “tar jxvf filename.tar.bz2” komutu kullanılır.

Aynı PTLsim kod tabanı hem standart 32-bit x86 hem de 64-bit x86–64 üzerine temellendirilir. PTLsim'in oluşturulmasında ve çalıştırılmasında karışıklıktan kaçınmak için, PTLsim Kullanıcı Kılavuzu ve Referansı'nın “Getting Started” kısmını okunması tavsiye edilmektedir.

git Erişimi

PTLsim'e Linux kerneli ve daha birçok proje için kullanılan sürüm kontrol sistemi git aracılığıyla da ulaşılabilir. Otomatik olarak güncellendiğinden PTLsim'i elde etmek için önerilen bir yoldur.

Mevcut PTLsim git kaynaklarına https://web.archive.org/web/20110130063301/http://www.ptlsim.org/git/ adresinden göz atılabilir.

En son sabit PTLsim kaynak kodunu gözden geçirmek için aşağıdaki satırın çalıştırılması gerekir:

git clone git://git.ptlsim.org/ptlsim-stable.git

NOT: Bazı güvenlik duvarları git indirmelerine müdahale edebilir. Problemle karşılaşıldığında

git clone http://git.ptlsim.org/git/ptlsim-stable.git[] 

komutu çalıştırılmalıdır.

Yukarıdaki sabit veya geliştirme tar.gz paketleri indirilse bile, indirilen sürümü “git pull” u çalıştırarak her zaman son geliştirme sürümüne çevirmek mümkündür.

PTLsim geliştiricileri ssh'da git clone git.ptlsim.org:/project/git/ptlsim-stable.git. kullanarak direkt olarak repo'ya erişebilirler. PTLsim daha önce “Subversion (SVN)” sürüm kontrol sistemi olarak kullanmaktaydı. Ancak onaylanmamış SVN kaynağı artık kullanılmadığı için bundan böyle git kaynağını kullanmak daha doğrudur. SVN sunucusu yakın zamanda kapatılacaktır.

PTLsim 3.0 KVM/QEMU Geliştirme Sürümü

KVM/QEMU üzerine dayalı ve çığır açan birçok yeni özellik sunan PTLsim 3.0 başlangıç sürümü çıkarılmıştır. Bu sadece erken bir geliştirme ürünü olmakla birlikte henüz resmi olarak desteklenmemektedir. Başlangıç komutları için “PTLsim 3.0 KVM/QEMU Introduction and Preliminary Documentation (PTLsim-KVM-Intro.pdf) “ dokümanı yararlı olacaktır.

PTLsim 3.0 KVM/QEMU önsürümü git aracılığıyla aşağıdaki şekilde indirilebilir:

git clone git://git.ptlsim.org/ptlsim-kvm.git
 git clone git://git.ptlsim.org/qemu-kvm-ptlsim.git 

KVM sürümüyle ilgili soru ve sorunlar için “ptlsim-kvm@ptlsim.org”, Xen-tabanlı ürünler içinse “ptlsim-devel@ptlsim.org” mail adresleri kullanılmaktadır.

Tam Sistem PTLsim Dosyaları

    • xen-3.1-ptlsim.tar.bz2: Tüm PTLsim uzantılarıyla pre-patched edilmiş Xen hipervizör (hypervisor) kaynak kodu (sürüm 3.1).
    • linux-2.6.22.6-mtyrel-64bit-xen.tar.bz2: Xen uzantılarıyla ve yamalarıyla derlenmiş Linux 2.6.22.6 kerneli. Bütün gerekli modüller (xennet, xenblk, ext2) burada derlendiğinden bu kernel sadece domU için kullanılır. Fakat, dom0'daki gerçek donanımda kullanmak için gerekli sürücüleri toplarken mkinitrd kullanmaya ihtiyaç duyulabilir.
    • linux-2.6.22-mtyrel-source.tar.bz2: Testte kullanılan özelleştirilmiş Linux kernel için kaynak kodu.
    • ptlsim-disk-image-example.tar.bz2: Görüntüyü yeniden oluşturmada ve kontrol noktaları elde etmede kullanılan örnek disk görüntüsü ve kelime dizinleri

Disk görüntülerinin ve kontrol noktalarının nasıl kurulacağını “SPEC cpu 2006 PTLsim için benchmark” takım seti dokümanında bulunabilir.

SPEC CPU 2000 Benchmarkları

Kullanıcılara PTLsim'i kıyaslama ortamında çalıştırırken yardımcı olmak amacıyla PTLsim ile birlikte “ SPEC CPU 2000 1.1” benchmarkları kullanılmaktadır. Benchmarkların en iyi derleyici seçenekleriyle oluşturulduğunu garanti etmek için bir dizi özel ayarlanmış make file' lar kullanılır. Şu anda dahil olan 25 benchmark şunlardır:

    • SPECint 2000: gzip, vpr, gcc, mcf, crafty, eon, bzip2, twolf, perlbmk parser, gap, vortex
    • SPECfp 2000: wupwise, swim, mgrid, applu, mesa, art, equake, apsi, sixtrack, ammp, fma3d, lucas, facerec

Benchmarkları oluşturmak ve kullanmak için gerekli adımlar

  1. Sabit sürümünü indirerek veya Subversion kaynağını tarayarak PTLsim https://web.archive.org/web/20090518203721/http://www.ptlsim.org/download.php sayfasından yüklenir.
  2. “spec2000” dizinini açılır
    cd ptlsim
    cd spec2000
  3. SPEC 2000 kısmından dosyalar kopyalanır. Aşağıdaki komut dizisi SPEC CD veya dağıtımınızın rootunda bulunan benchspec dizinine ihtiyaç duyar. SPEC tescilli dosyalarını PTLsim'e özgü SPEC ağacına kopyalar ve kodu PTLsim tetik noktalarıyla yamar. Bu yamalar elinizde SPEC CPU 2000 v1.1 olduğunu, daha sonraki sürümler olmadığını kabul eder.
    get-from-spec /path/to/SPEC2000-CD/benchspec
  4. Benchmarkları oluşturmak için gcc 3.4.x ve özellikle gfortran 4.x i yüklenmiş olmalı
    make
  5. Tüm benchmarklar için PTLsim yapılandırması ayarlanır ve çalıştırılır
setconfig "-logfile logfile -stats ptlsim.stats -trigger -exitend -stopinsns 200m"

Derleyici seçenekleri ve ayarları

Benchmarklar için bütün derleme ve çalıştırma seçenekleri spec2000/Makefile.config içerisindedir. Tüm benchmarklar hem 32-bit x86 hem de 64-bit x86-64 formatındadır. İkili değerler buna göre isimlendirilir (e.g. spec2000/gzip/gzip-32bit ve spec2000/gzip/gzip-64bit), fakat setmode kelime dizini değerleri gerçek isimlerine bağlayacaktır (e.g. spec2000/gzip/gzip). Eğer benchmark takımını kaynaktan derlerseniz doğru bağlantılar otomatik olarak kurulacaktır. Tüm benchmarklar için kullanılan derleyici seçenekleri şunlardır:

-static -DBENCHMARK -DSPEC_CPU2000 -O3 -march=k8|pentium4 –funroll
-loops -     fno-trapping-math -mfpmath=sse -funit-at-a-time -ffast-math 
-fprefetch-  loop-arrays -mfpmath=sse -include ../../ptlcalls.h 

Seçeneklerin özellikle yüksek performans için x87 (32-bit x86 da varsayılan) yerine SSE2 matematiğini derlediği ve 64-bit ikili değerler AMD K8 için programlanırken Pentium 4 için 32-bit ikili değerleri programladığı gözden kaçmamalıdır.

Benchmark yapılandırmasını ayarlamak

ptlsim/spec2000 dizinine gidilir. Tüm benchmarklara PTLsim yapılandırma seçeneklerini uygulamak için setconfig kelime dizini kullanılır. Buna aşağıdaki gibi bir örnek verilebilir:

setconfig -logfile logfile -stats ptlsim.stats -trigger -stopinsns 200m -     exitend 

Yukarıda tanımlanan tüm seçenekler PTLsim dokümantasyonunda tanımlanmıştır.

runbench-cluster Perl komut dizini (script) test grubumuzdaki 25 benchmarkın hepsini de bütün yükü tüm makineler ve CPU'lar arasında otomatik olarak eşit dağıtarak bir Linux öbeğinde çalıştırır, böylece toplam çalışma zamanı minimum yapılmış olunur.

runbench-cluster gzip vpr gcc mcf ... 

Komut dizini listelenmiş benchmarkları paralel alt listelere ayırır. Daha sonra her bir makineye bağlanmak için ssh kullanır. Her bir öbek makinesindeki her bir CPU üzerinde seri olarak bir alt-liste çalıştırmak için runbench-local yardımcı komut dizisini başlatır. Bu, teknik olarak her benchmarkın dizinine girilerek ve make run çalıştırılarak yapılır runbench-cluster komut dizini sonlanmadan önce, tüm uzak ssh oturumlarının sona ermesini bekler. Uygunluk açısından, runbench-cluster-all kullanılabilir bütün benchmarkların tam listesiyle runbench-cluster' ı başlatacaktır. Göreceğiniz çıktının bir örneği buradadır:

yourst [tidalwave /project/ptlsim/spec2000] runbench-cluster-all
runbench-cluster: Running 25 benchmarks on 4 nodes with 2 threads per    node...
Thread 0 on tidalwave cpu 0: [gzip] [perlbmk] [equake]   => PID 27645
Thread 1 on typhoon cpu 0: [vpr] [parser] [apsi]       => PID 27646
Thread 2 on tsunami cpu 0: [gcc] [wupwise] [sixtrack]    => PID 27648
Thread 3 on tornado cpu 0: [mcf] [swim] [ammp]        => PID 27650
Thread 4 on tidalwave cpu 1: [crafty] [mgrid]         => PID 27651
Thread 5 on typhoon cpu 1: [eon] [applu]              => PID 27654
Thread 6 on tsunami cpu 1: [bzip2] [mesa]            => PID 27656
Thread 7 on tornado cpu 1: [twolf] [art]              => PID 27658
Waiting on 8 threads:
Thread 0 (pid 27645) on tidalwave cpu 0...OK (pid 27645), result 0
Thread 1 (pid 27646) on typhoon cpu 0...OK (pid 27646), result 0
Thread 2 (pid 27648) on tsunami cpu 0...OK (pid 27648), result 0
Thread 3 (pid 27650) on tornado cpu 0...OK (pid 27650), result 0
Thread 4 (pid 27651) on tidalwave cpu 1...OK (pid 27651), result 0
Thread 5 (pid 27654) on typhoon cpu 1...OK (pid 27654), result 0
Thread 6 (pid 27656) on tsunami cpu 1...OK (pid 27656), result 0
Thread 7 (pid 27658) on tornado cpu 1...OK (pid 27658), result 0
Done!

Benchmarkların çalışmasını yarıda kesmek için Ctrl+C ye basılabilir. Benchmarkları seri olarak çalıştırmak için benchmark dizinine gidilir (e.g. spec2000/gzip) make run yazılır. En üst seviye spec2000 dizininde de make run yazabilirsiniz, fakat bu durumda benchmarklar paralel yerine seri olarak çalışacaktır.

Yaratılan dosyalar

Her bir benchmark dizininde (ptlsim/spec2000/gzip v.b.) birkaç dosya bulacaksınız:

    • run.log, eğer varsa, konsola normal şekilde yazılı olarak çıktıyı içerir.
    • logfile PTLsim'in genel bilgi içeren kayıt dosyasıdır. Bu bilgi son ana kadar kaç adet çevrim ve teslimat (commit) gerçekleştirildiğini de kapsamaktadır (kontrol etme işlemi için yararlıdır).
    • ptlsim.stats PTLsim istatistik ağacının ikili formatını içerir.
    • ptlsim.stats.txt PTLsim istatistik ağacının metinsel gösterimini içerir.


Daha fazla bilgi için PTLsim Kullanıcı Kılavuzu ve Referansına bakılmalıdır. Dosya isimlerini değiştirmek için setconfig komutu kullanılabilmektedir. Kaynak: https://web.archive.org/web/20091211165536/http://www.ptlsim.org/

İlgili Araştırma Makaleleri

i386

Intel 80386 veya i386, 80286'dan sonraki Intel mikroişlemcisi.

ARM mimarisi RISC tabanlı bir işlemci mimarisidir. Genel itibarıyla düşük güç tüketimi, diğer RISC tabanlı işlemcilere göre yüksek performanslı oluşu ve x86-x64 işlemcilere göre daha hesaplı olmasından dolayı gömülü sistemlerde, taşınabilir aygıtlarda kullanılan yongasetlerinin dizaynında tercih edilir. 32 ve 64 bit modelleri bulunur.

<span class="mw-page-title-main">Pentium</span>

Pentium, Intel’den beşinci nesil x86 mimarisi bir mikroişlemcisidir. 486 serisinin ardılıydı ve ilk olarak 22 Mart 1993 tarihinde duyurulmuştu.

<span class="mw-page-title-main">PowerPC</span>

PowerPC, AIM olarak bilinen Apple-IBM-Motorola ittifakının 1991'de geliştirdiği bir RISC mikroişlemcisidir. Genel olarak kişisel bilgisayarlar içindir. PowerPC merkezi işlem birimleri (CPU) gömülü (embedded) ve yüksek performans işlemcileri olduğu için popüler olmuştur. PowerPC 1990'da AIM' in ve PReP'in temel taşı oldu, fakat mimari Apple'ın Macintosh'unun 1994–2006 modellerinde daha başarılı bulundu.

<span class="mw-page-title-main">Mikroişlemci</span> ana işlem biriminin fonksiyonlarını tek bir yarı iletken tümdevrede birleştiren programlanabilir sayısal elektronik bileşen

Mikroişlemci, işlemci olarak da bilinen, merkezî işlem biriminin (CPU) fonksiyonlarını tek bir yarı iletken tüm devrede (IC) birleştiren programlanabilir bir sayısal elektronik bileşendir.

<span class="mw-page-title-main">Assembly</span> uygulanan işlemlerle programlama dilinin birbirine çok yakın olduğu düşük seviye programlama dilleri

Assembly dili, bir işlemcinin komut kümesi üzerine tanımlanmış alt seviye bir dildir. Assembly dili kolay hatırlanabilir semboller tanımlar ve böylece işlemcinin makina koduna karşılık gelen sayı dizilerinin bilinmesine gerek kalmaz. Assembly dili, platformdan bağımsız yüksek seviyeli programlama dillerinin aksine, işlemci mimarisine bağımlıdır. Tipik uygulamaları; cihaz sürücüleri, alt seviyeli dahili (embedded) ve gerçek zamanlı sistemlerdir. Bır assembly programı assembler kullanılarak makine koduna çevrilir.

Denektaşı(sınama programı); Bilgisayar mimarisinde bir bileşenin başarımını, o bileşen üzerinde çeşitli sınamalar yaparak ölçmek için çalıştırılan bir veya bir grup bilgisayar programıdır. Denektaşları ile bilgisayarın bir donanımının karakteristik bir özelliğinin başarımının belirlenmesinde de kullanılır. Örneğin Merkezi İşlem Biriminin (MİB[CPU]) kayan nokta işlemlerindeki başarımını ölçmek için kullanılır. Ayrıca bazı durumlarda bu sınama yazılımların başarımı için de kullanılabilir. Yazılımlar için kullanılan denektaşlarına örnek olarak derleyiciler ya da veritabanı yönetim sistemlerinin başarımlarını ölçen programlar verilebilir.

<span class="mw-page-title-main">7-zip</span>

7-Zip, özgür ve ücretsiz bir dosya arşivleyicisidir. 7-Zip’in Komut İstemi sürümü Unix benzeri sistemler içinde düşünülmüş hatta AmigaOS bu saydıklarımıza dahil. Aynı zamanda DOS için de uyumlu DOS Portu için veya HX-DOS genişletişicisi ile Windows komut İstemcisi'nde çalıştırılabilir. 7-zip, temel olarak 7z arşiv biçiminde çalışsa da, diğer arşiv biçimlerini de okuyabilme yetisine sahiptir. Kullanıcı yazılımın çizgesel (grafiksel) ara yüzü ile işlem yapabileceği gibi direkt komut satırından da yazılımı çalıştırarak işlem yapabilir ya da yazılıma Windows Shell ortamı benzeri platformlarla da denetim sağlanabilir. 2000 senesinde çalışmalarına başlanan 7-Zip, Igor Pavlov tarafından geliştirildi. Pazarın hâkimiyetini elinde tutan ticari rakiplerine WinZip ve WinRAR a karşı olarak ürün özgür GNU LGPL lisansı altında dağıtılmaya başlandı. Sonuç olarak ortaya ciddi bir alternatif olarak özgür ve ücretsiz bir yazılım çıktı.

Bir hiper yönetici veya sanal makine monitörü (VMM), sanal makineleri oluşturan ve çalıştıran bilgisayar yazılımı, bellenim veya donanımdır. Bir hipervizörün bir veya daha fazla sanal makineyi çalıştırdığı bir bilgisayara ana makine adı verilir ve her sanal makineye konuk makinesi adı verilir. Hiper yönetici, konuk işletim sistemlerini sanal işletim platformuyla sunar ve konuk işletim sistemlerinin yürütülmesini yönetir. Çeşitli işletim sistemlerinin birden fazla örneği sanallaştırılmış donanım kaynaklarını paylaşabilir: örneğin, Linux, Windows ve macOS örneklerinin tümü tek bir fiziksel x86 makinede çalışabilir. Konuk işletim sistemleri aynı çekirdeğe sahip farklı Linux dağıtımları gibi kullanıcı alanında farklılık gösterebilse de, bu, tüm örneklerin tek bir çekirdeği paylaşması gereken işletim sistemi düzeyinde sanallaştırma ile çelişir.

Sanallaştırma bilgisayar kaynaklarının kullanıcılardan soyutlanması işlemine verilen isimdir. Bunu yapmak için kullanılan metodlar bilgisayar kaynaklarının paylaştırılmasını veya birleştirilmesini sağlar. Sanallaştırmanın ilk hedefi kullanıcıya bir soyutlama tabakası sunarak kullanıcıyı kaynaklardan soyutlamak. Böylece kullanıcı ve kaynaklar arasına bir mantıki katman eklenmiş oluyor. Bir hiper yönetici veya sanal makine monitörü (VMM), sanal makineleri oluşturan ve çalıştıran bilgisayar yazılımı, bellenim veya donanımdır. Bir hipervizörün bir veya daha fazla sanal makineyi çalıştırdığı bir bilgisayara ana makine adı verilir ve her sanal makineye konuk makinesi adı verilir. Hiper yönetici, konuk işletim sistemlerini sanal bir işletim platformuyla sunar ve konuk işletim sistemlerinin yürütülmesini yönetir. Çeşitli işletim sistemlerine sahip birden fazla aygıt, sanallaştırılmış donanım kaynaklarını paylaşabilir. Örneğin; Linux, Windows ve macOS işletim sistemlerinin tümü, tek bir fiziksel x86 makinede çalışabilir. Konuk işletim sistemleri aynı çekirdeğe sahip farklı Linux dağıtımları gibi kullanıcı alanında farklılık gösterebilse de, bu, tüm örneklerin tek bir çekirdeği paylaşması gereken işletim sistemi düzeyinde sanallaştırma ile çelişir.

<span class="mw-page-title-main">Git (yazılım)</span> dağıtılmış iş kontrol sistemi

Git, yazılım geliştirme süreçlerinde kullanılan, hız odaklı, dağıtık çalışan bir sürüm kontrol ve kaynak kod yönetim sistemidir. İlk sürümü Linux çekirdeği'nin geliştirilmesinde kullanılmak üzere 2005 yılında bizzat Linus Torvalds tarafından tasarlanıp geliştirilmiş, 2021 yılı itibarıyla %73 pazar payına ulaşmıştır.

<span class="mw-page-title-main">GNU C Library</span>

GNU C Library, bilinen adıyla glibc, GNU Tasarısı'nın C standart kütüphanesi uyarlamasıdır. Adına rağmen artık doğrudan C++ desteği bulunur. 1990'ların başında Özgür Yazılım Vakfı tarafından GNU işletim sistemi için geliştirilmeye başlanmıştır.

T2 SDE açık kaynaklı bir Linux dağıtımı kitidir. Ağırlıklı olarak René Rebe tarafından geliştirilmiştir.

<span class="mw-page-title-main">RPCS3</span> PlayStation 3 yazılımı için emülatör

RPCS3, Windows, Linux, FreeBSD ve MacOS sistemlerinde çalışan PlayStation 3 için ücretsiz ve açık kaynaklı bir konsol emulatoru ve hata ayıklayıcısıdır. PlayStation 3 oyunlarının ve yazılımlarının kişisel bir bilgisayarda oynatılmasına ve hatalarının ayıklanmasına olanak tanır. Program C++ dilinde yazılmıştır ve X86-64 CPU'larında çalışabilmektedir. Arka uç oluşturucuları olarak OpenGL ve Vulkan'ı içeriyior.

antiX Linux Dağıtımı

antiX ( ) Debian Stable tabanlı bir Linux dağıtımıdır. Nispeten hafiftir ve eski bilgisayarlar için uygundur, ayrıca apt-get paket sistemi ve Debian uyumlu depolar aracılığıyla en son çekirdek ve uygulamaların yanı sıra güncellemeler ve eklemeler sağlar. antiX, özellikle tartışmalı systemd init sistemiyle birlikte gönderilmez veya bu sistemi desteklemez. Sürüm 19'dan beri iki init (başlatma) sistemi çeşidiyle gelir: sysVinit ve runit.

<span class="mw-page-title-main">PeaZip</span>

PeaZip, Microsoft Windows, ReactOS, Linux, MacOS ve BSD için Giorgio Tani tarafından hazırlanmış ücretsiz ve açık kaynaklı bir dosya yöneticisi ve dosya arşivleyicisidir. Yerel PEA arşiv biçimini ve açık biçimleri işlemeye özel odaklanarak diğer ana akım biçimleri destekler. 226 dosya uzantısını destekler.

coLinux olarak kısaltılan Cooperative Linux, Microsoft Windows ve Linux çekirdeğinin aynı makinede aynı anda paralel çalışmasına olanak sağlayan bir yazılımdır.

Yonah, Intel'in 65 nm üretim işlemini kullanan ilk işlemci neslinin kod adıdır; bu işlemci ailesi, önceki Banias / Dothan Pentium M mikromimarisinden temel alır. Yonah işlemcileri, Intel'in Core Solo ve Core Duo mobil mikroişlemcileri ürünleri olarak piyasaya sürülmüştür. Yonah'ta SSE3 komutları eklenerek ve, SSE ve SSE2 uygulamaları geliştirilerek SIMD performansı geliştirilmiştir; ancak daha yüksek gecikmeye sahip önbellek kullanıldığı için tam sayı performansı biraz azalmıştır. Ayrıca, Yonah'ta NX bit desteği bulunur.

<span class="mw-page-title-main">GoboLinux</span>

GoboLinux, en belirgin özelliği geleneksel Linux dosya sisteminin yeniden düzenlenmesi olan bir Linux dağıtımıdır. Çoğu Unix benzeri sistem gibi Dosya Sistemi Hiyerarşi Standardını takip etmek yerine, bir GoboLinux sistemindeki her programın, tüm dosyalarının bulunabileceği kendi alt dizin ağacı vardır. Böylece, bir "Foo" programının tüm özel dosyaları ve kütüphaneleri /Programs/Foo dizininde, bu programın ilgili sürümü altında bulunur. Örneğin, yaygın olarak bilinen GCC derleyici paketinin 8.1.0 sürümü /Programs/GCC/8.1.0. dizini altında bulunur.

Dynamips, Cisco Routerları taklit etmek için yazılmış bir emülatör bilgisayar programıdır. Ağustos 2005'te üzerinde çalışmaya başlayan Christophe Fillot tarafından geliştirilmiştir. Dynamips FreeBSD, Linux, Mac OS X ve Windows üzerinde çalışır. Gerçek bir Cisco IOS yazılım görüntüsünü (imajını) doğrudan emülatöre önyükleyerek Cisco serisi yönlendirme platformlarının donanımını taklit edebilirsiniz. Dynamips, Cisco 1700, 2600, 2691, 3600, 3725, 3745 ve 7200 platformlarını taklit edebilir.