İçeriğe atla

Uyumluluk katmanı

Yazılım mühendisliğinde, bir uyumluluk katmanı, bir ana sistem üzerinde, eski veya yabancı bir sistem için yazılmış ikili dosyaların çalıştırılmasını sağlayan bir arabirimdir. Bu, yabancı sistem çağrılarını, yerel sistem çağrılarına çevirir. Yabancı sisteme yönelik bazı kütüphaneler, ana sistem üzerinde yabancı ikili dosyaları çalıştırmak için yeterli olacaktır genellikle. Donanım uyumluluğu katmanıysa donanım emülasyonu sağlayan araçlardan oluşur.

Yazılım

Örneklerden bazıları şunlardır:

  • Wine, bir program yükleyicisi ve kütüphane dosyalarında gerçeklenen Windows UPA'larıyla Unix benzeri sistemlerde bazı Microsoft Windows ikili dosyalarını çalıştırır
  • Windows'un uygulama uyumluluk katmanları (Uygulama Uyumluluğu Araçları), kötü gerçekleştirilmiş veya platformun önceki sürümleri için yazılmış uygulamaları çalıştırmayı dener
  • Lina, bazı Linux ikili dosyalarını Windows, Mac OS X ve Unix benzeri sistemlerde yerel görünüm ve his ile çalıştırır
  • KernelEx, Windows 98/Me'de bazı Windows 2000/XP programlarını çalıştırır
  • Executor, Windows, Mac OS X ve Linux'ta 68k tabanlı klasik Mac OS programlarını çalıştırır
  • Columbia Cycada, Android sistemlerde Apple iOS uygulamalarını çalıştırır
  • Hybris, Bionic'i glibc çağrılarına çevirir
  • Darling, Mac OS X ve Darwin ikili dosyalarını bir çeviri katmanı üzerinde Linux'ta çalıştırmayı dener

Çekirdekteki uyumluluk katmanları:

  • FreeBSD'nin Linux uyumluluk katmanı, Linux için özel olarak üretilmiş ikili dosyaların yerel FreeBSD UPA katmanıyla aynı şekilde FreeBSD üzerinde çalışmasını sağlar. FreeBSD ayrıca bazı Unix benzeri sistem emülasyonlarına da sahiptir
  • NetBSD, birkaç Unix benzeri sistem emülasyonuna sahiptir
  • Linux için Windows Alt Sistemi, Microsoft tarafından geliştirilen ve Linux kodu içermeyen, üzerinde Ubuntu kullanıcı kipi ikili dosyaları bulunan Linux uyumlu bir çekirdek arayüzü sağlar
  • Şu an aktif olmayan PEACE Project (diğer bir deyişle COMPAT_PECOFF), NetBSD için Win32 uyumluluk katmanı sunar

Bir uyumluluk katmanı, karmaşıklığı ve tam donanım emülasyonunun neden olabileceği yavaşlık sorununu ortadan kaldırır. Bazı programlar orijinalinden daha hızlı bile çalışabilir, örneğin FreeBSD'nin Linux uyumluluk katmanında çalışan bazı Linux uygulamaları, Red Hat Linux'ta çalışan aynı uygulamalardan daha iyi performans gösterebilir. Windows NT tabanlı işletim sistemleriyle karşılaştırmak için bazen de uygulamalar Wine üzerinde çalıştırılır.

Benzer sistemlerde bile bir uyumluluk katmanının uygulanmasının detayları epey karmaşık ve zahmetli olabilir. Buna iyi bir örnek, NetBSD'nin MIPS mimarisi sürümündeki IRIX ikili uyumluluk katmanıdır.

Bir uyumluluk katmanı, ana bilgisayar sisteminin MİB'inin, yabancı sisteminkiyle (yukarıya doğru) uyumlu olmasını gerektirir. Örneğin, Windows bir x86 MİB gerektirdiğinden, Microsoft Windows uyumluluk katmanı PowerPC donanımında mümkün değildir, bu durumda tam emülasyon gereklidir.

Donanım

Donanım uyumluluğu katmanları, donanım emülasyonu sağlayan araçları içerir. Bağlantı terminalleri, makineyle uyumsuz olan bazı bilgisayar veriyolları için uyumluluk sağlayabildiği için bazı donanım uyumluluk katmanları bağlantı terminalleri içerir.

Ayrıca bakınız

Kaynakça

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

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

