XNU - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Çekirdek tasarımı
    • 1.1 Mach
    • 1.2 BSD
    • 1.3 K32/K64
    • 1.4 I/O Kit
  • 2 Paylaşılan kaynakları koruma
  • 3 Kaynakça
  • 4 Dış bağlantılar
  • 5 Ayrıca bakınız

XNU

  • العربية
  • Català
  • Čeština
  • Deutsch
  • English
  • Español
  • فارسی
  • Suomi
  • Français
  • עברית
  • İtaliano
  • 日本語
  • 한국어
  • Nederlands
  • Polski
  • Português
  • Română
  • Русский
  • Svenska
  • Українська
  • Tiếng Việt
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
XNU
Geliştirici(ler)Apple
Kaynak türüAçık kaynak
LisansApple Public Source License
Çekirdek türüMelez çekirdek
İlk Yayınlanma
  • Aralık 1996
Platform desteğiIA-32, x86-64, ARM
Programlama diliC, C++

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.[1] Ayrıca, iOS, tvOS ve watchOS işletim sistemlerinin çekirdeği olarak da kullanılır. XNU, "X is Not Unix"'in bir kısaltmasıdır.

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.[2]

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 C++ API ile değiştirildi.[3]

Çekirdek tasarımı

[değiştir | kaynağı değiştir]
XNU

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.[4]

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.[5] PowerPC desteği, sürüm 10'dan itibaren kaldırılmıştır (Mac OS X Snow Leopard).

Mach

[değiştir | kaynağı değiştir]

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).[6] 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.[7] 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

[değiştir | kaynağı değiştir]
XNU grafiği

Ç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), HFS / HFS Plus, 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.[8] 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

[değiştir | kaynağı değiştir]

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 Xserve 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.[9] 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.[10]

I/O Kit

[değiştir | kaynağı değiştir]

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.[11]

Ç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 Veriyolu (USB) ve IEEE 1394 FireWire ana bilgisayar denetleyicileri için sürücüler ve VirtualBox, Mac için Parallels Desktop ve VMware Fusion gibi sanal makine yazılımı için sürücüler bulunur.[12]

Paylaşılan kaynakları koruma

[değiştir | kaynağı değiştir]

Ç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

[değiştir | kaynağı değiştir]
  1. ^ "Darwin-xnu: The Darwin Kernel". 15 Aralık 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 
  2. ^ "Opensource-Apple / XNU". 24 Eylül 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 
  3. ^ "iOS and macOS researcher is seeking people to work on open-source kernel". 15 Aralık 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 
  4. ^ "Kernel Architecture Overview". 17 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 
  5. ^ "Apple open-sourced the kernel of iOS and macOS for ARM processors". 15 Aralık 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 
  6. ^ "A Trusted, Scalable, Real-Time Operating System Environment" (PDF). 22 Ağustos 2017 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 15 Aralık 2017. 
  7. ^ "What is Mac OS X?". 19 Nisan 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 
  8. ^ "Grand Central Dispatch - FreeBSD port". 15 Aralık 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 
  9. ^ "XNU Kernel: Source Code". 15 Aralık 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 
  10. ^ "Mach IPC Interface". 21 Mayıs 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 
  11. ^ "Introduction to I/O Kit Fundamentals". 15 Aralık 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 
  12. ^ "I/O Kit Overview". 3 Ağustos 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2017. 

Dış bağlantılar

[değiştir | kaynağı değiştir]
  • Sitesi 18 Şubat 2018 tarihinde Wayback Machine sitesinde arşivlendi.

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  • Mach (çekirdek)
  • Çekirdek (bilgisayar bilimi)
  • Digital Unix
  • darwin (işletim sistemi)
  • g
  • t
  • d
→MacOS/macOS
Versiyonlar
  • Server 1.0 Hera
  • Public Beta Kodiak
  • 10.0 Cheetah
  • 10.1 Puma
  • 10.2 Jaguar
  • 10.3 Panther
  • 10.4 Tiger
  • 10.5 Leopard
  • 10.6 Snow Leopard
  • 10.7 Lion
  • 10.8 Mountain Lion
  • 10.9 Mavericks
  • 10.10 Yosemite
  • 10.11 El Capitan
  • 10.12 Sierra
  • 10.13 High Sierra
  • 10.14 Mojave
  • 10.15 Catalina
  • 11.0 Big Sur
  • 12.0 Monterey
  • 13.0 Ventura
