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.
![]() | |
Geliştirici(ler) | Apple |
---|---|
Kaynak türü | Açık kaynak |
Lisans | |
Çekirdek türü | Melez çekirdek |
İlk Yayınlanma |
|
Platform desteği | IA-32, x86-64, ARM |
Programlama dili | C, |
NextStep işletim sistemi için NeXT tarafından geliştirilen XNU, Carnegie Mellon Üniversitesi'nde geliştirilen Mach çekirdeğinin 2.5 sürümünü 4.3BSD bileşenleri ve Driver Kit adlı sürücüleri yazmak için bir Objective-C API'si ile birleştiren karma bir çekirdekti.
Apple, NeXT'yi satın almasının ardından, Mach bileşeni OSF'den OSFMK 7.3'e yükseltildi, BSD bileşenleri FreeBSD projesinden alınan kodla yükseltildi ve Sürücü Kiti, (G/Ç) Kiti adı verilen sürücüleri yazmak için bir API ile değiştirildi.
Çekirdek tasarımı

XNU hem monolitik çekirdeklerin hem de mikro çekirdeklerin özelliklerini içeren, her iki teknolojiden en iyi şekilde yararlanmaya çalışan melez bir çekirdektir; mikrokernellerin mesajlaşma yeteneği daha büyük modülerlik sağlar ve işletim sisteminin daha büyük bölümleri hafıza korumasından yararlanabilir.
2007 itibarıyla, XNU hem bir işlemci, hem de simetrik çoklu işlem (SMP) modelleri olan ARM, IA-32 ve x86-64 işlemciler üzerinde çalışmaktadır.PowerPC desteği, sürüm 10'dan itibaren kaldırılmıştır (Mac OS X Snow Leopard).
Mach
XNU çekirdeğinin temeli, ağır modifiye (melez) bir OSFMK 7.3 çekirdeğidir. Bu nedenle, bir işletim sisteminin çekirdeğini, ayrı bir süreç olarak çalıştırmak mümkündür; bu da büyük bir esneklik sağlar (Mach çekirdeğinin üzerinde paralel birkaç işletim sistemini çalıştırabilir). Ancak çekirdek / kullanıcı modu bağlam anahtarı ve çekirdeklerin adres alanları ile hizmet çağrı merkezleri arasındaki eşleme veya kopyalama mesajından kaynaklanan zamana bağlı çekirdek / kullanıcı modu nedeniyle genelde performansı düşürür. Mac OS X ile tasarımcılar bazı görevleri hızlandırmaya çalıştılar ve böylece BSD işlevselliği Mach ile çekirdeğe yerleştirildi. Sonuç, ağır bir şekilde değiştirilmiş (melez) OSFMK 7.3 çekirdeğidir; Apple, OSFMK 7.3 lisanslıdır, OSFMK 7.3, OSF'den bir mikrokerneldir. OSFMK 7.3, University of Utah Mach 4 çekirdeği ve orijinal Carnegie Mellon University Mach 3.0 mikro çekirdeğinden çıkarılan birçok Mach 3.0 varyantından geçerli kodun uygulanabilir kodunu içerir.
BSD