UNIX türevi işletim sistemleri çok işlemcili çok pahalı makinelerden tek işlemcili, basit ve çok ucuz ev bilgisayarlarına kadar pek çok cihaz üzerinde çalışabilen esnek ve sağlamlığı çok değişik koşullarda test edilmiş sistemlerdir. Fakat özellikle kararlı yapısı ve çok kullanıcılı-çok görevli yapısıyla çok işlemcili sunucularda adeta standart haline gelmiştir ve özellikle akademik dünyada iş istasyonları üzerinde çok yaygın bir kullanım alanı bulmuştur. UNIX, Interdata 7/32, VAX ve Motorola 68000 arasında hızla yayıldı.

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

BSD, Kaliforniya Üniversitesi, Berkeley'in kaynak kodu dağıtımı olan, AT&T'nin UNIX'i için bir eklentiler zinciridir. Birçok açık kaynak kodlu işletim sistemi projesi, 4.4 BSD-Lite olarak bilinen kaynak kodu dağıtımını temel kabul eder. Ek olarak bunlar, özellikle GNU projesi olmak üzere diğer birçok açık kod projesini de kapsar.

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

14.1  )

macOS, Macintosh işletim sistemi ailesinin son sürümüdür ve Apple tarafından Macintosh bilgisayarları için tasarlanmış bir işletim sistemidir.

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

POSIX, UNIX için "taşınabilir işletim sistemi arabirimi".

<span class="mw-page-title-main">OpenGL</span> grafik uygulama geliştirme arabirimi

OpenGL, gelişmiş donanım desteğini kullanarak hem iki hem de üç boyutlu grafikleri ekrana çizmek için kullanılan ücretsiz bir grafik uygulama geliştirme arabirimidir. Windows, Linux, MacOS ve Solaris gibi birçok işletim sisteminde yaygın olarak ve Playstation 3 başta olmak üzere bazı oyun konsollarınca desteklenir. Donanım tarafında ise SGI, ATI, Nvidia veya Intel gibi büyük üreticiler her ekran kartında OpenGL desteği sunar.

<span class="mw-page-title-main">Filesystem in Userspace</span>

FUSE, Unix türevi bilgisayarlar üzerinde çalışan yetkilendirilmemiş kullanıcıların, çekirdek kodunda değişiklik yapmadan kendi dosya sistemlerini oluşturmasını sağlayan, unix benzer işletim sistemleri için tasarlanmış yüklenebilir çekirdek modülüdür. Bunun gerçekleştirimi ise FUSE modülünün gerçek çekirdek arayüzlerine sadece bir köprü görevi görürken, dosya sistemi kodunun kullanıcı uzayında çalıştırılmasıyla sağlanır.

Bilgi işlem platformu, bir uygulama yazılımı çalıştırmak için donanım mimarisi ve bir yazılım çerçevesi, yazılım, çeşitli bazı kombinasyon veya sıralamalarını içermektedir. Tipik platformlarda bir bilgisayar mimari, işletim sistemi, programlama dilleri ve ilgili kullanıcı arabirimi içerir.

netstat

netstat ağ bağlantıları, yönlendirme tabloları ve ağ arayüzü istatistiklerini görüntüleyen bir komut satırı aracıdır. netstat komutu UNIX, Linux ve Windows NT tabanlı işletim sistemlerinde kullanılabilir.

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

Unix benzeri işletim sistemi, resmi bir UNIX markası olmamasına karşın Unix sistemine benzer şekilde çalışan işletim sistemleridir. Unix benzeri bir yazılım, Unix komut ve kabuğuna benzer işlevlere sahiptir. Bu terimin kullanımı için bir standart yoktur ve bir yazılımın veya işletim sisteminin Unix benzeri olarak adlandırılıp adlandırılamayacağı üzerine farklı görüşler vardır.

uname

uname (veya unix name) - Unix ve Unix benzeri işletim sistemleri bir yazılım konsol programı olup, sistem hakkında bilgi verir. Geçerli makine ve üzerinde çalışdığı işletim sistemi hakkında isim, sürüm ve diğer ayrıntıları yazdırır. uname sistem çağrısı ve komut PWB / UNIX ile ilk kez ortaya çıktı. Her ikisi de POSIX tarafından belirtilir.

<span class="mw-page-title-main">Windows NT mimarisi</span>