macOS wordmark
Uygulamalar
  • Automator
  • Hesap makinesi
  • Takvim
  • Satranç
  • İletişim
  • Dashboard
  • Sözlük uygulaması
  • DVD Oynatıcı
  • FaceTime
  • Bulucu
  • Game Center
  • Grapher
  • iTunes
  • Launchpad
  • Mac App Store
  • Apple Posta
  • Mesajlar
  • Notlar
  • Bildirim Merkezi
  • Photo Booth
  • Fotoğraflar
  • Önizleme
  • QuickTime
  • Hatırlatmalar
  • Safari
  • Stickies
  • TextEdit
  • Time Machine
  • Front Row
  • iChat
  • iPhoto
  • iSync
  • Sherlock
Kamu hizmetleri
  • Activity Monitor
  • AirPort Utility
  • AppleScript Editor
  • Archive Utility
  • Audio MIDI Setup
  • Bluetooth File Exchange
  • Boot Camp
  • ColorSync
  • Configurator
  • Console
  • Crash Reporter
  • DigitalColor Meter
  • Directory Utility
  • DiskImageMounter
  • Disk Utility
  • Font Book
  • Grab
  • Help Viewer
  • Image Capture
  • Installer
  • Keychain Access
  • Migration Assistant
  • Network Utility
  • ODBC Administrator
  • Screen Sharing
  • System Preferences
  • System Information
  • Terminal
  • Universal Access
  • VoiceOver
  • Software Update
  • Remote Install Mac OS X
Teknoloji ve kullanıcı arayüzü
  • AirPrint
  • AirPlay
  • AirDrop
  • Apple menü
  • Apple Push Notification Service
  • AppleScript
  • Aqua
  • Audio Units
  • Bonjour
  • CloudKit
  • Cocoa (API)
  • ColorSync
  • Command key
  • Core Animation
  • Core Audio
  • Core Data
  • Core Foundation
  • Core Image
  • Core OpenGL
  • Core Text
  • Core Video
  • CUPS
  • Cover Flow
  • Darwin
  • Dock
  • File Quarantine
  • FileVault
  • Fonts
  • Gatekeeper
  • Grand Central Dispatch
  • Apple Icon Image format
  • iCloud
  • Inkwell
  • I/O Kit
  • Kernel panic
  • Keychain
  • launchd
  • Mach-O
  • MacRuby
  • Menu extra
  • Metal (API)
  • Mission Control
  • OpenCL
  • Option key
  • Preference Pane
  • Property list
  • Quartz
  • QuickTime
  • Quick Look
  • Sanal klasör
  • Speakable items
  • Spotlight
  • Stacks
  • System Integrity Protection
  • Uniform Type Identifier
  • Universal binary
  • WebKit
  • XNU
  • XQuartz
  • Carbon (API)
  • BootX
  • Brushed metal
  • Classic Environment
  • Rosetta
  • Spaces
  • Xgrid
Apple listeleri
  • Apple donanımları
  • Apple'ın ana hatları
  • İOS ve iPadOS cihazları listesi
  • Macintosh modelleri listesi
    • Kasa tipine göre Macintosh modelleri listesi
    • CPU türüne göre Macintosh modelleri listesi
  • iPod modelleri listesi
  • Apple modelleri zaman çizelgesi
  • macOS bileşenleri
  • Apple yazılımları listeleri
  • Apple tarafından satın alınan şirketler listesi
  • Apple kod sürümleri listesi
  • Apple sürücüleri listesi
  • iPad aksesuarları listesi
  • Apple medya etkinlikleri listesi
  • Apple işletim sistemleri listesi
    • iOS sürüm tarihçesi
    • macOS sürüm tarihçesi
  • Apple yazılımları listeleri
  • Apple yazı tipleri listesi
    • macOS'ta bulunan yazı tipleri listesi
  • Apple TV+ orijinal programları listesi
  • g
  • t
  • d
Apple Inc. yazılımları
OS
  • Darwin
  • MacOS/macOS
    • Public Beta
    • "Cheetah"
    • "Puma"
    • "Jaguar"
    • "Panther"
    • "Tiger"
    • "Leopard"
    • "Snow Leopard"
    • "Lion"
    • "Mountain Lion"
    • "Mavericks"
    • "Yosemite"
    • "El Capitan"
    • "Sierra"
    • "High Sierra"
    • "Mojave"
    • "Catalina"
    • "Big Sur"
    • "Monterey"
    • "Ventura"
    • "Sonoma"
    • "Sequoia"
  • iPadOS
  • iOS
    • sürüm tarihçesi
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
  • tvOS
  • watchOS
  • CarPlay
Tüketici
  • iCloud
  • iLife
    • iMovie
    • iDVD
    • iPhoto
    • GarageBand
    • iWeb
  • iWork
    • Apple Keynote
    • Apple Pages
    • Apple Numbers
  • iBooks Author
