iOS/iPadOS vs. Android: strijd tussen mobiele besturingssystemen

Laatste update: 19 december 2023
iOS/iPadOS versus Android

In de competitieve wereld van mobiele besturingssystemen is de strijd tussen Apple iOS/iPadOS en Google Android is een constante bron van debat en voorkeuren onder gebruikers, hoewel veel van de Vergelijkingen richten zich steeds meer op desktopbesturingssystemen.

Elk van deze systemen biedt unieke ervaringen en onderscheidende functies, van ontwerp tot functionaliteit. In dit artikel bespreken we een gedetailleerde technische vergelijking tussen iOS/iPadOS en Android, waarbij we meer technische aspecten van hen, om ze van binnenuit te leren kennen en zo op de een of andere manier te helpen bij de selectie, maar zonder te vertrouwen op favoritisme...

Wat is iOS?

iOS (voorheen iPhone OS) Het is een mobiel besturingssysteem dat Apple Inc. exclusief voor zijn apparaten heeft ontwikkeld. Het is beschikbaar op iPhones en iPod Touch-apparaten (uit productie sinds medio 2022). Het is na Android het meest gebruikte mobiele besturingssysteem ter wereld.

Het dient ook als basis voor drie andere besturingssystemen van Apple: iPadOS, tvOS en watchOSEn hoewel het propriëtaire software is, zijn onderdelen ervan open source onder de Apple Public Source License en andere licenties.

Fue uitgebracht in 2007 voor de eerste iPhoneiOS is sindsdien uitgebreid met ondersteuning voor andere Apple-apparaten, zoals de iPod Touch (september 2007) en de iPad (geïntroduceerd in januari 2010, verkrijgbaar vanaf april 2010). In maart 2018 bevatte de Apple App Store meer dan 2.1 miljoen iOS-apps, waarvan één miljoen native voor iPads. Deze mobiele apps zijn gezamenlijk meer dan 130 miljard keer gedownload. Belangrijke versies van iOS worden jaarlijks uitgebracht en de huidige stabiele versie, iOS 17, werd op 18 september 2023 uitgebracht.

De oorsprong ervan gaat echter twee jaar eerder terug, toen Steve Jobs in 2005 begon met het plannen van de toekomstige iPhone. Hij moest het ontwikkelingsteam van een nieuw besturingssysteem organiseren, waarvoor hij zowel het ontwikkelingsteam van macOS als dat van de iPod, respectievelijk onder leiding van Scott Forstall en Tony Fadell, zou samenbrengen. een interne competitie om te proberen een zeer beperkt macOS te maken of om het iPod-systeem uit te breiden.

Forstall won door het creëren van iPhone OS, wat het succes van de iPhone als platform voor externe ontwikkelaars mogelijk maakte. Het besturingssysteem werd samen met de iPhone onthuld op de Macworld Conference & Expo op 9 januari 2007 en uitgebracht in juni van dat jaar.

Licentieverlening en ontwikkeling

Hoewel iOS/iPadOS besturingssystemen zijn gesloten of eigendom, gelicentieerd door Apple. Er zijn ook enkele open source-onderdelen gerelateerd aan dit systeem, zoals Darwin, dat gelicentieerd is onder de Apple Public Source License (APSL), een gratis en open source-licentie, hoewel deze niet compatibel is met de GNU GPL.

Appel heeft de XNU-kernel open source gemaakt onder de BSD-licentie 3-clause voor de originele onderdelen die zijn overgenomen van het BSD-systeem, terwijl de door Apple toegevoegde onderdelen onder de APSL-licentie vallen. De kernelversies op iOS zijn echter niet openbaar beschikbaar.

Wat betreft de ontwikkeling wordt voor sommige dingen in de kernel gebruik gemaakt van assemblertaal, evenals programmeertalen C, C++, Objective-C en Swift Voor apps, zoals u wellicht weet, wordt alles wat met het besturingssysteem te maken heeft door Apple zelf ontwikkeld; apps van derden worden echter door een breed scala aan individuen, groepen en bedrijven ontwikkeld.

Om het voor ontwikkelaars gemakkelijker te maken om compatibele apps te maken, heeft Apple een iOS SDK (Software Development Kit)Aanvankelijk was Apple CEO Steve Jobs van plan om externe ontwikkelaars geen native iOS-applicaties te laten maken, maar na druk van ontwikkelaars kondigde hij in oktober 2007 aan dat er in februari 2008 een software development kit beschikbaar zou zijn. Misschien heeft deze beslissing het besturingssysteem gered, want zonder deze zou het app-ecosysteem er erg slecht voor hebben gestaan ​​en zou Android zijn ingestort.

De SDK is beschikbaar voor macOS. Deze biedt toegang tot diverse functies en diensten voor iOS/iPadOS-apparaten, evenals een simulator voor deze mobiele apparaten om applicaties tijdens de ontwikkeling te testen. Abonnement op het Apple Developer Program Om applicaties te testen, technische ondersteuning te krijgen en te distribueren via de App Store, moet u een vergoeding betalen die veel hoger is dan de vergoeding voor publicatie op Google Play.