Microsoft tarafından üretilen ve satılan bir işletim sistemi satırı olan Windows NT'nin mimarisi, kullanıcı modu ve çekirdek modu olmak üzere iki ana bileşenden oluşan katmanlı bir tasarımdır. Tek işlemcili ve simetrik çok işlemcili (SMP) tabanlı bilgisayarlarla çalışmak üzere tasarlanmış, önleyici, yeniden gelen bir işletim sistemidir. Giriş/çıkış isteklerini işlemek için, I / O istek paketlerini (IRP'ler) ve zaman uyumsuz G / Ç'yi kullanan paket odaklı G / Ç kullanırlar. Windows XP'den başlayarak, Microsoft Windows'un 64 bit sürümleri hazırlanmaya başladı; Bundan önce, bu işletim sistemleri yalnızca 32-bit sürümlerde mevcuttu.

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

XNU, MacOS işletim sisteminde kullanılmak üzere Aralık 1996'dan beri Apple'da geliştirilen ve Darwin işletim sisteminin bir parçası olarak ücretsiz ve açık kaynaklı yazılım olarak piyasaya sürülen bilgisayar işletim sistemi çekirdeğidir. Ayrıca, iOS, tvOS ve watchOS işletim sistemlerinin çekirdeği olarak da kullanılır. XNU, "X Not Unix"'in bir kısaltmasıdır.

Carbon, Macintosh bilgisayarları çalıştıran işletim sistemi olan Mac OS X için Apple'ın C tabanlı uygulama programlama arayüzlerinden (API) biridir. Carbon, Mac OS 8 ve Mac OS 9 işletim sistemlerinde çalışan programlar için iyi bir geriye dönük uyumluluk sağlamıştır. Geliştiriciler, “klasik” Mac OS ve Macintosh işletim sistemleri yazılımlarını OS X platformuna taşımak için uygulamayı azami çaba harcayarak çok az bir çaba ile kullanabilirler. OpenStep'te ortaya çıkan tamamen farklı Cocoa API sistemidir.

<span class="mw-page-title-main">Unix shell</span> Unix işletim sistemi için yorumlayıcı program

Unix shell, Unix benzeri işletim sistemleri için bir komut satırı kullanıcı arabirimi sağlayan bir komut satırı yorumlayıcısı veya kabuğudur. Kabuk, hem etkileşimli bir komut dili hem de bir komut dosyası dilidir ve işletim sistemi tarafından sistemin kabuk komut dosyalarını kullanarak yürütülmesini kontrol etmek için kullanılır.

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

Bir kernel panic, bir işletim sisteminin çekirdeği tarafından, güvenli bir şekilde kurtarılamadığı veya sistemi çalıştırmaya devam etmenin büyük veri kaybı yaşanabilmesinin yüksek bir riske sahip olacağı dahili bir kritik hata tespit edildiğinde alınan bir güvenlik önlemidir. Terim büyük ölçüde Unix ve Unix benzeri sistemlere özgüdür. Microsoft Windows işletim sistemlerindeki eşdeğeri, genellikle "mavi ekran" olarak adlandırılan bir durdurma hatasıdır.

<span class="mw-page-title-main">Windows Subsystem for Linux</span> Linux için Windows Alt Sistemi

Windows Subsystem for Linux (WSL), Windows 10, Windows 11, Windows Server 2019 ve Windows Server 2022 üzerinde yerel olarak Linux ikili yürütülebilir dosyalarını çalıştırmak için kullanılan uyumluluk katmanıdır.

A/UX, Macintosh bilgisayarlar için Apple Computer tarafından geliştirilmiş Unix tabanlı bir işletim sistemidir ve System 7'nin grafik arayüzü ve uygulama uyumluluğu ile entegredir. Apple'ın 1988'de başlatılan ve 3.1.1 sürümüyle 1995'te kullanımdan kaldırılan ilk resmi Unix tabanlı işletim sistemidir. A/UX, Macintosh II, SE/30, Quadra ve Centris serileri dahil olmak üzere bir FPU'ya ve disk belleği yönetim birimine (PMMU) sahip belirli 68k tabanlı Macintosh modellerini gerektirir.

Systrace, sistem çağrıları için erişim politikaları uygulayarak bir uygulamanın sisteme erişimini sınırlayan bir bilgisayar güvenlik aracıdır. Bu, arabellek taşmalarının ve diğer güvenlik açıklarının etkilerini azaltabilir. Niels Provos tarafından geliştirilmiştir ve çeşitli Unix benzeri işletim sistemlerinde çalışır.