Hvad er Android egentlig? er det linux? Er det en distro?

must-have android apps

Android er det mest brugte operativsystem i verden, da antallet af mobile enheder med det overstiger antallet af computere med Windows, det andet mest brugte operativsystem. Men på trods af det er han stadig ukendt for mange mennesker. Nogle ved ikke engang, at der er gemt en Linux-kerne bag Android, andre mener, at det er en GNU/Linux-distro fra Google osv. Men sandheden er, at mange tager fejl om det, og i denne artikel vil du opdage hvad er android og hvilke andre styresystemer den har taget "ting" fra.

Med denne artikel skal vi til aflive nogle myter eksisterende på Googles styresystem, samt for at se, hvad der adskiller det fra Linux, eller hvordan det ligner Linux, afsluttende med det svar, du ledte efter, da du læste denne artikel...

Er Android en distro?

Android tv-boks

For at besvare dette spørgsmål, der diskuteres på nogle websteder som Reddit, bør det være klart først hvad er linux og hvad mange mennesker refererer til med udtrykket Linux:

  • Linux: det er en kerne, en kerne, den mest væsentlige del af et operativsystem, men ikke et komplet operativsystem. Denne del er ansvarlig for styring af hardwareressourcer, da den fungerer som en grænseflade mellem hardwaren og resten af ​​operativsystemet, styring af de processer, der skal udføres, hukommelsesallokering osv. Linux er dog ikke et komplet styresystem, kun en del der også bruger Android som base. Men det er ikke en vanilje Linux-kerne, snarere har de brugt den som en base til at ændre den og tilpasse den til indlejrede enheder.
  • Distro eller distribution: Når man taler om en distro, refererer de almindeligvis til et komplet Linux-baseret operativsystem, hvortil andre forudinstallerede pakker er tilføjet, såsom teksteditorer, en webbrowser, musikafspillere, et skrivebordsmiljø osv. Dette bringer os også til et andet udtryk, og det er GNU/Linux-systemet, da Linux som sådan ikke er et komplet operativsystem, som vi har sagt før. GNU sætter en række værktøjer, der er den anden del, der kombineret med Linux fuldender operativsystemet.

Når det er sagt, så finder vi det Android er ikke en GNU/Linux distro som mange tror, ​​men de har elimineret GNU og beholdt Linux-kernen for at lave en slags "Frankenstein" med andre dele udviklet fra bunden eller fra andre projekter for at færdiggøre operativsystemet til mobile enheder.

I sidste ende, Android er baseret på Linux-kernen. Det er der ingen tvivl om. Argumentet er lige så nemt at forsvare som at gå til Indstillinger-appen på din smartphone eller tablet og lede efter indstillingen Om enhed eller Systeminformation, hvor du vil se Linux-kernekompileringen afspejlet. En anden måde at verificere, at det er en Linux på, er at bruge en terminal med eller uden root, gennemse dens mapper, kontrollere dens hierarki eller bruge de samme kommandoer, som du kunne bruge i terminalen på din GNU/Linux-distribution.

android typer

Android Studio

På den anden side er det vigtigt at bemærke det der er 2 typer Android:

  • Android Open Source-projekt (AOSP) som er et open source-projekt, der vedligeholdes af Google og er åbent for alle at bruge. Dette projekt omfatter også de velkendte GMS eller Google Mobile Services, samt nogle Google-apps, API'er mv.
  • Andre typer Android det er dem, der bruger AOSP som base, men et fællesskab af udviklere ændrer dem for at opnå noget lidt anderledes, såsom LineageOS blandt mange andre projekter. Derudover skal alle Android-systemer, der virkelig når slutbrugeren, når de køber en mobilenhed med dette styresystem, og som også er baseret på AOSP, men som producenter modificerer ved at tilføje tilpasningslag (UI), også medtages her. proprietary kode og andre egne apps eller tjenester (de fleste med GMS, andre, som Huawei, erstatter dem med deres egne kaldet HMS, for at undgå blokaden, som USA har pålagt det kinesiske firma).

Dette er meget vigtigt, da det ikke kun er Android-systemer, der er ændret på basis af AOSP, men også opdateringer, de modtager af OTA de er også specifikke for dem og er ikke helt de samme som dem, der modtages af AOSP. Det betyder, at AOSP-kernen ikke er den samme som kernen på andre Androids. For eksempel, i tilfælde af nogle gratis systemer, er det, der er blevet gjort, at fjerne al firmware og binære klatter fra kernen for at gøre den til 100% fri software. Hvorimod det i fabrikant builds, hvad der normalt gøres, er at inkludere drivere eller firmware, der er nødvendige for visse funktioner eller specifik hardware på enheden, samt tilføje tilpassede lag i dens grafiske brugergrænseflade osv.