En ingesteld met XcodeDe iOS SDK helpt ontwikkelaars bij het schrijven van iOS-apps met officieel ondersteunde programmeertalen, zoals Swift en Objective-C. Andere bedrijven hebben ook tools ontwikkeld die native app-ontwikkeling voor deze systemen mogelijk maken met behulp van hun respectievelijke programmeertalen.

Kern of kernel

De iOS/iPadOS-kernel is de XNU-kernel (XNU is niet Unix). XNU-versies zijn gebaseerd op verschillende versies van Darwin en de kernel is ontworpen volgens ASLR (Address Space Layout Randomization). Dit maakt het lastiger om kwetsbaarheden te misbruiken omdat de geheugenadressen waar de kernel zich bevindt niet bekend zijn. Dit zien we bijvoorbeeld ook in Linux.

iOS heeft geen extensies kernel (kexts) In het bestandssysteem wordt de basiskernelimage willekeurig gekozen door de bootloader (iBoot). Na verloop van tijd zijn de kernelversies van iOS/iPadOS en macOS naar elkaar toegegroeid, omdat iOS nieuwe functies introduceerde die later ook in macOS werden opgenomen. Apple lijkt de kernels geleidelijk samen te voegen in een poging de convergentie te bereiken die Microsoft en zelfs Canonical in de Linux-wereld al lang wensen, of om iets te bereiken dat vergelijkbaar is met Google's ChromeOS.

XNU wordt sinds december 1996 door Apple Inc. ontwikkeld voor gebruik op het macOS-besturingssysteem en uitgebracht als gratis en open source-software als onderdeel van de Darwin-besturingssysteemEn later zou het ook de basis vormen voor de rest van de besturingssystemen van het bedrijf.

Voor degenen die nog steeds niet weten wat Darwin is: het is het centrale Unix-achtige besturingssysteem dat oorspronkelijk bestond als een onafhankelijk open source besturingssysteem en is samengesteld uit code die is afgeleid van NeXTSTEP, BSD, Mach en andere vrije softwareprojecten, evenals code die door Apple zelf is ontwikkeld.

Is een hybride kernel die gebruikmaakt van OSFMK 7.3 (Open Software Foundation Mach Kernel) van OSF, elementen van FreeBSD en een objectgeoriënteerde driver-programmeerinterface genaamd I/O Kit. Dit hybride ontwerp combineert de flexibiliteit van een microkernel met de prestaties van een monolithische kernel.

De XCode-ontwikkelomgeving is weliswaar eigendom van Apple, maar maakt voor de daadwerkelijke compilatie gebruik van open source-tools van GCC of LLVM.

Het moet gezegd worden dat hoewel XNU compatibel is met de AMD64- en IA-32-architectuur, het uiteindelijk werd geporteerd naar Apple Silicon (ARM), en nu is de ondersteuning voor andere oudere architecturen stopgezet om de architectuur te stroomlijnen. Bovendien zouden x86-architecturen niet zinvol zijn op mobiele apparaten, zoals hier het geval is. Maar daarover later meer...