Çekirdekteki Berkeley Software Distribution (BSD) bölümü POSIX uygulama programlama arayüzü (API, BSD sistem çağrıları), Mach görevlerinin üstündeki Unix işlem modeli, temel güvenlik ilkeleri, kullanıcı ve grup kimlikleri, izinler, ağ protokolleri, sanal dosya sistemi kodu (bir dosya sistemi bağımsız günlük kaydı katmanı dahil), / , Ağ Dosya Sistemi (NFS) istemcisi ve sunucusu, şifreleme çerçevesi, UNIX Sistem V işlemler arası iletişim (IPC), denetim alt sistemi, zorunlu erişim kontrolü ve bazı kilitleme ilkelleri gibi birkaç yerel dosya sistemidir. XNU'da bulunan BSD kodu FreeBSD çekirdeğinden geldi. Birçoğu önemli ölçüde değiştirilmiş olsa da, Apple ile FreeBSD Projesi arasında hala kod paylaşımı gerçekleşiyor.
K32/K64
XNU, Mac OS X Snow Leopard, v10.6 (Darwin sürüm 10) ve daha sonraki sistemde iki çeşittir; 32 bitlik bir sürüm olan K32 ve 64 bitlik bir sürüm olan K64. K32, kullanıcı arazisinde 64 bitlik uygulamaları çalıştırabilir. Mac OS X 10.6'da yeni olan şey, 64-bit çekirdek alanında XNU'yu çalıştırma yeteneğiydi. K32, Mac Pro ve modelleri dışındaki tüm makinelerde kullanıldığında 10.6 Server için varsayılan çekirdekti ve 2008'den itibaren ve 64 bit uygulamaları çalıştırabiliyordu. K64, K32'ye kıyasla birkaç avantaja sahiptir:
- Bellek haritası 32-bit çekirdek alanının orantısız olarak geniş bir alanını tüketirken 32 GB'den fazla RAM yönetebilir.
- Önbellek arabellek boyutları, 32-bit çekirdek alanının izin verdiğinden daha büyük olabilir, bu da g / Ç performansını potansiyel olarak artıracaktır.
- Çekirdek, çok büyük doğrudan bellek erişimi (DMA) arabelleklerine sahip olsa bile 64-bit alanındaki tüm aygıtları eşleyebildiği için, yüksek performanslı ağ aygıtlarını veya çoklu grafik işlemci birimlerini (GPU) kullanırken performans artar.
6 ve 4'ü basılı tutarken önyükleme yapmak, 64-bit çekirdeği destekleyen makinelerde K64'i önyüklemeye zorlar. [11] K64 32-bit uygulamaları çalıştıracak, ancak 32-bit çekirdek uzantılarını (KEXT) çalıştırmayacaktır, böylece yükleyebilmek için bunlar K64'e taşınmalıdır.
I/O Kit
Embedded C ++ tabanlı C ++ alt kümesiyle yazılmış aygıt sürücüsü çerçevesidir. Nesne yönelimli tasarımını kullanarak, aygıt sürücülerinin daha az zaman ve kodla yazılmasına yardımcı olan, herhangi bir sürücüler sınıfında ortak olan özellikler çerçevede sağlanmaktadır. G / Ç Seti, çok dişli, simetrik çok işlemcili (SMP) güvenlidir ve çalışırken aygıtlara otomatik, dinamik aygıt yapılandırmasına olanak tanır.
Çoğu sürücü, kullanıcı alanından çalıştırılacak şekilde yazılabilir; bu da sistemin kararlılığını daha da geliştirir. Bir kullanıcı alanı sürücüsü çökerse, çekirdeği çökertmez. Bununla birlikte, bir çekirdek-alan sürücüsü çökerse çekirdeği çöker. Çekirdek alanı sürücülerine örnek olarak disk adaptörü ve ağ adaptörü sürücüleri, grafik sürücüleri, Evrensel Seri Veri Yolu (USB) ve IEEE 1394 FireWire ana bilgisayar denetleyicileri için sürücüler ve VirtualBox, ve VMware Fusion gibi sanal makine yazılımı için sürücüler bulunur.
Paylaşılan kaynakları koruma
Çok işlemcili makinelerde güvenle çalıştırmak için, paylaşılan kaynaklara (dosyalar, veri yapıları vb.) Erişim dizileri veya işlemler aynı anda aynı kaynağı değiştirmeye çalışmaması için serileştirilmelidir. Atomik işlemler, spinlock'lar, kritik bölümler, karşılıklı dışlamalar ("muteksler") ve dizgelerin seri hale getirilmesi eş zamanlı erişimi önlemek için kullanılabilecek tüm yöntemlerdir. Linux ve FreeBSD'nin son sürümlerinde olduğu gibi, XNU, Mac OS X 10.4 ve Darwin 8.0 itibarıyla çok işlemcili sistemlerde daha yüksek performans elde etmek için ince taneli mutex modeli kullanmaktadır.
Kaynakça
- ^ "Darwin-xnu: The Darwin Kernel". 15 Aralık 2017 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
- ^ "Opensource-Apple / XNU". 24 Eylül 2018 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
- ^ "iOS and macOS researcher is seeking people to work on open-source kernel". 15 Aralık 2017 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
- ^ "Kernel Architecture Overview". 17 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
- ^ "Apple open-sourced the kernel of iOS and macOS for ARM processors". 15 Aralık 2017 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
- ^ "A Trusted, Scalable, Real-Time Operating System Environment" (PDF). 22 Ağustos 2017 tarihinde kaynağından (PDF). Erişim tarihi: 15 Aralık 2017.
- ^ "What is Mac OS X?". 19 Nisan 2019 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
- ^ "Grand Central Dispatch - FreeBSD port". 15 Aralık 2017 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
- ^ "XNU Kernel: Source Code". 15 Aralık 2017 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
- ^ "Mach IPC Interface". 21 Mayıs 2017 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
- ^ "Introduction to I/O Kit Fundamentals". 15 Aralık 2017 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
- ^ "I/O Kit Overview". 3 Ağustos 2017 tarihinde kaynağından . Erişim tarihi: 15 Aralık 2017.
Dış bağlantılar
- Sitesi 18 Şubat 2018 tarihinde Wayback Machine sitesinde .
Ayrıca bakınız
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
XNU MacOS isletim sisteminde kullanilmak uzere Aralik 1996 dan beri Apple da gelistirilen ve Darwin isletim sisteminin bir parcasi olarak ucretsiz ve acik kaynakli yazilim olarak piyasaya surulen bilgisayar isletim sistemi cekirdegidir Ayrica iOS tvOS ve watchOS isletim sistemlerinin cekirdegi olarak da kullanilir XNU X Not Unix in bir kisaltmasidir XNUGelistirici ler AppleKaynak turuAcik kaynakLisansCekirdek turuMelez cekirdekIlk Yayinlanma Aralik 1996Platform destegiIA 32 x86 64 ARMProgramlama diliC C NextStep isletim sistemi icin NeXT tarafindan gelistirilen XNU Carnegie Mellon Universitesi nde gelistirilen Mach cekirdeginin 2 5 surumunu 4 3BSD bilesenleri ve Driver Kit adli suruculeri yazmak icin bir Objective C API si ile birlestiren karma bir cekirdekti Apple NeXT yi satin almasinin ardindan Mach bileseni OSF den OSFMK 7 3 e yukseltildi BSD bilesenleri FreeBSD projesinden alinan kodla yukseltildi ve Surucu Kiti G C Kiti adi verilen suruculeri yazmak icin bir C API ile degistirildi Cekirdek tasarimiXNU XNU hem monolitik cekirdeklerin hem de mikro cekirdeklerin ozelliklerini iceren her iki teknolojiden en iyi sekilde yararlanmaya calisan melez bir cekirdektir mikrokernellerin mesajlasma yetenegi daha buyuk modulerlik saglar ve isletim sisteminin daha buyuk bolumleri hafiza korumasindan yararlanabilir 2007 itibariyla XNU hem bir islemci hem de simetrik coklu islem SMP modelleri olan ARM IA 32 ve x86 64 islemciler uzerinde calismaktadir PowerPC destegi surum 10 dan itibaren kaldirilmistir Mac OS X Snow Leopard Mach XNU cekirdeginin temeli agir modifiye melez bir OSFMK 7 3 cekirdegidir Bu nedenle bir isletim sisteminin cekirdegini ayri bir surec olarak calistirmak mumkundur bu da buyuk bir esneklik saglar Mach cekirdeginin uzerinde paralel birkac isletim sistemini calistirabilir Ancak cekirdek kullanici modu baglam anahtari ve cekirdeklerin adres alanlari ile hizmet cagri merkezleri arasindaki esleme veya kopyalama mesajindan kaynaklanan zamana bagli cekirdek kullanici modu nedeniyle genelde performansi dusurur Mac OS X ile tasarimcilar bazi gorevleri hizlandirmaya calistilar ve boylece BSD islevselligi Mach ile cekirdege yerlestirildi Sonuc agir bir sekilde degistirilmis melez OSFMK 7 3 cekirdegidir Apple OSFMK 7 3 lisanslidir OSFMK 7 3 OSF den bir mikrokerneldir OSFMK 7 3 University of Utah Mach 4 cekirdegi ve orijinal Carnegie Mellon University Mach 3 0 mikro cekirdeginden cikarilan bircok Mach 3 0 varyantindan gecerli kodun uygulanabilir kodunu icerir BSD XNU grafigi Cekirdekteki Berkeley Software Distribution BSD bolumu POSIX uygulama programlama arayuzu API BSD sistem cagrilari Mach gorevlerinin ustundeki Unix islem modeli temel guvenlik ilkeleri kullanici ve grup kimlikleri izinler ag protokolleri sanal dosya sistemi kodu bir dosya sistemi bagimsiz gunluk kaydi katmani dahil Ag Dosya Sistemi NFS istemcisi ve sunucusu sifreleme cercevesi UNIX Sistem V islemler arasi iletisim IPC denetim alt sistemi zorunlu erisim kontrolu ve bazi kilitleme ilkelleri gibi birkac yerel dosya sistemidir XNU da bulunan BSD kodu FreeBSD cekirdeginden geldi Bircogu onemli olcude degistirilmis olsa da Apple ile FreeBSD Projesi arasinda hala kod paylasimi gerceklesiyor K32 K64 XNU Mac OS X Snow Leopard v10 6 Darwin surum 10 ve daha sonraki sistemde iki cesittir 32 bitlik bir surum olan K32 ve 64 bitlik bir surum olan K64 K32 kullanici arazisinde 64 bitlik uygulamalari calistirabilir Mac OS X 10 6 da yeni olan sey 64 bit cekirdek alaninda XNU yu calistirma yetenegiydi K32 Mac Pro ve modelleri disindaki tum makinelerde kullanildiginda 10 6 Server icin varsayilan cekirdekti ve 2008 den itibaren ve 64 bit uygulamalari calistirabiliyordu K64 K32 ye kiyasla birkac avantaja sahiptir Bellek haritasi 32 bit cekirdek alaninin orantisiz olarak genis bir alanini tuketirken 32 GB den fazla RAM yonetebilir Onbellek arabellek boyutlari 32 bit cekirdek alaninin izin verdiginden daha buyuk olabilir bu da g C performansini potansiyel olarak artiracaktir Cekirdek cok buyuk dogrudan bellek erisimi DMA arabelleklerine sahip olsa bile 64 bit alanindaki tum aygitlari esleyebildigi icin yuksek performansli ag aygitlarini veya coklu grafik islemci birimlerini GPU kullanirken performans artar 6 ve 4 u basili tutarken onyukleme yapmak 64 bit cekirdegi destekleyen makinelerde K64 i onyuklemeye zorlar 11 K64 32 bit uygulamalari calistiracak ancak 32 bit cekirdek uzantilarini KEXT calistirmayacaktir boylece yukleyebilmek icin bunlar K64 e tasinmalidir I O Kit Embedded C tabanli C alt kumesiyle yazilmis aygit surucusu cercevesidir Nesne yonelimli tasarimini kullanarak aygit suruculerinin daha az zaman ve kodla yazilmasina yardimci olan herhangi bir suruculer sinifinda ortak olan ozellikler cercevede saglanmaktadir G C Seti cok disli simetrik cok islemcili SMP guvenlidir ve calisirken aygitlara otomatik dinamik aygit yapilandirmasina olanak tanir Cogu surucu kullanici alanindan calistirilacak sekilde yazilabilir bu da sistemin kararliligini daha da gelistirir Bir kullanici alani surucusu cokerse cekirdegi cokertmez Bununla birlikte bir cekirdek alan surucusu cokerse cekirdegi coker Cekirdek alani suruculerine ornek olarak disk adaptoru ve ag adaptoru suruculeri grafik suruculeri Evrensel Seri Veri Yolu USB ve IEEE 1394 FireWire ana bilgisayar denetleyicileri icin suruculer ve VirtualBox ve VMware Fusion gibi sanal makine yazilimi icin suruculer bulunur Paylasilan kaynaklari korumaCok islemcili makinelerde guvenle calistirmak icin paylasilan kaynaklara dosyalar veri yapilari vb Erisim dizileri veya islemler ayni anda ayni kaynagi degistirmeye calismamasi icin serilestirilmelidir Atomik islemler spinlock lar kritik bolumler karsilikli dislamalar muteksler ve dizgelerin seri hale getirilmesi es zamanli erisimi onlemek icin kullanilabilecek tum yontemlerdir Linux ve FreeBSD nin son surumlerinde oldugu gibi XNU Mac OS X 10 4 ve Darwin 8 0 itibariyla cok islemcili sistemlerde daha yuksek performans elde etmek icin ince taneli mutex modeli kullanmaktadir Kaynakca Darwin xnu The Darwin Kernel 15 Aralik 2017 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 Opensource Apple XNU 24 Eylul 2018 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 iOS and macOS researcher is seeking people to work on open source kernel 15 Aralik 2017 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 Kernel Architecture Overview 17 Subat 2018 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 Apple open sourced the kernel of iOS and macOS for ARM processors 15 Aralik 2017 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 A Trusted Scalable Real Time Operating System Environment PDF 22 Agustos 2017 tarihinde kaynagindan PDF Erisim tarihi 15 Aralik 2017 What is Mac OS X 19 Nisan 2019 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 Grand Central Dispatch FreeBSD port 15 Aralik 2017 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 XNU Kernel Source Code 15 Aralik 2017 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 Mach IPC Interface 21 Mayis 2017 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 Introduction to I O Kit Fundamentals 15 Aralik 2017 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 I O Kit Overview 3 Agustos 2017 tarihinde kaynagindan Erisim tarihi 15 Aralik 2017 Dis baglantilarSitesi 18 Subat 2018 tarihinde Wayback Machine sitesinde Ayrica bakinizMach cekirdek Cekirdek bilgisayar bilimi Digital Unix darwin isletim sistemi