Profesyonel
  • Aperture
  • FileMaker Pro
  • Final Cut Studio
    • Final Cut Pro
    • DVD Studio Pro
    • Compressor
    • Soundtrack Pro
    • Color
    • Compressor
  • Logic Studio
    • Logic Pro
    • Mainstage
    • Soundtrack Pro
Paket
  • iTunes
    • sürüm tarihçesi
  • Mail
  • Messages
  • Apple Fotoğraflar
  • Photo Booth (yazılım)
  • QuickTime
  • Safari
    • sürüm tarihçesi
  • TextEdit
Sunucu
  • Apple Remote Desktop
  • macOS Server
  • WebObjects
  • Xsan
Durdurulan
  • .Mac
  • Aperture
  • AppleWorks
  • Bento
  • Color
  • DVD Studio Pro
  • Final Cut Express
  • Front Row
  • HyperCard
  • iChat
  • iDVD
  • iPhoto
  • iWeb
  • Logic Express
  • Mac OS
    • System 1
    • System 2
    • System 3
    • System 4
    • System 5
    • System 6
    • System 7
    • 8
    • 9
  • MacDraw
  • MacPaint
  • MacProject
  • MacTerminal
  • MacWrite
  • MobileMe
  • ResEdit
  • Shake
  • Soundtrack Pro
  • iWork.com
  • Logic Express
Apple listeleri
  • Apple donanımları
  • Apple'ın ana hatları
  • İOS ve iPadOS cihazları listesi
  • Macintosh modelleri listesi
    • Kasa tipine göre Macintosh modelleri listesi
    • CPU türüne göre Macintosh modelleri listesi
  • iPod modelleri listesi
  • Apple modelleri zaman çizelgesi
  • macOS bileşenleri
  • Apple yazılımları listeleri
  • Apple tarafından satın alınan şirketler listesi
  • Apple kod sürümleri listesi
  • Apple sürücüleri listesi
  • iPad aksesuarları listesi
  • Apple medya etkinlikleri listesi
  • Apple işletim sistemleri listesi
    • iOS sürüm tarihçesi
    • macOS sürüm tarihçesi
  • Apple yazılımları listeleri
  • Apple yazı tipleri listesi
    • macOS'ta bulunan yazı tipleri listesi
  • Apple TV+ orijinal programları listesi
  • g
  • t
  • d
FreeBSD Projesi
FreeBSD
  • FreeBSD Core Team
  • FreeBSD Documentation License
  • FreeBSD Foundation
  • FreeBSD Ports
  • Sürüm Geçmişi
  • Kernel Normal Form
Altsistemler
Zamanlama
  • ALTQ
  • ULE scheduler
Sanallaştırma
  • chroot
  • jail
  • bhyve
Depolama
  • GEOM
    • raid5
    • GBDE
    • geli
    • LVM2
    • vinum
  • disklabel
    • fdisk
  • UFS
    • Soft updates
  • VFS
  • ZFS
  • Highly Available STorage
Ağ
  • 802.11 sürücüleri
  • ALTQ
  • Bluetooth
  • BPF
  • IPFilter
  • ipfw
  • Netgraph
  • NDIS
  • pf
    • CARP
    • pfsync
  • SCTP
Diğerleri
  • busdma
  • DTrace
  • OpenPAM
  • OpenBSM
  • portsnap
  • kqueue
  • KLD
  • moused
  • systat
Kişiler
  • Matthew Dillon
  • Jordan Hubbard
  • Poul-Henning Kamp
  • Mike Karels
  • Ben Laurie
  • Sam Leffler
  • Marshall Kirk McKusick
  • Diomidis Spinellis
  • Robert Watson
  • Dru Lavigne
Türevler
Açık kaynak
  • XNU
    • Darwin
  • DesktopBSD
  • DragonFly BSD
  • FreeNAS
  • FreeSBIE
  • GhostBSD
  • Kylin
  • MidnightBSD
  • m0n0wall
    • OPNsense
    • pfSense
  • TrueOS
  • GNU/kFreeBSD
  • Gentoo/FreeBSD
  • XigmaNAS
Özel mülk
  • Junos
  • macOS, iOS, tvOS ve watchOS
  • Nintendo Switch OS
  • OpenServer 10
  • PlayStation 3 OS
  • PlayStation 4 OS
  • PlayStation Vita OS
"https://tr.wikipedia.org/w/index.php?title=XNU&oldid=34707381" sayfasından alınmıştır
Kategoriler:
  • Mach (çekirdek)
  • Monolitik çekirdekler (bilgisayar bilimi)
  • MacOS
  • İOS
Gizli kategoriler:
  • Bölge parametresi kullanılmayan video oyunu çıkış tarihi şablonu içeren sayfalar
  • Webarşiv şablonu wayback bağlantıları
  • Sayfa en son 13.09, 27 Ocak 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
XNU
Konu ekle