Er Android en GNU/Linux-distro?

Recovery Android

Svaret her er klart: NEJ. Og argumenterne for at være så direkte, at det ikke er en GNU/Linux-distribution, er helt klare:

  • Android bruger ikke GNU: Operativsystemet har brug for unikke funktioner for at fungere på mobile enheder. Derfor er der lavet en række ændringer af vanilla Linux-kernen, der er udgivet på kernel.org, og der er også inkluderet andre yderligere dele, som ikke kommer fra GNU-projektet såsom distros, men er biblioteker, API'er og værktøjer. som for det meste er afledt af BSD eller skrevet fra bunden. Jeg mener, det var det, jeg mente, da jeg sagde Frankenstein, da det blander Linux med BSD, hvilket gør det mere som iOS/iPadOS, end en konventionel distro ville være. Faktisk har Android-udviklere været kendt for at bruge et brugerdefineret C-bibliotek kaldet Bionic som deres vigtigste C-bibliotek i stedet for at bruge GNU C-biblioteket. Selv Android gør brug af FAT som et filsystem, et Microsoft-system og knyttet til Windows-verdenen.
  • Kan ikke køre Linux-apps på Android og omvendt: En anden ting, der adskiller en GNU/Linux-distribution fra Android, er, at du ikke kan køre den native software fra en distro på Android, og du kan heller ikke køre native Android-apps på en Linux-distro. Tilpasninger eller emulatorer ville være nødvendige for at kunne gøre det, som dem der er lavet i ChromeOS, Googles styresystem til Chromebooks også baseret på Linux, men som ikke er en GNU/Linux distro som sådan. Android-apps er skrevet i Java, og de har brug for biblioteker og Android-specifik runtime, så de virker ikke på andre operativsystemer, selvom de har samme base.
  • AOSP-udviklingsmodellen er også noget speciel: Og det er, at AOSP er et produkt ejet af Google, så det er Google selv, der bestemmer, hvilken retning platformen vil tage. AOSP-kildekoden er også kun tilgængelig, når den udgives, men den næste version eller udgivelse af AOSP holdes privat. Til gengæld kan andre medarbejdere end Googles egne også bidrage til AOSP, men altid under ledelse af Google. Android-logoet og -mærket er også registreret og ejet af Google, så ingen kan bruge dem til afledte projekter uden Googles samtykke. Dette er meget forskelligt fra Linux-distros, hvoraf mange er mere frit udviklet af fællesskabet eller af virksomheder som Canonical, SUSE osv., som ikke skjuler kildekoden til deres fremtidige udgivelser.
  • GUI: Android har sin egen GUI i AOSP, men sandheden er, at mange mærker bruger deres eget kompatibilitetslag til at ændre basisgrænsefladen og give den nye funktioner eller ændringer i indstillinger. Dette er tilfældet for Samsung med dets OneUI, Huawei med dets EMUI, Xiaomi med dets MIUI, OnePLus OxygenOS, Oppo ColorOS osv. Dette adskiller sig også med GNU/Linux-distros, da skrivebordsmiljøerne ikke er proprietære, og GNU/Linux som sådan ikke har sin egen GUI (selvom GNOME nu er en del af GNU, men ikke er blevet taget som skrivebordsmiljøet som standard for alle distros).
  • Personalisering og privilegierBemærk: Mens en GNU/Linux-distro i høj grad kan tilpasses, så den passer til din smag, samt har root-privilegier, hvis du har brug for dem, er et Android-operativsystem meget mere begrænset. Faktisk er brugeren af ​​operativsystemet ikke systemadministratoren, han kan kun bruge systemet og dets apps, men har ingen kontrol over det. Det er derfor, mange beslutter sig for at roote systemet for at opnå de privilegier, der giver dem adgang til fuld kontrol.
  • Plataforma: mens Linux-kernen er tilgængelig for en bred vifte af arkitekturer (x86, ARM, PPC, SPARC, RISC-V,...), er Android-kernen specielt designet til at køre på ARM, selvom der også er en x86-version at installere på visse enheder som nettops. Derfor, når du kompilerer AOSP, kan du kun gøre det for disse to platforme, og ikke for andre, medmindre du er den, der ændrer kernen for at tilpasse den til en ny platform.

Nu bliver det lidt mere klart for dig, hvad der er Android, og hvad der ikke er Android. Glem ikke at kommentere...