Mobil işletim sistemlerinin rekabetçi dünyasında, rekabet Apple iOS/iPadOS ve Google Android kullanıcılar arasında sürekli bir tartışma ve tercih kaynağı olmuştur, ancak çoğu Karşılaştırmalar daha çok masaüstü işletim sistemlerine odaklanıyor.
Bu sistemlerin her biri, tasarımlarından işlevlerine kadar benzersiz deneyimler ve ayırt edici özellikler sunar. Bu makalede, iOS/iPadOS ve Android arasında ayrıntılı bir teknik karşılaştırmayı inceleyerek, daha teknik yönler Bunlardan birini, onları içeriden tanımak ve böylece bir şekilde seçime katkıda bulunmak, ancak kayırmacılığa dayanmamak...
İOS nedir?
iOS (eski adıyla iPhone OS) Apple Inc. tarafından yalnızca kendi cihazları için geliştirilen bir mobil işletim sistemidir. iPhone ve iPod Touch cihazlarında mevcuttur (2022 ortasında üretimi durdurulmuştur). Android'den sonra dünyada en yaygın kullanılan ikinci mobil işletim sistemidir.
Aynı zamanda Apple tarafından yaratılan üç diğer işletim sisteminin de temelini oluşturur: iPadOS, tvOS ve watchOSVe, özel bir yazılım olmasına rağmen, parçaları Apple Public Source Lisansı ve diğer lisanslar kapsamında açık kaynaklıdır.
Öyleydi 2007'de ilk iPhone için piyasaya sürüldüiOS, o zamandan beri iPod Touch (Eylül 2007) ve iPad (Ocak 2010'da tanıtıldı, Nisan 2010'da kullanıma sunuldu) gibi diğer Apple cihazlarını da destekleyecek şekilde genişletildi. Mart 2018 itibarıyla Apple App Store, bir milyonu iPad'lere özgü olmak üzere 2.1 milyondan fazla iOS uygulaması içeriyor. Bu mobil uygulamalar toplamda 130 milyardan fazla kez indirildi. iOS'un ana sürümleri her yıl yayınlanıyor ve mevcut kararlı sürüm olan iOS 17, 18 Eylül 2023'te herkese açık olarak yayınlandı.
Ancak kökenleri iki yıl öncesine dayanıyor, çünkü Steve Jobs 2005 yılında gelecekteki iPhone'u planlamaya başladığında, Scott Forstall ve Tony Fadell liderliğindeki macOS ve iPod geliştirme ekibini bir araya getireceği yeni bir işletim sisteminin geliştirme ekibini organize etmek zorundaydı. bir iç rekabet çok küçültülmüş bir macOS yaratmaya çalışmak veya iPod sistemini genişletmeye çalışmak.
Forstall yaratarak kazandı iPhone OSiPhone'un üçüncü taraf geliştiriciler için bir platform olarak başarısını sağlayan işletim sistemi, 9 Ocak 2007'de Macworld Konferansı ve Fuarı'nda iPhone ile birlikte tanıtıldı ve aynı yılın Haziran ayında piyasaya sürüldü.
Lisanslama ve geliştirme
iOS/iPadOS işletim sistemleri olmasına rağmen kapalı veya tescilliApple tarafından lisanslanmıştır. Bu sistemle ilgili bazı açık kaynaklı parçalar da vardır; örneğin Darwin, özgür ve açık kaynaklı bir lisans olan Apple Public Source License (APSL) kapsamında lisanslanmıştır, ancak GNU GPL ile uyumlu değildir.
Apple XNU çekirdeğini BSD lisansı altında açık kaynaklı hale getirdi BSD sisteminden devralınan orijinal parçalar için 3. madde geçerlidir; Apple tarafından eklenen parçalar ise APSL lisansı kapsamındadır. Ancak, iOS'taki çekirdek sürümleri herkese açık değildir.
Geliştirme açısından, çekirdekteki bazı şeyler için montaj dili ve programlama dilleri kullanılır C, C++, Objective-C ve Swift Bildiğiniz gibi uygulamalar için. İşletim sistemiyle ilgili her şey Apple tarafından geliştiriliyor; ancak üçüncü taraf uygulamalar çok çeşitli kişiler, gruplar ve şirketler tarafından geliştiriliyor.
Geliştiricilerin uyumlu uygulamalar oluşturmasını kolaylaştırmak için Apple, iOS SDK (Yazılım Geliştirme Kiti)Apple CEO'su Steve Jobs, başlangıçta üçüncü taraf geliştiricilerin yerel iOS uygulamaları oluşturmasına izin vermeyi planlamamıştı; ancak geliştiricilerin baskıları üzerine Ekim 2007'de Şubat 2008'de bir yazılım geliştirme kitinin kullanıma sunulacağını duyurdu. Belki de bu karar işletim sistemini kurtardı, çünkü bu karar olmasaydı uygulama ekosistemi çok zayıf olurdu ve Android çökerdi.
SDK, macOS için mevcuttur. Çeşitli iOS/iPadOS cihaz özelliklerine ve hizmetlerine erişim sağlamanın yanı sıra, geliştirme sırasında uygulamaları test etmek için bu mobil cihazlara yönelik bir simülatör de sunar. Apple Geliştirici Programı aboneliği Uygulamaları test etmek, teknik destek almak ve App Store üzerinden dağıtmak için Google Play'de yayınlamak için ödenen ücretten çok daha yüksek bir ücret ödemeniz gerekir.
En Xcode ile ayarlandıiOS SDK, geliştiricilerin Swift ve Objective-C gibi resmi olarak desteklenen programlama dillerini kullanarak iOS uygulamaları yazmalarına yardımcı olur. Diğer şirketler de, ilgili programlama dillerini kullanarak bu sistemler için yerel uygulama geliştirmeyi sağlayan araçlar geliştirmiştir.
Çekirdek veya çekirdek
iOS/iPadOS çekirdeği XNU çekirdeği (XNU, Unix Değildir). XNU sürümleri, Darwin'in farklı sürümlerine dayanmaktadır ve çekirdek, ASLR (Adres Alanı Düzeni Rastgeleleştirmesi) altında tasarlanmıştır; bu da çekirdeğin bulunduğu bellek adreslerini bilmemenin yol açtığı güvenlik açıklarından yararlanma olasılığını zorlaştırır; bu, Linux'ta da gördüğümüz bir şeydir.
iOS'un uzantıları yok çekirdek (kexts) Dosya sisteminde, temel çekirdek görüntüsü önyükleyici (iBoot) tarafından rastgele oluşturulur ve zamanla iOS/iPadOS ve macOS'un çekirdek sürümleri birleşir; çünkü iOS, daha sonra macOS'a da dahil edilen yeni özellikler sunar. Apple, Microsoft ve hatta Linux dünyasında Canonical'ın uzun zamandır arzuladığı birleşmeyi veya Google'ın ChromeOS'una benzer bir şeyi başarmak amacıyla çekirdekleri kademeli olarak birleştiriyor gibi görünüyor.
XNU, Aralık 1996'dan beri Apple Inc. tarafından macOS işletim sisteminde kullanılmak üzere geliştirilmekte ve ücretsiz ve açık kaynaklı yazılım olarak yayınlanmaktadır. Darwin işletim sistemiVe daha sonra şirketin diğer işletim sistemlerinin de temeli olacaktı.
Darwin'in ne olduğunu hala bilmeyenler için, başlangıçta bağımsız bir açık kaynaklı işletim sistemi olarak var olan ve kodlardan türetilen merkezi Unix benzeri işletim sistemidir. NeXTSTEP, BSD, Mach ve diğer özgür yazılım projelerinin yanı sıra Apple'ın kendisi tarafından geliştirilen kodlar.
Öyle bir hibrit çekirdek OSF'den OSFMK 7.3 (Open Software Foundation Mach Kernel), FreeBSD öğeleri ve I/O Kit adı verilen nesne yönelimli bir sürücü programlama arayüzü kullanan hibrit tasarım, bir mikro çekirdeğin esnekliğini monolitik bir çekirdeğin performansıyla birleştiriyor.
XCode geliştirme ortamı, görünüşte Apple'a ait olmasına rağmen, gerçek derleme için GCC veya LLVM'den açık kaynaklı araçlar kullanır.
XNU'nun AMD64 ve IA-32 mimarisiyle uyumlu olmasına rağmen, sonunda şu şekilde taşındığı söylenmelidir: Apple Silikon (ARM)ve artık mimariyi basitleştirmek için diğer eski mimarilere verilen destek kaldırıldı. Dahası, x86 mimarileri, burada olduğu gibi, mobil cihazlarda mantıklı olmayacaktır. Ama buna daha sonra değineceğiz...
Çekirdeğin BSD kısmı, programlama arayüzünü sağlar POSIX uygulamaları (API'ler)Mach görevleri, temel güvenlik politikaları, sanal dosya sistemleri, yerel dosya sistemleri ve ağ protokolleri gibi Unix işlem modellerini içerir. G/Ç Kiti, Embedded C++ tabanlı bir C++ alt kümesinde yazılmış bir aygıt sürücüsü çerçevesidir. Sürücüleri daha kısa sürede ve kod yazarak yazmayı kolaylaştıran nesne yönelimli bir tasarım sunar, çok iş parçacıklıdır, simetrik olarak çok işlemcilidir ve otomatik aygıt yapılandırmasına olanak tanır.
Desteklenen mimari
Hem bilgisayarlar için M Serisinde hem de diğer ürünlerde Apple Silicon olarak adlandırılan A-Serisi Mobil cihazlar için üretilen diğer seriler arasında ARM mimarisi veya ISA tabanlı olanlar da var, ancak saf bir ARM değiller. Apple ayrıca, performansı ihtiyaçlarına göre optimize etmek için kendi özel talimatlarını ve uzantılarını da ekledi. XNU da bu ISA için optimize edilerek en iyi performans ve verimlilik sağlandı.
Yani Apple, özünde bir işlemci olmasına rağmen, CPU'larını özelleştiriyor. ISA KOLU neredeyse tamamen. Ancak bu küçük farklılıklar ve diğer bileşenlerin de dahil olduğu karmaşık bir SoC olması, saf ARM için derlenen ikili dosyaların bu cihazlarda çalışmamasının nedenleridir.
Temel olarak, Apple çipleri şunlara dayanmaktadır: ARMv8 Şu anda, daha önce ARMv7-A ve ARMv6 da kullanılmış olsa da.
APFS dosya sistemi
Elma Dosya Sistemi (APFS) Apple Inc. tarafından macOS, iOS, watchOS, tvOS ve iPadOS'ta geliştirilen ve kullanılan tescilli bir dosya sistemidir. APFS, HFS+ ile ilgili temel sorunları gidermek üzere tasarlanmış ve daha yeni flash depolama sürücüleri için optimize edilmiştir.
Haziran 2016'da Apple'ın geliştirici konferansında duyuruldu. Sistem 64 bit i-node numaralarını kullanır ve şunları sunar: daha güvenli depolamaAPFS, daha iyi alan yönetimi ve performans için TRIM komutunu kullanır. APFS kapsayıcıları ve APFS birimleriyle birlikte GPT bölümleme şemasını kullanır. Verimli klonlama, anlık görüntüler, yerel şifreleme ve birden fazla şifreleme seçeneği desteği sunar. Ayrıca veri bütünlüğü, yük devretme koruması ve şeffaf sıkıştırmaya odaklanır. Ancak, kullanıcı verileri için sağlama toplamlarının olmaması, sabit disklerde daha yavaş performans ve bilinen sorunlar veya güvenlik açıkları gibi bazı sınırlamaları vardır.
Grafik arayüz
Çoklu dokunmatik ekranlar için GUI'nin (macOS'ta Aqua olarak bilinir) adı hakkında henüz bir bilgi bulunmamakla birlikte, bildiğimiz tek şey, böyle bir çerçevenin var olduğudur. UIKit, uygulama geliştirmek için çeşitli işlevler sunan, bu işletim sistemleri için uygulamaların ana altyapısını oluşturmanıza olanak tanıyan bileşenler sağlayan.
UIKit ayrıca animasyonlar, belgeler, çizim ve yazdırma, metin yönetimi ve görüntüleme, arama, uygulama uzantıları, kaynak yönetimi ve mevcut cihaz hakkında bilgi edinme desteği de sunar. Erişilebilirlik desteğini özelleştirmenize ve uygulama arayüzünü farklı diller, ülkeler veya kültürel bölgeler için yerelleştirmenize olanak tanır. Ayrıca, UIKit aşağıdakilerle sorunsuz bir şekilde çalışır: SwiftUI çerçevesi, uygulamanızın bazı bölümlerini SwiftUI'da uygulamanıza veya iki framework arasında arayüz öğelerini karıştırmanıza olanak tanır.
Apple Mobil Hizmetleri
Bu konuda çok fazla ayrıntı yok «Apple Mobil Hizmetleri», Aslında, Android ve GMS veya Google Mobil Servisleri'nde olduğu gibi isme dair bir atıf yok. Ancak bildiğimiz şey, bir dizi temel hizmet ve uygulamayı içerdiği.
Cep telefonu için gerekli hizmetlere ek olarak, önceden yüklenmiş uygulamalar, aramalar ve daha fazlası da içeren bir setimiz var. mavi-girişKamera, Fotoğraflar, Mesajlar, Posta, Safari, Haritalar, Siri, Takvim, App Store, Kişiler, Adres Defteri, Saat, Hesap Makinesi, iPhone'umu Bul, Dosyalar vb. gibi.
Uygulamalar ve uygulama mağazası
Bahsettiğim gibi, bu platform için mevcut tüm programları ve video oyunlarını indirebileceğiniz uygulama mağazasının adı nedir? Apple App Store, Bildiğiniz gibi.
Mevcut uygulamalara gelince, bunlar çok sayıdadır ve hepsi de şu şekilde programlanmıştır: deyimler:
- Objective-C, iPhone uygulama geliştirme için en popüler programlama dillerinden biridir. iOS uygulamaları oluşturmak için Xcode ve Cocoa ile birlikte kullanılan C tabanlı, nesne yönelimli bir dildir. Cocoa, belleği yöneten ve MVC modelini izleyen, Objective-C ile yazılmış bir programlama arayüzüdür. Objective-C uzun zamandır standart olmasına rağmen, Apple 2010 yılında iOS SDK'sında yorumlanmış kod kullanımına izin verdi.
- Swift ise, Objective-C'den daha kullanıcı dostu olacak şekilde tasarlanmış daha yeni bir dildir. iOS uygulama geliştirmenin geleceği olarak kabul edilir ve kullanım kolaylığı ve daha temiz sözdizimi nedeniyle popülerlik kazanmıştır. Firefox ve WordPress gibi büyük şirketler Swift'i benimsemiştir ve önümüzdeki yıllarda daha fazla şirketin Objective-C'den Swift'e geçiş yapması beklenmektedir.
Ayrıca, Android'de paketler .apk olarak bilinirken, Apple sisteminde .ipaAdını iOS App Store paketinden alan uygulama, uygulamayı içeren sıkıştırılmış bir ZIP dosyası kadar basit. Jailbreak yapmadığınız sürece, üçüncü taraf kaynaklardan indirilen uygulamalar güvenlik nedeniyle hiçbir koşulda yüklenemez.
firar
Bildiğiniz gibi, iOS/iPadOS ve Android gibi mobil işletim sistemleri, güvenlik sorunlarından kaçınmak için büyük ölçüde "kilitli" olarak gelir; yani ayrıcalıksız bir kullanıcı olursunuz. Ancak bu durum, yeteneklerinizi de sınırlar ve bazıları ayrıcalık kazanmak için "kilit açma" olarak bilinen bir "jailbreak" işlemi gerçekleştirir. firar, Android root'a eşdeğerdir.
iOS, piyasaya sürülmesinden bu yana, çeşitli hileler Apple tarafından izin verilmeyen işlevler eklemek için tasarlanmıştır. 2008'de iOS App Store'un ortaya çıkmasından önce, jailbreak'in temel amacı, Apple'ın yerel uygulamaları yüklemek için kullandığı satın alma mekanizmasını atlatmaktı. Apple, bu araçları kırmak için özel olarak tasarlanmış yazılım güncellemeleri yayınlamadığını iddia etse de, her iOS güncellemesi genellikle daha önce yamalanmamış jailbreak açıklarını giderir.
Jailbreak şunları içerir: çekirdeği istismar edin ve yamalayın iOS, önyükleme sırasında kendi çekirdeğini yüklediğinden, cihaz her önyüklemede bir hata mesajı verir. Farklı jailbreak türleri mevcuttur; bunlardan en kapsamlısı, cihazın bilgisayar olmadan yeniden başlatılmasına olanak tanıyan bağımsız jailbreak'tir. Bağlı jailbreak'ler yalnızca tek bir önyükleme için geçici olarak çalışır. Son yıllarda, yarı bağlı ve yarı bağımsız çözümler ortaya çıkmış ve cihazda yapılan değişikliklerin yeniden başlatmalar arasında ne kadar kalıcı olacağı konusunda farklılıklar görülmüştür.
iPadOS nedir? iOS ve iPadOS arasındaki farklar
iPadOS Hâlâ tabletler için modifiye edilmiş bir iOS. iOS uygulamalarını desteklese ve kod tabanının büyük bir kısmını tvOS, watchOS ve iPhone için orijinal iOS dahil olmak üzere daha geniş iOS platform ailesiyle paylaşsa da, iPadOS özellikler ve yetenekler açısından bazı önemli farklılıklar içeriyor.
iPadOS, iPhone için iOS'un aksine tablet kullanımı için optimize edilmiş olup tabletlere özgü özellikler sunuyor. çoklu görev ve genişletilebilirlikÖrneğin, iPadOS bölünmüş ekran modunu destekler ve harici ekranlarla çalışabilir; bu özellikler, iPhone için iOS'ta mevcut değildir. Ayrıca, iPadOS, Apple Pencil'ı destekler ve iPhone için iOS'ta bulunmayan yerleşik bir web masaüstü moduna sahiptir.
Bu gelişmelere rağmen, iPadOS'un iPhone için iOS'a kıyasla bazı sınırlamaları vardır. Örneğin, iPadOS, Apple Watch ile uyumlu değildir Telefon görüşmeleri ve iMessage/SMS gibi özellikler için bağlı bir iPhone gerekir. Uygulama uyumluluğu da farklılık gösterir; iPadOS, iOS için tasarlanmış çoğu uygulamayı uyumluluk modunda çalıştırabilirken, iPhone, özellikle iPadOS için tasarlanmış uygulamaları çalıştıramaz.
En términos de güvenlikiPadOS, biyometrik kimlik doğrulama, parolalar ve ödemeler için güvenli öğe depolama, VPN ve IPv6 desteği, üçüncü taraf izleme engelleme, yedekleme şifrelemesi ve şifreli bulut depolama gibi modern özellikleri içeriyor.
Tarihine gelince, ... kadar uzanıyor 2019'da lansmanıApple, iPad işletim sistemi deneyimini iPhone'dan farklılaştırmaya karar verdiğinde. Yıllar içinde, iPad'i harici ekran olarak kullanmak için Sidecar modu, fare ve izleme dörtgeni optimizasyonları ve iPadOS 16'daki Sahne Yöneticisi gibi yeni çoklu görev özellikleri gibi önemli iyileştirmeler sunuldu. Bu özellik, tek bir masaüstü arayüzünde dört uygulamaya kadar çalışma olanağı sağlıyor.
En İş açısından iPadOS uygulanabilir bir seçenek olabilir Dizüstü bilgisayarların yerini alması, check-in kioskları, iş yeri bilgi ekranları veya satış noktası (POS) sistemleri gibi belirli kullanım durumları için uygundur. Ancak, iPadOS'un macOS masaüstü uygulamalarını çalıştıramaması ve iOS platformu için tasarlanmış uygulamalarla sınırlı olması nedeniyle, uygunluğu belirli kullanım durumuna bağlıdır.
Özet olarak, iOS ve iPadOS arasındaki farklar şunlardır, geri kalanı paylaşılmıştır:
| fonksiyonlar | iOS (iPhone'lar) | iPadOS (iPad) |
| Uygulamalar için bölünmüş ekran | Yok hayır | Evet |
| Harici ekran desteği | Yok hayır | Evet |
| Sidecar (ekran girişi) | Yok hayır | Evet |
| iPadOS uygulamalarıyla uyumludur | Yok hayır | Evet |
| iOS uygulamalarıyla uyumludur | Evet | Evet |
| Masaüstü ücretsiz modu | Yok hayır | Evet |
| Apple Watch Stand | Evet | Yok hayır |
| telefonculuk | Evet | Evet |
| iMesaj / SMS | Evet | Evet |
| Ana ekranda Dock UI | Yok hayır | Evet |
| Resim içinde resim (PiP) videosu | Evet | Evet |
| Masaüstü modunda Safari | Yok hayır | Evet |
| 4G / 5G bağlantısı | Evet | Evet (bazı versiyonlar) |
| VoIP / görüntülü konferans | Evet | Evet |
| Biyometrik güvenlik | Evet | Evet |
| Ultra geniş bant (UWB) | Evet | Evet |
| Kiosk modu (Tek uygulama modu) | Evet | Evet |
| Mobil Cihaz Yöneticisi | Evet | Evet |
| Apple Pencil için destek | Yok hayır | Evet |
Android nedir?
Android Google (Alphabet) tarafından geliştirilen, Linux çekirdeğinin değiştirilmiş bir sürümü ve diğer açık kaynaklı yazılımlara dayanan bir mobil işletim sistemidir. Öncelikle akıllı telefonlar ve tabletler gibi dokunmatik cihazlar için tasarlanmış olsa da, TV kutuları, bazı küçük dizüstü bilgisayarlar vb. gibi birçok başka cihaza da yüklenmiştir.
Tarafından geliştirilmiştir Handset Alliance'ı açGoogle, LG, SoftBank, Telefónica, HTC, Dell, Sony, Intel, Motorola, Qualcomm, Texas Instruments, Samsung Electronics, T-Mobile, NVIDIA vb. geliştiricilerden oluşan bir konsorsiyumdur. Ayrıca, kendi çatallarını (Huawei'nin Harmony OS, Baidu, ColorOS, Replicant, /e/, Lineage OS, Amazon'un Fire OS, Oneplus'ın OxygenOS, Remix OS vb.) oluşturan veya katkıda bulunan bir topluluğa sahiptir. Kasım 2007'de tanıtılmış ve ilk ticari cihaz olan HTC Dream, Eylül 2008'de piyasaya sürülmüştür.
İşletim sisteminin çekirdeği olarak bilinir Android Açık Kaynak Projesi (AOSP), öncelikle Apache Lisansı altında ücretsiz ve açık kaynaklı bir yazılımdır. Ancak çoğu cihaz, Google tarafından geliştirilen ve kapalı kaynaklı yazılımlar da içeren tescilli sürümü kullanır. Google Mobil Hizmetler (GMS) ve bunları daha sonra ayrıntılı olarak anlatacağım.
Android olmuştur dünyada en çok kullanılan işletim sistemi 2011'den beri. Mobil alanda iOS/iPadOS'u geride bırakmış, masaüstünde ise Windows'u milyonlarca kullanıcıyla geride bırakmıştır.
Android'in tarihi ... yılına kadar uzanıyor 2003 yılında kurulmuştur, Başlangıçta dijital kameralar için gelişmiş bir işletim sistemi geliştirmeyi amaçlayan Google, odak noktasını değiştirdikten sonra 2005 yılında Android'i satın aldı. O zamandan beri, bildiğiniz gibi, tatlı isimlerini alfabetik sıraya göre uyarlayarak birçok güncelleme geçirdi...
Apple'ın sistemiyle rekabetin yanı sıra, Microsoft'un örneğin, kullanımıyla ilgili patent davaları gibi başka sorunlarla da karşı karşıya kaldı. FAT dosya sistemiAslında Microsoft, tam bir fiyasko olduğu ortaya çıkan kendi Windows Phone işletim sisteminden kazandığından daha fazla parayı buradan kazandı.
Lisanslama ve geliştirme
Android, en son değişiklikler ve güncellemeler yayınlanmaya hazır olana kadar Google tarafından geliştirilir ve bu noktada kaynak kodu kamuya açık hale getirilir. Android Açık Kaynak Projesi (AOSP)Google liderliğinde açık kaynaklı bir girişim olan AOSP kodu, belirli cihazlarda, özellikle belirli donanımlarda çalışmasını sağlamak için, minimum değişikliklerle bulunur.
El Android kaynak kodu aygıt sürücülerini içermiyorBunlar, her cihaz üreticisi tarafından eklenir, genellikle tescillidir ve belirli donanım bileşenleri için gereklidir.
Lisanslara gelince, Android'in esas olarak lisans altında açık kaynaklı olduğunu söylemek gerekir. Linux çekirdeği için GNU GPLv2 ve kullanıcı alanı yazılımı için Apache Lisansı 2.0Ayrıca, uyumluluğu garantilemek için cihaz üreticileri tarafından eklenen ikili blob'lar veya sürücüler veya GMS gibi ücretsiz yazılımlar ve tescilli bileşenler de vardır.
Çekirdek veya çekirdek
Android çekirdeği, uzun vadeli destek (LTS) dallarına dayanmaktadır. Linux çekirdeği2023 yılına kadar Android, Linux çekirdeğinin 4.14, 4.19, 5.4, 5.10 veya 5.15 sürümlerini kullanacak ve bu sürümler cihaza bağlı olarak genellikle android13-5.15 veya android-4.19-stable olarak adlandırılacak. Android çekirdeğinde, Google tarafından tipik Linux çekirdek geliştirme döngüsünün dışında uygulanan ek mimari değişiklikler de mevcut.
Bu değişiklikler şunları içerir: bileşenlerin tanıtımı Aygıt ağaçları, Ashmem, ION ve çeşitli bellek dışı (OOM) işleyicileri gibi. Google, Linux çekirdeğine "wakelocks" güç yönetimi özelliği gibi bazı özellikler katmış olsa da, bazı katkılar başlangıçta çekirdek çekirdek geliştiricileri tarafından uzun vadeli sürdürülebilirlik endişeleri nedeniyle reddedildi.
Bildiğiniz gibi, Linux çekirdeği şu türdedir: monolitik, bir mikro çekirdeğe benzer şekilde çalışmak için dinamik modül yükleme yeteneğine sahiptir. Bu nedenle, bazı belgelerde öne sürüldüğü gibi saf değildir, ancak değişen zamanlara uyum sağlamak için evrimleşmiştir.
Birçok kişi Android'in neden bir GNU/Linux dağıtımı olmadığını merak edecektir. Bunun nedeni ise Android'in GNU ekosistemini kullanmaması, yalnızca Linux tabanlı olması ve GNU yerine NetBSD'den esinlenerek oluşturulmuş yerel bir çekirdek yardımcı program sistemi olan mksh kabuğunu ve GNU C Kütüphanesi (glibc) yerine Bionic libc kütüphanelerini entegre etmiş olmasıdır.
Bilmeyenler için biyonikGoogle tarafından Android için geliştirilen BSD C standart kütüphanesinin bir çatalı olan ve onu GPL ve LGPL lisanslarından ayıran . glibc ve uClibc'den daha küçük ve bellek açısından daha verimli olmaya odaklanan Bionic, Native Development Kit (NDK) ile Android geliştirme için önerilir. Bionic'in C++ istisna işleme eksikliği, Standart Şablon Kütüphanesi'ni (STL) manuel olarak ekleme gereksinimi ve genişletilmiş karakter kümeleri için destek eksikliği gibi sınırlamaları vardır. Ayrıca bazı sistem çağrılarında Android'e özgü işlevler içerir ve Android Jelly Bean MR1 (4.2) sürümünden bu yana, arabellek taşmalarını önlemek için glibc'nin FORTIFY_SOURCE özelliğini destekler.
Desteklenen mimari
Linux çekirdeği çok sayıda mimari için mevcut olmasına rağmen Android'e henüz taşınmadı. x86 ve ARM içinAncak, aynı zamanda destek sağlamak için de çalışmalar devam ediyor. RISC V.
Özellikle Android çıktığından beri, ilk 32-bit ARMv7 aygıtlarının yanı sıra yeni ISA gibi daha modern sürümler için de destek sağlandı. 8 bit ARMv9 veya ARMv64Elbette, x32 tarafında hem IA-64 hem de AMD86'ü destekliyor. Ayrıca, dediğim gibi, şu anda RISC-V desteği de ekleniyor ve bu çok ilginç olacak...
FAT dosya sistemi
Android ile uyumludur birden fazla dosya sistemi veya FS (Dosya Sistemleri), aşağıdakiler gibi:
- FAT32 (Dosya Ayırma Tablosu 32): Çok çeşitli platformlarla uyumlu bir dosya sistemidir. Dosya ve bölüm boyutlarında sınırlamalar vardır, bu da onu daha küçük depolama kapasitelerine ve temel ihtiyaçlara sahip cihazlar için uygun hale getirir.
- Ext3 (Üçüncü Genişletilmiş Dosya Sistemi): Linux sistemleri için tasarlanmış bir dosya sistemidir. Günlükleme özelliği sayesinde, öncülü Ext2'ye kıyasla gelişmiş dayanıklılık ve kurtarma sağlar.
- Ext4 (Dördüncü Genişletilmiş Dosya Sistemi): Linux sistemleri için Ext serisinin en son sürümüdür. Gelişmiş performans ve daha büyük dosyaları ve bölümleri yönetme yeteneği sunar. Ayrıca, Ext3'ün günlük tutma özelliklerini de korur.
- exFAT (Genişletilmiş Dosya Tahsis Tablosu): Microsoft tarafından geliştirilen bu dosya sistemi, Windows platformları ve çıkarılabilir depolama aygıtlarıyla uyumlu olacak şekilde tasarlanmıştır. Genellikle hafıza kartlarında ve flash sürücülerde kullanılır ve FAT32'nin dosya boyutu sınırlamalarını aşar.
Ancak, mevcut Android cihazların çoğu FAT, özellikle de exFAT kullanıyor. Bu nedenle Microsoft, bu teknolojiyi kullanarak Android cihaz satışlarından büyük paralar kazanıyor. Diğer dosya sistemleri genellikle mobil cihazlarda kullanılmaz, ancak özellikle x86 Android'ler için ayrılmıştır.
Grafik arayüz
Materyal Tasarımı Materyal Tasarım, Google tarafından uygulamalarda ve web sitelerinde tutarlı ve ilgi çekici görsel arayüzler oluşturmak için geliştirilen bir tasarım ilkeleri ve yönergeleri kümesidir. 2014 yılında kullanıma sunulan Materyal Tasarım, sezgisel ve görsel olarak hoş bir kullanıcı deneyimi oluşturmaya odaklanır. Materyal Tasarım, arayüzün tüm platformlarda ve cihazlarda aynı görünüm ve davranışa sahip olması gerektiği fikrine dayanır.
Malzeme Tasarımının Android'in GUI'si (Grafiksel Kullanıcı Arayüzü) ile ilişkisi yakındır, çünkü Google bunu standart tasarım yaklaşımı olarak benimsedi Android işletim sistemindeki uygulamalar için. Material Design, arayüzün nasıl yapılandırılacağı, renklerin, tipografinin, animasyonların ve görsel öğelerin nasıl kullanılacağı ve Android kullanıcıları için tutarlı ve ilgi çekici bir deneyimin nasıl oluşturulacağı konusunda ayrıntılı yönergeler sunar.
Google Mobil Hizmetleri
Google Mobil Hizmetler (GMS) GMS, akıllı telefonlar, tabletler, akıllı saatler ve daha fazlası dahil olmak üzere Android cihazlarda genellikle önceden yüklü olarak gelen, Google'ın tescilli uygulamaları ve uygulama programlama arayüzleri (API) hizmetlerinden oluşan bir koleksiyondur. GMS'nin Android Açık Kaynak Projesi'nin (AOSP) bir parçası olmadığını belirtmek önemlidir; bu, bir Android üreticisinin bir Android cihaza GMS'yi yasal olarak yüklemek için Google'dan lisans alması gerektiği anlamına gelir.
Ilişkin temel uygulamalar Google Mobil Hizmetleri'ni oluşturan temel uygulamalar arasında Google Arama, Google Chrome, YouTube, Google Play, Google Drive, Gmail, Google Meet, Google Haritalar, Google Fotoğraflar, Google TV ve YouTube Müzik yer alır. Bu temel uygulamalar, Android cihazlardaki kullanıcı deneyimine önemli ölçüde katkıda bulunur ve Google'ın mobil platformlarında sunduğu ekosistemin ayrılmaz bir parçasıdır.
AOSP'nin bir parçası olmamak, Bu MSG çıkarılabilir ve bunu diğer benzer üçüncü taraf hizmetlerle değiştirmek, Huawei'nin Çinli markanın bunları kullanmasını engelleyen yaptırımlardan sonra HMS'sinde yaptığı şeydir veya kendi hizmet sistemini kullanan Amazon FireOS gibi diğer türetilmiş sistemlerde veya GMS'nin yerine MicroG+Mozilla konum hizmetlerini kullanan LineageOS tabanlı /e/ işletim sisteminde olduğu gibi yapılmıştır.
Uygulamalar ve uygulama mağazası
Başlangıç olarak, bu durumda uygulama ve video oyunu mağazası Google OyunGMS'ye entegre Google Play Hizmetleri'nin bir parçası. Bu mağazadan, platform için mevcut tüm yazılım türlerini indirip yükleyebilir, ayrıca güvenlik, güncelleme ve daha fazlasını kontrol edebilirsiniz.
Android, daha önce de belirttiğim gibi Linux çekirdeğine dayanmaktadır ancak ara yazılım, C dilinde yazılmış kütüphaneler ve API'ler ve bir uygulama çerçevesinde çalışan uygulamalar içerir. Java uyumlu kitaplıklarPlatform, ön yükleme derlemesiyle birlikte yürütme ortamı olarak Android Runtime'ı (ART) kullanır. ART'den önce Android, Dalvik Tam zamanında (JIT) derlenmiş bir sanal makine olarak. Android standart C kütüphanesi Bionic, glibc ve uClibc'den daha hafif ve düşük frekanslı CPU'lar için optimize edilmiş olması nedeniyle özellikle Android için tasarlanmıştır.
Google, lisanslama nedenleriyle Bluetooth yığınını 2012 yılında BlueZ'den BlueDroid'e geçirdi. Ayrıca, Android doğal olarak X Pencere Sistemi'ne sahip değildir ve GNU kütüphanelerinin tamamını desteklemez. Mevcut sürümlerde, Oyuncak kutusuKomut satırı yardımcı programlarından oluşan bir koleksiyon olan Trusty OS ve Android içindeki bir işletim sistemi olan Trusty OS, mobil ödemelerden kötü amaçlı yazılım tespitine kadar çeşitli uygulamalar için güvenilir bir yürütme ortamı sağlar.
Gelince Paketleme yöneticisiBu durumda, paket yöneticisi olarak Google Play'in kendisi kullanılır; ancak güvenlik seçeneklerini, kendi sorumluluğunuzda olmak üzere üçüncü taraf kaynaklardan gelen paketleri kabul edecek şekilde yapılandırabilirsiniz. Ayrıca, diğer uygulama mağazaları da root erişimiyle kurulabilir.
Bu durumda kurulabilir dosyalar .apk'dır. Bir APK (Android Paketi) dosyası Android işletim sistemi tarafından kullanılan formattır ve genellikle bir JAR dosya türüdür. Java veya Kotlin kaynak kodundan oluşturulabilir ve kod, kaynaklar, sertifikalar ve manifest dosyası gibi bir programın tüm öğelerini içerir. APK dosyaları, Android Uygulama Paketleri'nden oluşturulabilir ve imzalanabilir.
Kök
Kök Android cihazlarda, işletim sistemine ve /system/ gibi hassas bölümlere ayrıcalıklı erişim elde etmeyi ifade eder; bu, Apple'ın jailbreak'ine eşdeğerdir. Tipik masaüstü Linux dağıtımlarının aksine, Android cihaz kullanıcılarının işletim sistemine kök erişimi yoktur ve belirli bölümler kısmen salt okunurdur.
Ancak kök erişimi şu şekilde elde edilebilir: güvenlik açıklarından yararlanmak Android'de veya önyükleyicinin kilidini açma. Birçok Android cihazda bulunan önyükleyicinin kilidini açma, root erişimine izin verir ancak işlem sırasında tüm kullanıcı verilerini siler. Bu özellik, açık kaynak topluluğu tarafından cihaz özelliklerini ve özelleştirmeyi geliştirmek için kullanılır, ancak kötü niyetli kişiler tarafından virüs ve kötü amaçlı yazılım yüklemek için de kullanılabilir.
Farklılıkların özeti
| Parametreler | iOS / iPadOS | Android |
| geliştirici | Geliştirmeden yalnızca Apple sorumludur. | Geliştirmeden Open Handset Alliance (OHA) ve Google sorumlu. |
| İlk sürüm | 2007 yılı, tam olarak 29 Temmuz. | 2008 yılı, tam olarak 23 Eylül. |
| Aile | Unix benzeri (XNU – Darwin) | Unix benzeri (Linux) |
| İlk sürümün adı | iOS 1 / iPadOS 13 | Android 1.0 |
| Hedef sektörler | iPhone, Apple akıllı telefonları ve şirketin iPad tabletleri gibi mobil cihazlar için. Ayrıca iPod oynatıcılar için de mevcuttu. | Cep telefonlarından akıllı telefonlara ve tabletlere, TV kutularından akıllı televizyonlara, küçük dizüstü bilgisayarlara ve daha fazlasına kadar geniş bir yelpazede cihaz için. |
| Sürücüler | iOS ve iPadOS yalnızca Apple cihazları için optimize edilmiştir ve sürücüler eklenmiştir. | Android, birçok farklı marka ve modelde, birçok farklı markanın donanımıyla çalıştığı için bu sürücüleri içermesi gerekir. Daha geneldir. |
| çekirdek | iOS ve iPadOS, macOS gibi XNU çekirdeğine sahiptir. Hibrit bir çekirdek | Android, Linux kullanır ve dinamik modül yüklemesiyle monolitiktir. |
| lisans | iOS/iPadOS, tarafa bağlı olarak APSL ve Özel (EULA) lisansları kullanır. | Android, GNU GPLv2 lisansı altında lisanslanmıştır ve diğer parçalar Apache Lisansı altında lisanslanmıştır. |
| Programlama dilleri | Geliştirilmesinde Objective-C, Swift, C ve C++ gibi diller kullanılmaktadır. | Android, Java, C ve C++ dillerini kullanır, ancak diğer bileşenler başka dilleri de içerebilir. |
| Actualización | OTA güncelleme yöneticisi ile | OTA güncelleme yöneticisi ile |
| uygulamaları | Uygulamalar Swift kullanılarak geliştiriliyor. | Uygulamalar Kotlin ve özellikle Java ile geliştiriliyor. |
| Varsayılan web tarayıcısı | Safari | krom |
| Ses asistanı | Siri | Google Yardımı |
| güvenlik | Kendi güvenlik sistemine dayanıyor ve uygulamalar App Store'da yayınlanmadan önce kötü amaçlı olmadıklarından emin olmak için filtreleniyor. Elbette, güvenlik için üçüncü taraf kaynakları engelleyen bir sistemi ve bir izin sistemi var. | SELinux güvenlik sistemine dayanıyor ve uygulamalar Google Play'de yayınlanmadan önce kötü amaçlı olmadıklarından emin olmak için filtreleniyor. Elbette, güvenlik için üçüncü taraf kaynakları engelleyen bir sisteme ve bir izin sistemine sahip. |
| dil | Yaklaşık 24 farklı dilde mevcuttur. | 100'ten fazla farklı dilde mevcuttur. |
iOS/iPadOS ve Android: Her birinin avantajları ve dezavantajları
Yukarıda belirtilen teknik detaylarla artık daha net bir fikre sahip olmalısınız avantajlar ve dezavantajlar Her birinin avantajları ve dezavantajları. Ancak doğru işletim sistemini seçmenizi kolaylaştırmak için, her birinin en belirgin avantajları ve dezavantajları şunlardır:
- iOS / iPadOSHer türlü kullanıcıya uygun olarak tasarlanan bu platform, kullanımı oldukça kolay ve sezgisel olmasının yanı sıra güvenli, kararlı ve çok sayıda uygulama sunuyor. Ancak, bir platformdan diğerine geçiş bazı zorluklar yaratabilir; bu nedenle, daha önce Android kullandıysanız ve memnun değilseniz, Apple ekosistemine geçiş biraz ayarlama gerektirecektir. Diğer yandan, aşağıdaki noktalara dikkat etmek önemlidir:
- Avantaj:
- Optimizasyon: Apple cihazları için özel olarak tasarlanan iOS/iPadOS, yazılım ve donanım arasında optimum entegrasyon sağlar. Bu da onları çok hızlı ve verimli cihazlar haline getirir.
- kalite: Uygulamalar ve donanımlar genellikle daha kalitelidir ve daha özel bir tasarıma sahiptir.
- güvenlik: Kapalı yapı ve App Store'un sıkı denetimi, zararlı yazılımlar ve tehditler açısından Android'i geride bırakacak kadar güvenli bir ortam sağlıyor, ancak Android de tamamen güvenli değil.
- Entegre ekosistem: Mac, iPad, Apple Watch gibi diğer Apple cihazları ve iCloud gibi servislerle kusursuz entegrasyon, her şeyin aynı derecede iyi çalışmadığı heterojen bir ekosisteme kıyasla çok daha iyi bir deneyim sağlıyor.
- Dezavantajları:
- Sınırlı özelleştirme: Sistem ve kullanıcı arayüzü özelleştirmeleri Android'e kıyasla daha sınırlıdır. Jailbreak yapmak da önemli ölçüde daha zordur.
- Maliyet: Apple cihazları genellikle eşdeğer Android seçeneklerine kıyasla daha pahalıdır.
- Daha az cihaz çeşitliliği: Apple'ın sınırlı sayıda cihaz üretmesi tüketicilerin tercihlerini kısıtlarken, Android daha fazla seçenek sunuyor.
- Avantaj:
- AndroidHer türlü kullanıcıya uygun olarak tasarlanmış, kullanımı çok kolay ve sezgisel, aynı zamanda güvenli, kararlı ve Apple'dan bile daha fazla uygulama seçeneği sunuyor. Aynı durum, Apple ortamına alışkınsanız veya evinizde başka Apple cihazlarınız varsa da geçerli; kolaylık ve entegrasyon açısından iOS/iPadOS'u tercih etmeniz en iyisi. Ayrıca, aşağıdaki noktalara da dikkat çekmekte fayda var:
- Avantaj:
- Cihaz çeşitliliği: Android, farklı üreticilerin çok çeşitli cihazlarında mevcut olup, farklı bütçelere ve tercihlere uygun seçenekler sunmaktadır.
- Gelişmiş özelleştirme: Kullanıcılar, kullanıcı arayüzünü özelleştirme ve ayarları kendi tercihlerine göre ayarlama konusunda daha fazla özgürlüğe sahip. Ayrıca, düzgün çalışması için root gerektirmeyen başlatıcılar ve diğer birçok özellik gibi uygulamalar da bulacaksınız.
- Açık kaynak: Açık kaynaklı olması, daha fazla güven sağlayabilir ve hatta ikili blob'lardan arındırılmış çekirdekli ROM'lara, GMS'siz, güvenlik ve gizlilik iyileştirmeleri olan sürümlere vb. sahip olabilirsiniz.
- Google Hizmetleri: Apple, Google kadar çeşitli hizmetler sunmuyor ve bazıları, örneğin Haritalar ve Google Haritalar gibi, rakiplerinin gerisinde kalıyor. Örneğin, bu cihazlarda varsayılan olarak Gmail, GDrive, YouTube, Haritalar, Chrome, GBoard, Lens, Play Müzik, Fotoğraflar vb. ile entegrasyon bulacaksınız.
- Dezavantajları:
- Parçalanma: İşletim sistemi parçalanması, üreticilerin güncellemeleri kendi hızlarında yayınlaması nedeniyle tutarsız bir kullanıcı deneyimine yol açabilir. Ancak Google, Samsung ve diğerleri gibi büyük mobil cihaz markaları herhangi bir sorun yaşamıyor.
- Değişken güvenlik: Cihaz ve üretici çeşitliliği nedeniyle güvenlik, özellikle eski veya düşük donanımlı cihazlarda farklılık gösterebilir.
- Küçük iyileştirme: Çok çeşitli farklı cihazlarda çalışması gerektiğinden, belirli bir cihaz için optimize edilmemiştir; bu da hepsinde çalışmayan işlevlerin dağılmasına yol açabilir.
- Avantaj:
Elbette iOS ile Android arasındaki seçimin kullanıcının bireysel tercihlerine ve bütçe, istenen özelleştirme ve belirli bir ekosisteme olan ilgi gibi faktörlere bağlı olacağını zaten biliyorsunuz…