Het BSD-gedeelte van de kernel biedt de programmeerinterface voor POSIX-toepassingen (API's), het Unix-procesmodel voor onder andere Mach-taken, basisbeveiligingsbeleid, virtuele bestandssystemen, lokale bestandssystemen en netwerkprotocollen. De I/O Kit is een framework voor apparaatstuurprogramma's geschreven in een subset van C++ gebaseerd op Embedded C++. Het biedt een objectgeoriënteerd ontwerp dat het schrijven van stuurprogramma's in minder tijd en code vergemakkelijkt, is multithreaded, symmetrisch multiprocessor-compatibel en maakt automatische apparaatconfiguratie mogelijk.

Ondersteunde architectuur

De zogenaamde Apple Silicon, zowel in de M-serie voor computers als in de A-Serie voor mobiele apparaten, onder andere, zijn gebaseerd op de ARM-architectuur of ISA, maar het is geen pure ARM. Apple heeft ook zijn eigen specifieke instructies en extensies toegevoegd om de prestaties te optimaliseren op basis van zijn behoeften. En XNU is geoptimaliseerd voor deze ISA en bereikt de beste prestaties en efficiëntie.

Dat wil zeggen dat Apple zijn CPU's aanpast, hoewel het in essentie een ISA-ARM bijna volledig. Deze kleine verschillen, samen met het feit dat het een complexe SoC is met andere componenten, zijn echter de redenen waarom binaire bestanden die voor een pure ARM zijn gecompileerd, niet op deze apparaten werken.

  Hoe u uw pc en elektronische apparaten kunt beschermen tegen een hittegolf

In principe zijn Apple-chips gebaseerd op de ARMv8 momenteel, hoewel ARMv7-A en ARMv6 eerder ook al werden gebruikt.

APFS-bestandssysteem

Apple File System (APFS) Het is een bedrijfseigen bestandssysteem dat is ontwikkeld en gebruikt door Apple Inc. in macOS, maar ook in iOS, watchOS, tvOS en iPadOS. APFS is ontworpen om fundamentele problemen met HFS+ aan te pakken en is geoptimaliseerd voor nieuwere flash-opslagapparaten.

Aangekondigd op de ontwikkelaarsconferentie van Apple in juni 2016. Het systeem maakt gebruik van 64-bits i-node-nummers en biedt veiligere opslagAPFS gebruikt de TRIM-opdracht voor beter ruimtebeheer en betere prestaties. Het maakt gebruik van het GPT-partitioneringsschema, met APFS-containers en APFS-volumes erin. Het biedt efficiënt klonen, snapshots, native encryptie en ondersteuning voor meerdere encryptieopties. Het richt zich ook op gegevensintegriteit, failoverbeveiliging en transparante compressie. Enkele beperkingen zijn echter een gebrek aan checksums voor gebruikersgegevens, tragere prestaties op harde schijven en bekende problemen of kwetsbaarheden.

Grafische interface

Hoewel er geen details bekend zijn over de naam van de GUI voor multi-touch touchscreens, zoals die bekend is voor macOS, dat Aqua heet, weten we wel dat het framework bestaat. UIKit, dat verschillende functies biedt voor het ontwikkelen van applicaties, met componenten waarmee u de hoofdinfrastructuur van apps voor deze besturingssystemen kunt bouwen.

UIKit biedt ook ondersteuning voor animaties, documenten, tekenen en afdrukken, tekstbeheer en -weergave, zoeken, applicatie-extensies, resourcebeheer en het verkrijgen van informatie over het huidige apparaat. U kunt de toegankelijkheidsondersteuning aanpassen en de applicatie-interface lokaliseren voor verschillende talen, landen of culturele regio's. Bovendien werkt UIKit naadloos samen met het SwiftUI-framework, waardoor u onderdelen van uw applicatie in SwiftUI kunt implementeren of interface-elementen tussen de twee frameworks kunt combineren.

Apple mobiele diensten

Er zijn niet al te veel details over dit «Apple Mobiele Diensten», Sterker nog, er wordt niet naar de naam verwezen, zoals bij Android en GMS of Google Mobile Services wel het geval is. Wat we wel weten, is dat het een reeks basisdiensten en apps omvat.

Naast de essentiële diensten voor de mobiele telefoon hebben we ook een kit met vooraf geïnstalleerde apps, oproepen ingebouwd, zoals Camera, Foto's, Berichten, Mail, Safari, Kaarten, Siri, Agenda, App Store, Contacten, Adresboek, Klok, Rekenmachine, Zoek mijn iPhone, Bestanden, etc.

Apps en app store

Zoals ik al zei, de app store waar je alle programma's en videogames kunt downloaden die beschikbaar zijn voor dit platform heet Apple App Store, zoals je weet.

Wat de beschikbare toepassingen betreft, zijn deze zeer talrijk en allemaal geprogrammeerd in idioom:

  • Objective-C is een van de populairste programmeertalen voor de ontwikkeling van iPhone-apps. Het is een op C gebaseerde objectgeoriënteerde taal die in combinatie met Xcode en Cocoa wordt gebruikt om iOS-apps te maken. Cocoa is een programmeerinterface geschreven in Objective-C die geheugenbeheert en het MVC-model volgt. Hoewel Objective-C lange tijd de standaard was, stond Apple in 2010 het gebruik van geïnterpreteerde code toe in de iOS SDK.
  • Swift daarentegen is een nieuwere taal die ontworpen is om gebruiksvriendelijker te zijn dan Objective-C. Het wordt beschouwd als de toekomst van iOS-app-ontwikkeling en is populair geworden vanwege het gebruiksgemak en de overzichtelijke syntaxis. Grote bedrijven zoals Firefox en WordPress hebben Swift omarmd en naar verwachting zullen meer bedrijven de komende jaren van Objective-C naar Swift overstappen.

Bovendien staan ​​de pakketten op Android bekend als .apk, terwijl we op het Apple-systeem de .ipaDe naam komt van het iOS App Store-pakket en is zo simpel als een gecomprimeerd ZIP-bestand met de app. En, tenzij je jailbreakt, kunnen apps die van derden zijn gedownload, om veiligheidsredenen onder geen beding worden geïnstalleerd.

jailbreak

Zoals u wellicht weet, zijn mobiele besturingssystemen zoals iOS/iPadOS en Android zwaar "geblokkeerd" – u bent een gebruiker zonder rechten – om beveiligingsproblemen te voorkomen. Dit beperkt echter ook uw mogelijkheden, en sommige voeren een "jailbreak" uit om rechten te verkrijgen, wat bekend staat als "ontgrendelen". ontsnapping uit de gevangenis, het equivalent van Android root.

Sinds de lancering is iOS onderhevig geweest aan verschillende hacks Ontworpen om functionaliteit toe te voegen die niet door Apple is toegestaan. Vóór de komst van de iOS App Store in 2008 was de belangrijkste reden voor jailbreaken het omzeilen van Apple's aankoopmechanisme voor het installeren van native apps. Hoewel Apple beweerde geen software-updates uit te brengen die specifiek ontworpen waren om deze tools te kraken, patchte elke iOS-update vaak eerder ongepatchte jailbreak-exploits.

Jailbreaken houdt in de kernel exploiteren en patchen van een apparaat elke keer dat het opstart, aangezien iOS bij het opstarten zijn eigen kernel laadt. Er zijn verschillende soorten jailbreaks, waarvan een untethered jailbreak de meest uitgebreide is. Hiermee kan het apparaat zonder computer opnieuw worden opgestart. Tethered jailbreaks werken slechts tijdelijk voor één keer opstarten. In de afgelopen jaren zijn er semi-tethered en semi-untethered oplossingen ontstaan, die verschillen in hoe goed wijzigingen aan het apparaat behouden blijven tussen herstarts.

Wat is iPadOS? Verschillen tussen iOS en iPadOS

iPadOS Het is nog steeds gewoon een aangepaste versie van iOS voor tablets. Hoewel het iOS-apps ondersteunt en een groot deel van zijn codebase deelt met de bredere iOS-platformfamilie, waaronder tvOS, watchOS en het originele iOS voor de iPhone, kent iPadOS een aantal belangrijke verschillen qua functies en mogelijkheden.

In tegenstelling tot iOS voor iPhone is iPadOS geoptimaliseerd voor tabletgebruik en biedt het tabletspecifieke functies. multitasking en uitbreidbaarheidiPadOS ondersteunt bijvoorbeeld de splitscreenmodus en kan met externe beeldschermen werken, functies die niet beschikbaar zijn in iOS voor iPhone. Daarnaast ondersteunt iPadOS Apple Pencil en heeft het een native webdesktopmodus, functies die niet beschikbaar zijn in iOS voor iPhone.

Ondanks deze verbeteringen kent iPadOS enkele beperkingen ten opzichte van iOS voor iPhone. Bijvoorbeeld: iPadOS is niet compatibel met de Apple Watch en vereist een aangesloten iPhone voor functies zoals bellen en iMessages/sms. De compatibiliteit van apps verschilt ook: iPadOS kan de meeste apps die voor iOS zijn ontworpen in de compatibiliteitsmodus draaien, maar de iPhone kan geen apps draaien die specifiek voor iPadOS zijn ontworpen.

En términos de veiligheidiPadOS bevat moderne functies zoals biometrische authenticatie, veilige opslag van wachtwoorden en betalingen, VPN- en IPv6-ondersteuning, blokkering van tracking door derden, back-upversleuteling en versleutelde cloudopslag, om er maar een paar te noemen.

Wat de geschiedenis betreft, deze gaat terug tot de lancering in 2019, toen Apple besloot de iPad-besturingssysteemervaring te differentiëren van die van de iPhone. In de loop der jaren zijn er aanzienlijke verbeteringen doorgevoerd, zoals de Sidecar-modus om de iPad als extern beeldscherm te gebruiken, muis- en trackpadoptimalisaties en nieuwe multitaskingfuncties, zoals Stage Manager in iPadOS 16, waarmee tot vier apps in één desktopinterface kunnen worden uitgevoerd.

En In zakelijke termen kan iPadOS een haalbare optie zijn voor specifieke toepassingen, zoals laptopvervangers, incheckkiosken, informatiedisplays op de werkplek of kassasystemen (POS). De geschiktheid ervan hangt echter af van de specifieke toepassing, aangezien iPadOS geen macOS-desktopapps kan draaien en beperkt is tot apps die zijn ontworpen voor het iOS-platform.

Samengevat, de verschillen tussen iOS en iPadOS zijn de volgende, de rest wordt gedeeld:

  Beste mobiele processors van 2026: bijgewerkte ranglijst
funcionesiOS (iPhone)iPadOS (iPad)
Gesplitst scherm voor appsNeeja
Ondersteuning voor externe weergaveNeeja
Zijspan (scherminvoer)Neeja
Compatibel met apps voor iPadOSNeeja
Compatibel met iOS-appsjaja
Desktop gratis modusNeeja
Apple Watch-standaardjaNee
Telefoniejaja
iMessage / SMSjaja
Dock-gebruikersinterface op het startschermNeeja
Picture-in-picture (PiP)-videojaja
Safari in desktopmodusNeeja
4G/5G-connectiviteitjaJa (sommige versies)
VoIP / videoconferentiesjaja
Biometrische beveiligingjaja
Ultrabreedband (UWB)jaja
Kioskmodus (modus voor één app)jaja
Beheer van mobiele apparatenjaja
Ondersteuning voor Apple PencilNeeja

Wat is Android?

Android Het is een mobiel besturingssysteem ontwikkeld door Google (Alphabet) op basis van een aangepaste versie van de Linux-kernel en andere open-sourcesoftware. Het is primair ontworpen voor touchapparaten zoals smartphones en tablets, hoewel het ook op veel andere apparaten is geïnstalleerd, zoals tv-boxen, sommige kleine laptops, enzovoort.

Het is ontwikkeld door de Open Handset Alliance, een consortium van ontwikkelaars zoals Google zelf, LG, SoftBank, Telefónica, HTC, Dell, Sony, Intel, Motorola, Qualcomm, Texas Instruments, Samsung Electronics, T-Mobile, NVIDIA, enz. Daarnaast heeft het een community die ook bijdraagt ​​aan of eigen forks creëert (Huawei's Harmony OS, Baidu, ColorOS, Replicant, /e/, Lineage OS, Amazon's Fire OS, OnePlus's OxygenOS, Remix OS, enz.). Het werd geïntroduceerd in november 2007 en het eerste commerciële apparaat, de HTC Dream, werd gelanceerd in september 2008.

De kern van het besturingssysteem staat bekend als Android Open Source-project (AOSP), wat gratis en open-source software is, voornamelijk onder de Apache-licentie. De meeste apparaten gebruiken echter de door Google ontwikkelde propriëtaire versie, die closed-source software bevat, zoals Google Mobile Services (GMS) en die ik later zal toelichten.

Android is de meest gebruikte besturingssysteem ter wereld sinds 2011. Het overtreft iOS/iPadOS ruimschoots op mobiel gebied en heeft ook Windows op de desktop overtroffen met miljoenen gebruikers.

De geschiedenis van Android gaat terug tot de oprichting in 2003, met als eerste doel een geavanceerd besturingssysteem voor digitale camera's te ontwikkelen. Na een verschuiving van de focus nam Google Android in 2005 over. Sindsdien heeft het meerdere updates ondergaan, waarbij de namen van desserts in alfabetische volgorde zijn overgenomen, zoals u wellicht al weet...

Naast de concurrentie met het systeem van Apple heeft het ook met andere problemen te maken gehad, zoals patentrechtszaken van Microsoft, bijvoorbeeld voor het gebruik van FAT-bestandssysteemMicrosoft heeft hier zelfs meer geld mee verdiend dan met zijn eigen besturingssysteem Windows Phone, dat een complete flop bleek.

Licentieverlening en ontwikkeling

Android wordt door Google ontwikkeld totdat de laatste wijzigingen en updates klaar zijn voor release. Op dat moment wordt de broncode openbaar gemaakt. Android Open Source-project (AOSP), aangevoerd door Google als een open-sourceinitiatief. De AOSP-code is met minimale aanpassingen te vinden op geselecteerde apparaten, voornamelijk om deze op specifieke hardware te laten werken.

El Android-broncode bevat geen apparaatstuurprogramma'sDeze worden door elke apparaatfabrikant toegevoegd en zijn vaak bedrijfseigen. Ze zijn vereist voor bepaalde hardwarecomponenten.

Wat licenties betreft, moet gezegd worden dat Android voornamelijk open source is, onder licentie GNU GPLv2 voor de Linux-kernel en Apache License 2.0 voor gebruikerssoftwareDaarnaast bevat het freeware en propriëtaire componenten, zoals binaire blobs of drivers die door apparaatfabrikanten zijn toegevoegd om compatibiliteit te garanderen, of zoals GMS.

Kern of kernel

De Android-kernel is gebaseerd op de LTS-takken (Long Term Support) van de linux-kernelTot 2023 gebruikt Android versie 4.14, 4.19, 5.4, 5.10 of 5.15 van de Linux-kernel, aangepast en vaak android13-5.15 of android-4.19-stable genoemd, afhankelijk van het specifieke apparaat. De Android-kernel heeft aanvullende architectuurwijzigingen die door Google zijn doorgevoerd buiten de gebruikelijke ontwikkelingscyclus van de Linux-kernel.

Deze veranderingen omvatten de introductie van componenten Zoals device trees, Ashmem, ION en diverse out-of-memory (OOM) handlers. Hoewel Google bepaalde functies aan de Linux-kernel heeft bijgedragen, zoals de "wakelocks"-functie voor energiebeheer, werden sommige bijdragen aanvankelijk afgewezen door de kernelontwikkelaars vanwege zorgen over de onderhoudbaarheid op de lange termijn.

Zoals u wellicht weet, is de Linux-kernel van het type monolithisch, die dynamisch modules kan laden om op een vergelijkbare manier te functioneren als een microkernel. Het is dus niet zuiver zoals in sommige documenten wordt gesuggereerd, maar is geëvolueerd om zich aan te passen aan veranderende tijden.

Velen zullen zich afvragen waarom Android geen GNU/Linux-distributie is. De reden hiervoor is dat Android geen gebruikmaakt van het GNU-ecosysteem, maar uitsluitend op Linux is gebaseerd. Als vervanging voor GNU heeft het de mksh-shell geïntegreerd, een native kernhulpprogramma-systeem geïnspireerd op NetBSD, en de Bionic libc-bibliotheken, in plaats van de GNU C-bibliotheek (glibc).

Voor degenen die het niet weten Bionic, een fork van de BSD C-standaardbibliotheek die door Google voor Android is ontwikkeld en die deze isoleert van de GPL- en LGPL-licenties. Het is gericht op een kleiner en geheugenefficiënter systeem dan glibc en uClibc, en wordt aanbevolen voor Android-ontwikkeling met de Native Development Kit (NDK). Bionic heeft beperkingen, zoals het ontbreken van C++-uitzonderingsafhandeling, de noodzaak om de Standard Template Library (STL) handmatig op te nemen en het ontbreken van ondersteuning voor uitgebreide tekensets. Het bevat ook Android-specifieke functies in sommige systeemaanroepen en biedt sinds Android Jelly Bean MR1 (4.2) ondersteuning voor glibc's FORTIFY_SOURCE om bufferoverlopen te voorkomen.

Ondersteunde architectuur

Hoewel de Linux-kernel beschikbaar is voor een groot aantal architecturen, is Android tot nu toe alleen geporteerd. voor x86 en ARMEr wordt echter ook gewerkt aan het verkrijgen van steun voor RISC-V.

Sinds Android op de markt kwam, is er specifiek ondersteuning geboden voor de eerste 32-bits ARMv7-apparaten, evenals voor modernere versies van de ISA, zoals de nieuwe 8-bits ARMv9 of ARMv64Natuurlijk ondersteunt het zowel IA-32 als AMD64 aan de x86-kant. En, zoals ik al zei, wordt er momenteel ook RISC-V-ondersteuning toegevoegd, wat erg interessant wordt...

FAT-bestandssysteem

Android is compatibel met meerdere bestandssystemen of FS (bestandssystemen), zoals de volgende:

  • FAT32 (bestandstoewijzingstabel 32): Het is een bestandssysteem dat compatibel is met een breed scala aan platforms. Het heeft beperkingen wat betreft bestands- en partitiegroottes, waardoor het geschikt is voor apparaten met een kleinere opslagcapaciteit en basisbehoeften.
  • Ext3 (derde uitgebreide bestandssysteem): Een bestandssysteem ontworpen voor Linux-systemen. Het biedt verbeterde duurzaamheid en herstel ten opzichte van zijn voorganger, Ext2, door de implementatie van journaling.
  • Ext4 (vierde uitgebreide bestandssysteem): Het is de nieuwste versie van de Ext-serie voor Linux-systemen. Het biedt verbeterde prestaties en de mogelijkheid om grotere bestanden en partities te verwerken. Het behoudt ook de journalingfuncties van Ext3.
  • exFAT (Extended File Allocation Table): Het is ontwikkeld door Microsoft en is een bestandssysteem dat compatibel is met Windows-platforms en verwisselbare opslagapparaten. Het wordt veel gebruikt op geheugenkaarten en flashdrives en omzeilt de beperkingen van FAT32 wat betreft de bestandsgrootte.

De meeste huidige Android-apparaten gebruiken echter FAT, met name exFAT. Daarom verdient Microsoft veel geld met de verkoop van Android-apparaten die deze technologie gebruiken. De rest van de bestandssystemen wordt doorgaans niet gebruikt op mobiele apparaten, maar is specifiek gereserveerd voor x86-Androids.

Grafische interface

materiaal ontwerp Material Design is een reeks ontwerpprincipes en -richtlijnen die door Google zijn ontwikkeld om consistente en aantrekkelijke visuele interfaces in apps en websites te creëren. Het werd geïntroduceerd in 2014 en richt zich op het creëren van een intuïtieve en visueel aantrekkelijke gebruikerservaring. Material Design is gebaseerd op het idee dat de interface er op alle platforms en apparaten hetzelfde uit moet zien en zich hetzelfde moet gedragen.

  Ontdek hoe u de beste microSD voor uw telefoon kiest.

De relatie van Material Design met de GUI (Graphical User Interface) van Android is nauw, aangezien Google heeft het als standaardontwerpbenadering aangenomen voor apps op het Android-besturingssysteem. Material Design biedt gedetailleerde richtlijnen voor het structureren van de interface en het gebruik van kleuren, typografie, animaties en visuele elementen om een ​​samenhangende en boeiende ervaring voor Android-gebruikers te creëren.

Google Mobile Services

Google Mobile Services (GMS) Het is een verzameling bedrijfseigen applicaties en API's (Application Programming Interfaces) van Google die doorgaans vooraf geïnstalleerd zijn op Android-apparaten, waaronder smartphones, tablets, smartwatches en meer. Het is belangrijk om te weten dat GMS geen deel uitmaakt van het Android Open Source Project (AOSP), wat betekent dat een Android-fabrikant een licentie van Google moet verkrijgen om GMS legaal op een Android-apparaat te installeren.

Wat betreft de de fundamentele toepassingen De kernapplicaties van Google Mobile Services zijn onder andere Google Zoeken, Google Chrome, YouTube, Google Play, Google Drive, Gmail, Google Meet, Google Maps, Google Photos, Google TV en YouTube Music. Deze kernapplicaties dragen aanzienlijk bij aan de gebruikerservaring op Android-apparaten en vormen een integraal onderdeel van het ecosysteem dat Google biedt op zijn mobiele platforms.

Omdat ik geen deel uitmaak van AOSP, Deze MSG kan verwijderd worden en deze vervangen door andere, vergelijkbare diensten van derden. Dat is wat Huawei deed met zijn HMS na de sancties die het Chinese merk ervan weerhielden om deze diensten te gebruiken. Ook is dit gedaan in andere afgeleide systemen, zoals Amazon FireOS, dat zijn eigen servicesysteem gebruikt, of zoals het besturingssysteem /e/ dat is gebaseerd op LineageOS en MicroG+Mozilla-locatievoorzieningen gebruikt als vervanging voor GMS.

Apps en app store

Om te beginnen is de app- en videogamewinkel in dit geval Google Play, onderdeel van de Google Play Services die geïntegreerd zijn in GMS. Vanuit deze winkel kunt u alle soorten software downloaden en installeren die beschikbaar zijn voor het platform, en ook de beveiliging controleren, updates uitvoeren en meer.

Android is gebaseerd op de Linux-kernel, zoals ik eerder al zei, maar met middleware, bibliotheken en API's geschreven in C, en applicaties die draaien op een applicatieframework dat Java-compatibele bibliothekenHet platform gebruikt Android Runtime (ART) als uitvoeringsomgeving, met pre-installatiecompilatie. Vóór ART gebruikte Android Dalvik als een just-in-time (JIT) gecompileerde virtuele machine. De standaard C-bibliotheek van Android, Bionic, is speciaal voor Android ontworpen, is lichter dan glibc en uClibc en geoptimaliseerd voor laagfrequente CPU's.

Google heeft in 2012 om licentieredenen de Bluetooth-stack van BlueZ naar BlueDroid overgezet. Bovendien beschikt Android niet standaard over het X Window System en ondersteunt het ook niet de volledige set GNU-bibliotheken. In de huidige versies wordt Speelgoedkist, een verzameling opdrachtregelhulpprogramma's, en Trusty OS, een besturingssysteem binnen Android, bieden een vertrouwde uitvoeringsomgeving voor uiteenlopende toepassingen, van mobiele betalingen tot malwaredetectie.

Wat betreft pakket managerIn dit geval wordt Google Play zelf gebruikt als pakketbeheerder, maar u kunt de beveiligingsopties configureren om pakketten van derden te accepteren, op eigen risico. Daarnaast kunnen ook andere app-winkels onder root worden geïnstalleerd.

De installeerbare bestanden zijn in dit geval .apk. Een APK-bestand (Android-pakket) Het is het formaat dat door het Android-besturingssysteem wordt gebruikt, meestal een JAR-bestandstype. Het kan worden gebouwd met Java- of Kotlin-broncode en bevat alle elementen van een programma, zoals code, resources, certificaten en het manifest. APK-bestanden kunnen worden gegenereerd en ondertekend vanuit Android App Bundles.

Root

Root Op Android-apparaten verwijst het naar het verkrijgen van bevoorrechte toegang tot het besturingssysteem en gevoelige partities, zoals /system/, het equivalent van een Apple-jailbreak. In tegenstelling tot typische Linux-desktopdistributies hebben gebruikers van Android-apparaten geen root-toegang tot het besturingssysteem en zijn bepaalde partities gedeeltelijk alleen-lezen.

Root-toegang kan echter worden verkregen door beveiligingskwetsbaarheden exploiteren op Android of door de bootloader te ontgrendelen. Bootloader-ontgrendeling, beschikbaar op veel Android-apparaten, geeft root-toegang, maar wist daarbij alle gebruikersgegevens. Deze mogelijkheid wordt door de open-sourcecommunity gebruikt om de mogelijkheden en personalisatie van apparaten te verbeteren, maar kan ook door kwaadwillenden worden misbruikt om virussen en malware te installeren.

Samenvatting van de verschillen

ParametersiOS / iPadOSAndroid
ontwikkelaarApple is als enige verantwoordelijk voor de ontwikkeling. De Open Handset Alliance (OHA) en Google zijn verantwoordelijk voor de ontwikkeling.
Eerste release2007, om precies te zijn op 29 juli.2008, om precies te zijn op 23 september.
FamilieUnix-achtig (XNU – Darwin)Unix-achtig (Linux)
Naam van de eerste versieiOS 1 / iPadOS 13Android 1.0
DoelsectorenVoor mobiele apparaten zoals de iPhone, Apple's smartphones en de iPad-tablets van het bedrijf. Het was ook beschikbaar voor iPod-spelers. Voor een breed scala aan apparaten, van mobiele telefoons tot smartphones en tablets, tot tv-boxen, smart-tv's, kleine laptops en meer.
BestuurdersiOS en iPadOS zijn alleen geoptimaliseerd en voorzien van drivers voor Apple-apparaten. Android werkt op een breed scala aan verschillende merken en modellen, met hardware van veel verschillende merken, dus het moet deze drivers bevatten. Het is algemener.
pitiOS en iPadOS hebben de XNU-kern, net als macOS. Een hybride kernAndroid maakt gebruik van Linux en is monolithisch met dynamische modulelading.
licentieiOS/iPadOS maakt gebruik van APSL- en Proprietary (EULA)-licenties, afhankelijk van de partij.Android valt onder de GNU GPLv2-licentie en andere onderdelen vallen onder de Apache-licentie.
ProgrammeertalenVoor de ontwikkeling worden talen zoals Objective-C, Swift, C en C++ gebruikt.Android maakt gebruik van Java, C en C++, hoewel andere componenten ook andere talen kunnen bevatten.
-updateMet OTA-updatemanagerMet OTA-updatemanager
toepassingenApplicaties worden ontwikkeld met Swift.Applicaties worden ontwikkeld in Kotlin en vooral Java.
Standaard webbrowserSafariChroom
SpraakassistentSiriGoogle Assistentie
VeiligheidHet is gebaseerd op een eigen beveiligingssysteem en apps worden gefilterd voordat ze in de App Store worden gepubliceerd om te voorkomen dat ze kwaadaardig zijn. Uiteraard beschikt het over een systeem om bronnen van derden te blokkeren voor de beveiliging en een toestemmingssysteem. Het is gebaseerd op een SELinux-beveiligingssysteem en apps worden gefilterd voordat ze op Google Play worden gepubliceerd om te voorkomen dat ze kwaadaardig zijn. Uiteraard beschikt het over een systeem om externe bronnen te blokkeren voor de beveiliging en een toestemmingssysteem.
talenBeschikbaar in ongeveer 24 verschillende talen.Beschikbaar in meer dan 100 verschillende talen.

iOS/iPadOS vs. Android: voor- en nadelen van elk

Met de hierboven genoemde technische details zou u nu een duidelijker idee moeten hebben van de en nadelen Om het kiezen van het juiste besturingssysteem voor u gemakkelijker te maken, volgen hier enkele van de meest opvallende voor- en nadelen van elk:

  • iOS / iPadOSHet is ontworpen voor alle soorten gebruikers, is zeer gebruiksvriendelijk en intuïtief, maar ook veilig, stabiel en biedt een groot aantal apps. De overstap van het ene platform naar het andere kan echter wat problemen opleveren. Als je Android al eerder hebt gebruikt en er niet ontevreden over bent, zal de overstap naar het Apple-ecosysteem enige aanpassing vergen. Aan de andere kant zijn de volgende punten het vermelden waard:
    • Voordelen:
      • Optimalisatie: iOS/iPadOS is speciaal ontworpen voor Apple-apparaten en zorgt voor een optimale integratie tussen software en hardware. Dit maakt het zeer snelle en efficiënte apparaten.
      • kwaliteit:De apps en hardware zijn doorgaans van hogere kwaliteit en hebben bovendien een exclusiever ontwerp.
      • beveiliging: De gesloten structuur en de strenge controle van de App Store dragen bij aan een veiligere omgeving wat betreft malware en bedreigingen. Mogelijk zijn deze bedreigingen zelfs veiliger dan die van Android, maar ze zijn niet onkwetsbaar.
      • Geïntegreerd ecosysteem: De naadloze integratie met andere Apple-apparaten, zoals Mac, iPad, Apple Watch en diensten als iCloud, zorgt voor een zeer goede ervaring, vergeleken met een heterogeen ecosysteem waarin misschien niet alles zo goed werkt.
    • Nadelen:
      • Beperkt maatwerk: De aanpassingsmogelijkheden voor het systeem en de gebruikersinterface zijn beperkter dan bij Android. Jailbreaken is ook aanzienlijk moeilijker.
      • Kosten: Apple-apparaten zijn doorgaans duurder dan vergelijkbare Android-opties.
      • Minder variatie aan apparaten: Apple maakt een beperkt aantal apparaten, wat de keuze voor consumenten kan beperken, terwijl Android meer opties biedt.
  • AndroidOntworpen voor alle soorten gebruikers, zeer gebruiksvriendelijk en intuïtief, maar ook veilig, stabiel en met een groot aantal beschikbare apps, zelfs meer dan Apple. Hetzelfde geldt als je al gewend bent aan de Apple-omgeving, of andere Apple-apparaten thuis hebt, dan kun je het beste kiezen voor iOS/iPadOS vanwege het gemak en de integratie. Daarnaast zijn de volgende punten het vermelden waard:
    • Voordelen:
      • Verscheidenheid aan apparaten: Android is beschikbaar op een groot aantal apparaten van verschillende fabrikanten, waardoor er opties zijn voor verschillende budgetten en voorkeuren.
      • Geavanceerde aanpassing: Gebruikers hebben meer vrijheid om de gebruikersinterface aan te passen en instellingen naar eigen voorkeuren aan te passen. Daarnaast vind je apps zoals launchers en vele andere functies die geen root nodig hebben om goed te werken.
      • Open source: Omdat het open source is, kan het meer vertrouwen wekken en zijn er zelfs ROM's met een kernel zonder binaire blobs, versies met verbeteringen op het gebied van beveiliging en privacy, zonder GMS, etc.
      • Google-services: Apple heeft niet zoveel variatie in diensten als Google, en sommige hebben het nagelaten, zoals Maps versus Google Maps. Op deze apparaten vind je bijvoorbeeld standaard integratie met Gmail, GDrive, YouTube, Maps, Chrome, GBoard, Lens, Play Music, Foto's, enz.
    • Nadelen:
      • Fragmentatie: Fragmentatie van besturingssystemen kan leiden tot een inconsistente gebruikerservaring, omdat fabrikanten updates in hun eigen tempo uitrollen. Grote merken van mobiele apparaten zoals Google, Samsung en andere ondervinden echter geen problemen.
      • Variabele beveiliging: Vanwege de diversiteit aan apparaten en fabrikanten kan de beveiliging variëren, vooral bij oudere of minder geavanceerde apparaten.
      • Kleine optimalisatie: Omdat de app op zoveel verschillende apparaten moet werken, is hij niet voor één specifiek apparaat geoptimaliseerd. Dat kan leiden tot een spreiding van functies die niet op alle apparaten werken.

U weet natuurlijk al dat de keuze tussen iOS en Android afhangt van de individuele voorkeuren van de gebruiker en factoren zoals budget, gewenste maatwerkmogelijkheden en voorkeur voor een specifiek ecosysteem…