Android Archistruktura: warstwy, framework, komponent

โšก Inteligentne podsumowanie

Android ArchiStruktura to warstwowy stos oprogramowania, ktรณry rozdziela zagadnienia na cztery gล‚รณwne poziomy: warstwฤ™ aplikacji, strukturฤ™ aplikacji, Android ลšrodowisko wykonawcze z bibliotekami rdzeniowymi i jฤ…drem Linuxa. Kaลผda warstwa rozwiฤ…zuje odrฤ™bne problemy i moลผe byฤ‡ aktualizowana niezaleลผnie.

  • ๐Ÿ“ฑ Warstwa aplikacji: Gรณrna warstwa zawiera aplikacje widoczne dla uลผytkownika, takie jak Ekran gล‚รณwny, Kontakty, Wiadomoล›ci, E-mail i Przeglฤ…darka.
  • ๐Ÿงฐ Struktura aplikacji: Java Interfejsy API, takie jak Menedลผer aktywnoล›ci, Menedลผer okien i Dostawca treล›ci, udostฤ™pniajฤ… twรณrcom aplikacji funkcje urzฤ…dzenia.
  • โš™๏ธ ลšrodowisko wykonawcze i biblioteki: Android ลšrodowisko wykonawcze (ART) wykonuje kod aplikacji obsล‚ugiwany przez C/C++ biblioteki takie jak SQLite, OpenGL i WebKit.
  • ๐Ÿง Jฤ…dro Linuksa: Fundacja zapewnia sterowniki urzฤ…dzeล„, zarzฤ…dzanie pamiฤ™ciฤ… i zarzฤ…dzanie procesami dla sprzฤ™tu.
  • ๐Ÿงฑ Warstwowa konstrukcja: Rozdzielenie obszarรณw zainteresowania pozwala na rozwijanie, aktualizowanie i naprawianie kaลผdej warstwy bez wpล‚ywu na pozostaล‚e.
  • ๐Ÿ”Œ Sterowniki sprzฤ™tu: Sterowniki jฤ…dra dla poล‚ฤ…czeล„ USB, Bluetooth, Wi-Fi, wyล›wietlacza i audio Android do komponentรณw fizycznych.

Android pierwsze wydanie systemu operacyjnego miaล‚o miejsce w 2008 roku. Juลผ na poczฤ…tku zespรณล‚ stojฤ…cy za systemem operacyjnym budowaล‚ go na barkach gigantรณw. Oprรณcz interfejsu uลผytkownika, ktรณry Android OS wystฤ™puje na poziomie powierzchni, skล‚ada siฤ™ z wielu warstw. Warstwy te obejmujฤ… niestandardowy kod i technologie open source, ktรณre sฤ… stale rozwijane od dziesiฤ™cioleci.

Android Zostaล‚ opracowany dziฤ™ki ogromnej wspรณล‚pracy i inwestycjom wielu firm. Gล‚รณwnฤ… firmฤ… stojฤ…cฤ… za rozwojem Androida jest GoogleDo innych firm zaliczajฤ… siฤ™ producenci urzฤ…dzeล„, tacy jak Samsung i LG, producenci procesorรณw, tacy jak Intel i ARM, ลผeby wymieniฤ‡ tylko kilka.

Gdy rozmawiamy o sprawiedliwym dostฤ™pie do Android architektura, mamy na myล›li to, jak Android system zostaล‚ zaprojektowany, podzielony na warstwy i zbudowany tak, aby dziaล‚aล‚ jako system. Zbudowanie tak zล‚oลผonego systemu wymaga starannej strukturyzacji, aby zapewniฤ‡, ลผe wszystkie komponenty bฤ™dฤ… dziaล‚aฤ‡ spรณjnie. Jego architektura zapewnia, ลผe โ€‹โ€‹wiele komponentรณw bฤ™dzie dziaล‚aฤ‡ jako caล‚oล›ฤ‡ bez awarii.

Warstwy

Poniลผej przedstawiono warstwy, ktรณre skล‚adajฤ… siฤ™ na Android architektura oznaczona na schemacie:

  1. Zastosowanie
  2. Ramy aplikacji
  3. Android Biblioteki wykonawcze i podstawowe
  4. Linux Kernel

Developing System operacyjny dla urzฤ…dzeล„ mobilnych wiฤ…ลผe siฤ™ z szeregiem wyzwaล„. Zastosowanie tej wielowarstwowej architektury gwarantuje rozbicie i rozwiฤ…zanie rรณลผnych problemรณw na rรณลผnych poziomach.

Architektura warstwowa pomaga oddzieliฤ‡ obawy i zapewnia, ลผe โ€‹โ€‹programiล›ci oprogramowania na Androida nie muszฤ… radziฤ‡ sobie z problemami niskiego poziomu na kaลผdym kroku. Zamiast tego mogฤ… skupiฤ‡ siฤ™ na dostarczaniu wartoล›ci biznesowej zwiฤ…zanej z warstwฤ…, nad ktรณrฤ… pracujฤ….

Programiล›ci pracujฤ… nad tym, aby aplikacje nie musiaล‚y martwiฤ‡ siฤ™ o implementacjฤ™ struktury aplikacji. Ta praca pozostaje twรณrcom systemu pracujฤ…cym nad frameworkiem aplikacji.

Deweloperzy Application Framework pracujฤ… nad doล›wiadczeniem programisty i nie muszฤ… siฤ™ martwiฤ‡ o sterowniki niskiego poziomu. Inลผynierowie systemรณw niskiego poziomu mogฤ… skupiฤ‡ siฤ™ caล‚kowicie na komponentach niskiego poziomu, takich jak sterowniki Bluetooth lub audio i tym podobne.

AndroidWarstwowa struktura umoลผliwia stosowanie aktualizacji z poprawkami bล‚ฤ™dรณw lub ulepszeniami osobno dla kaลผdej warstwy. Dziฤ™ki temu zmiany miฤ™dzy warstwami nie kolidujฤ… ze sobฤ…. Dziฤ™ki temu osoby pracujฤ…ce na rรณลผnych poziomach systemu operacyjnego mogฤ… wzajemnie utrudniaฤ‡ sobie pracฤ™ podczas tworzenia nowych aktualizacji i wydaล„.

Android Zastosowanie

Android Zastosowanie
Android Zastosowanie

Jest to warstwa, z ktรณrฤ… uลผytkownicy koล„cowi wchodzฤ… w interakcjฤ™. To na tej warstwie twรณrcy aplikacji publikujฤ… swoje aplikacje do uruchomienia.

Android, domyล›lnie, zawiera zestaw aplikacji, ktรณre umoลผliwiajฤ… od samego poczฤ…tku korzystanie z urzฤ…dzeล„ z systemem Android.

  1. strona gล‚รณwna: Strona gล‚รณwna wล‚ฤ…czona Android skล‚ada siฤ™ z ikon uruchamiania czฤ™sto uลผywanych aplikacji, do ktรณrych uลผytkownik koล„cowy moลผe chcieฤ‡ mieฤ‡ szybki dostฤ™p. Moลผesz uruchomiฤ‡ aplikacje, klikajฤ…c elementy uruchamiajฤ…ce te aplikacje. Na samej gรณrze ekranu znajdujฤ… siฤ™ widลผety pokazujฤ…ce sieฤ‡, poziom naล‚adowania baterii, datฤ™ i godzinฤ™.
  2. ลฤ…cznoล›ฤ‡: Androiddomyล›lnie umoลผliwia przechowywanie i pobieranie kontaktรณw. Informacje kontaktowe sฤ… udostฤ™pniane innym aplikacjom w celu zwiฤ™kszenia funkcjonalnoล›ci.
  3. Wiadomoล›ci: Android zapewnia moลผliwoล›ฤ‡ wysyล‚ania i odbierania wiadomoล›ci SMS.
  4. E-mail: Android jest wyposaลผony w natywne wsparcie dla usล‚ug poczty e-mail. Konfigurowanie Android urzฤ…dzenie wymaga Gmail Konto. Konfiguracja Gmail aktywuje inne zaleลผne od poczty e-mail komponenty Android urzฤ…dzeล„. Niektรณre funkcje zaleลผne od poczty e-mail obejmujฤ… mechanizmy bezpieczeล„stwa i odzyskiwania. Innฤ… funkcjฤ… zaleลผnฤ… od poczty e-mail jest dostฤ™p do Play Store, rynku Android aplikacji.
  5. Przeglฤ…darka: Android jest dostarczany z domyล›lnฤ… przeglฤ…darkฤ….
  6. Szuflada powiadomieล„: Szwajcariaping Naciล›niฤ™cie przycisku na dole ekranu odsล‚ania szufladkฤ™ powiadomieล„. Zawiera ona zdarzenia aplikacji, o ktรณrych uลผytkownik powinien wiedzieฤ‡. Nad powiadomieniem znajduje siฤ™ zestaw skrรณtรณw do czฤ™sto uลผywanych ustawieล„ urzฤ…dzenia, ktรณre uลผytkownicy mogฤ… przeล‚ฤ…czaฤ‡. Ustawienia te obejmujฤ… wล‚ฤ…czanie i wyล‚ฤ…czanie rรณลผnych komponentรณw sprzฤ™towych, takich jak Bluetooth i Wi-Fi. Dล‚ugie naciล›niฤ™cie tych zdarzeล„ umoลผliwia przejล›cie do strony konfiguracji.

Ta warstwa jest rรณwnieลผ nazywana warstwฤ… uลผytkownika, w przeciwieล„stwie do warstw poniลผej, ktรณre sฤ… gล‚รณwnie dostosowane do tworzenia aplikacji. Na tej warstwie programiล›ci aplikacji tworzฤ… i dostosowujฤ… interfejsy swoich aplikacji. Warstwy poniลผej warstwy aplikacji nie sฤ… dostosowywane przez programistรณw aplikacji. Sฤ… one uwaลผane za czฤ™ล›ฤ‡ warstwy systemowej. Warstwy te sฤ… dostosowywane przez producentรณw urzฤ…dzeล„. Google zespoล‚y Androida lub osoby trzecie, ktรณre chcฤ… korzystaฤ‡ z Android kod ลบrรณdล‚owy swojego produktu lub badaล„.

Ramy aplikacji

Android System operacyjny udostฤ™pnia podstawowe biblioteki i funkcje oprogramowania Android urzฤ…dzenie, ktรณre korzysta z Java API. Jest to tzw Android struktura. Ramy udostฤ™pniajฤ… bezpieczne i jednolite ล›rodki do wykorzystania Android zasoby urzฤ…dzenia.

Ramy aplikacji
Ramy aplikacji

1) Menedลผer aktywnoล›ci

Aplikacje korzystajฤ… z Android komponent dziaล‚ania sล‚uลผฤ…cy do prezentowania punktu wejล›cia do aplikacji. Android Dziaล‚ania to komponenty zawierajฤ…ce interfejs uลผytkownika, z ktรณrym uลผytkownicy aplikacji wchodzฤ… w interakcjฤ™. Gdy uลผytkownicy koล„cowi wchodzฤ… w interakcjฤ™ z Android urzฤ…dzenia, uruchamiajฤ… siฤ™, zatrzymujฤ… i przeskakujฤ… w przรณd i w tyล‚ w wielu aplikacjach. Kaลผde zdarzenie nawigacyjne powoduje aktywacjฤ™ i dezaktywacjฤ™ wielu dziaล‚aล„ w odpowiednich aplikacjach.

Android ActivityManager odpowiada za przewidywalne i spรณjne zachowanie podczas przejล›ฤ‡ aplikacji. Menedลผer aktywnoล›ci zapewnia twรณrcom aplikacji moลผliwoล›ฤ‡ reakcji ich aplikacji, gdy Android System operacyjny wykonuje globalne dziaล‚ania. Aplikacje mogฤ… nasล‚uchiwaฤ‡ zdarzeล„, takich jak obrรณt urzฤ…dzenia, zniszczenie aplikacji z powodu niedoboru pamiฤ™ci, przesuniฤ™cie aplikacji poza fokus itd.

Przykล‚adami reakcji aplikacji na te przejล›cia sฤ… m.in. wstrzymanie aktywnoล›ci w grze, zatrzymanieping muzyka odtwarzana w trakcie rozmowy telefonicznej.

2) Menedลผer okien

Android moลผe okreล›liฤ‡ informacje na ekranie, aby ustaliฤ‡ wymagania potrzebne do utworzenia okien dla aplikacji. Windows to miejsca, w ktรณrych moลผemy wyล›wietliฤ‡ interfejs uลผytkownika naszej aplikacji. Android uลผywa menedลผera okien do dostarczania tych informacji aplikacjom i systemowi podczas ich dziaล‚ania, aby mogล‚y dostosowaฤ‡ siฤ™ do trybu, w ktรณrym dziaล‚a urzฤ…dzenie.

Menedลผer okien pomaga w dostarczaniu dostosowanej aplikacji. Aplikacje mogฤ… wypeล‚niaฤ‡ caล‚y ekran, zapewniajฤ…c wciฤ…gajฤ…ce wraลผenia, lub udostฤ™pniaฤ‡ ekran innym aplikacjom. Android umoลผliwia to poprzez umoลผliwienie kaลผdej aplikacji korzystania z wielu okien.

3) Menedลผer lokalizacji

Wiฤ™kszoล›ฤ‡ Android urzฤ…dzenia sฤ… wyposaลผone w urzฤ…dzenia GPS, ktรณre mogฤ… uzyskaฤ‡ lokalizacjฤ™ uลผytkownika na podstawie informacji satelitarnych, ktรณre mogฤ… siฤ™gaฤ‡ aลผ do dokล‚adnoล›ci licznika. Programiล›ci mogฤ… pytaฤ‡ uลผytkownikรณw o pozwolenie na lokalizacjฤ™, dostarczaฤ‡ lokalizacjฤ™ i ล›wiadome doล›wiadczenia.

Android moลผe rรณwnieลผ wykorzystywaฤ‡ technologie bezprzewodowe w celu dalszego wzbogacenia szczegรณล‚รณw lokalizacji i zwiฤ™kszenia zasiฤ™gu, gdy urzฤ…dzenia znajdujฤ… siฤ™ w zamkniฤ™tych przestrzeniach. Android udostฤ™pnia te funkcje w ramach Menedลผera lokalizacji.

4) Menedลผer ds. telefonii

Wiฤ™kszoล›ฤ‡ Android Urzฤ…dzenia peล‚niฤ… gล‚รณwnฤ… rolฤ™ w telefonii. Android wykorzystuje TelephoneManager do ล‚ฤ…czenia komponentรณw sprzฤ™tu i oprogramowania w celu zapewnienia funkcji telefonicznych. Komponenty sprzฤ™towe obejmujฤ… czฤ™ล›ci zewnฤ™trzne, takie jak karta SIM, oraz czฤ™ล›ci urzฤ…dzenia, takie jak mikrofon, kamera i gล‚oล›niki. Skล‚adniki oprogramowania obejmujฤ… komponenty natywne, takie jak klawiatura wybierania numeru, ksiฤ…ลผka telefoniczna i profile dzwonkรณw. Korzystajฤ…c z TelephoneManagera, programista moลผe rozszerzyฤ‡ lub udoskonaliฤ‡ domyล›lnฤ… funkcjonalnoล›ฤ‡ poล‚ฤ…czeล„.

5) Menedลผer zasobรณw

Aplikacje na Androida zazwyczaj zawierajฤ… wiฤ™cej niลผ tylko kod. Zawierajฤ… rรณwnieลผ inne zasoby, takie jak ikony, pliki audio i wideo, animacje, pliki tekstowe i tym podobne. Android pomaga w zapewnieniu wydajnego i responsywnego dostฤ™pu do tych zasobรณw. Zapewnia rรณwnieลผ dostarczenie odpowiednich zasobรณw uลผytkownikom koล„cowym. Na przykล‚ad podczas wypeล‚niania pรณl w aplikacjach uลผywane sฤ… pliki tekstowe w odpowiednim jฤ™zyku.

6) Zobacz system

Android zapewnia takลผe moลผliwoล›ฤ‡ ล‚atwego tworzenia wspรณlnych komponentรณw wizualnych potrzebnych do interakcji z aplikacjฤ…. Komponenty te obejmujฤ… widลผety, takie jak przyciski, uchwyty obrazรณw, takie jak ImageView, komponenty do wyล›wietlania listy elementรณw, takie jak ListView i wiele innych. Komponenty sฤ… gotowe, ale moลผna je rรณwnieลผ dostosowaฤ‡ do potrzeb twรณrcรณw aplikacji i marki.

7) Menedลผer powiadomieล„

Za informowanie odpowiada Menedลผer Powiadomieล„ Android uลผytkownicy zdarzeล„ aplikacji. Czyni to poprzez wysyล‚anie uลผytkownikom sygnaล‚รณw wizualnych, dลบwiฤ™kowych lub wibracyjnych lub ich kombinacji w przypadku wystฤ…pienia zdarzenia. Zdarzenia te majฤ… wyzwalacze zewnฤ™trzne i wewnฤ™trzne. Przykล‚adami wewnฤ™trznych wyzwalaczy sฤ… zdarzenia dotyczฤ…ce stanu niskiego poziomu naล‚adowania baterii, ktรณre powodujฤ… wyล›wietlenie powiadomienia o niskim poziomie naล‚adowania baterii. Innym przykล‚adem sฤ… zdarzenia okreล›lone przez uลผytkownika, takie jak alarm. Niektรณre przykล‚ady zewnฤ™trznych wyzwalaczy obejmujฤ… nowe wiadomoล›ci lub wykrycie nowych sieci Wi-Fi.

Android zapewnia programistom i uลผytkownikom koล„cowym moลผliwoล›ฤ‡ dostrojenia systemu powiadomieล„. Moลผe to pomรณc zagwarantowaฤ‡, ลผe bฤ™dฤ… mogli wysyล‚aฤ‡ i odbieraฤ‡ powiadomienia w sposรณb, ktรณry najlepiej odpowiada im i ich obecnemu ล›rodowisku.

8) Menedลผer pakietรณw

Android zapewnia takลผe dostฤ™p do informacji o zainstalowanych aplikacjach. Android utrzymuje track informacji o aplikacji, takich jak zdarzenia instalacji i deinstalacji, uprawnienia ลผฤ…dane przez aplikacjฤ™ oraz wykorzystanie zasobรณw, np. zuลผycie pamiฤ™ci.

Informacje te mogฤ… umoลผliwiฤ‡ programistom aktywowanie lub dezaktywowanie funkcji w ich aplikacjach w zaleลผnoล›ci od nowych funkcji prezentowanych przez aplikacje towarzyszฤ…ce.

9) Dostawca treล›ci

Android posiada ustandaryzowany sposรณb udostฤ™pniania danych pomiฤ™dzy aplikacjami na urzฤ…dzeniu korzystajฤ…cym z dostawcy treล›ci. Programiล›ci mogฤ… uลผywaฤ‡ dostawcy treล›ci do udostฤ™pniania danych innym aplikacjom. Mogฤ… na przykล‚ad umoลผliwiฤ‡ przeszukiwanie danych aplikacji w zewnฤ™trznych aplikacjach wyszukujฤ…cych. Android sam udostฤ™pnia dane, takie jak dane kalendarza, dane kontaktowe i tym podobne, korzystajฤ…c z tego samego systemu.

Android Biblioteki wykonawcze i podstawowe/natywne

Android Biblioteki wykonawcze i podstawowe/natywne
biblioteki

1) Android Czas pracy

Android obecnie uลผywa Android Runtime (ART) do wykonywania kodu aplikacji. ART jest poprzedzone przez Dalvik Runtime, ktรณry kompiluje kod programisty do plikรณw wykonywalnych Dalvik (pliki Dex). Te ล›rodowiska wykonawcze sฤ… zoptymalizowane dla platformy Android, biorฤ…c pod uwagฤ™ ograniczenia procesora i pamiฤ™ci na urzฤ…dzeniach mobilnych.

ลšrodowisko wykonawcze tล‚umaczy kod napisany przez programistรณw na kod maszynowy, ktรณry wykonuje obliczenia i wykorzystuje komponenty platformy Android w celu dostarczenia funkcjonalnoล›ci. Android hostuje wiele aplikacji i komponentรณw systemu, z ktรณrych kaลผdy dziaล‚a w swoich procesach.

Biblioteki podstawowe

W tej czฤ™ล›ci omรณwimy niektรณre podstawowe biblioteki obecne w Android system operacyjny.

2) MediaFramework

Android obsล‚uguje takลผe natywnie popularne kodeki multimedialne, dziฤ™ki czemu aplikacje utworzone na Android platforma umoลผliwiajฤ…ca korzystanie/odtwarzanie komponentรณw multimedialnych od razu po wyjฤ™ciu z pudeล‚ka.

3) SQLite

Android ma rรณwnieลผ SQLite baza danych ktรณra umoลผliwia aplikacjom korzystanie z bardzo szybkiej, natywnej funkcjonalnoล›ci bazy danych bez koniecznoล›ci korzystania z bibliotek stron trzecich.

4) Typ dowolny

Android posiada preinstalowany szybki i elastyczny silnik czcionek. Dziฤ™ki temu twรณrcy aplikacji mogฤ… stylizowaฤ‡ komponenty swojej aplikacji i zapewniaฤ‡ bogate ล›rodowisko, ktรณre odzwierciedla intencje programisty.

5) OpenGL

Android jest rรณwnieลผ wyposaลผony w system graficzny OpenGL. Pomaga w tym biblioteka C Android wykorzystywaฤ‡ komponenty sprzฤ™towe do renderowania grafiki 2D i 3D w czasie rzeczywistym.

6) SSL

Android posiada rรณwnieลผ wbudowanฤ… warstwฤ™ zabezpieczeล„, ktรณra umoลผliwia bezpiecznฤ… komunikacjฤ™ pomiฤ™dzy aplikacjami Android oraz inne urzฤ…dzenia takie jak serwery, inne urzฤ…dzenia mobilne, routery.

7) SGL

Android zawiera bibliotekฤ™ graficznฤ… zaimplementowanฤ… w kodzie niskiego poziomu, ktรณra efektywnie renderuje grafikฤ™ dla platformy Android. Dziaล‚a z komponentami wyลผszego poziomu Android Android potok graficzny.

8) Lib

Trzon Android zawiera biblioteki napisane w C i C++, ktรณre sฤ… jฤ™zykami niskiego poziomu przeznaczonymi do uลผytku wbudowanego i pomagajฤ…cymi w maksymalizacji wydajnoล›ci. Libc zapewnia ล›rodki do udostฤ™pniania tym bibliotekom niskopoziomowych funkcjonalnoล›ci systemowych, takich jak wฤ…tki, gniazda, IO i tym podobne.

9) Pakiet internetowy

Jest to silnik przeglฤ…darki typu open source, uลผywany jako podstawa do tworzenia przeglฤ…darek. Domyล›lny Android przeglฤ…darka przed wersjฤ… 4.4 KitKat uลผywa jej do renderowania stron internetowych. Umoลผliwia twรณrcom aplikacji renderowanie komponentรณw sieciowych w systemie widokรณw przy uลผyciu WebView. Dziฤ™ki temu aplikacje mogฤ… integrowaฤ‡ komponenty sieciowe ze swojฤ… funkcjonalnoล›ciฤ….

10) Menedลผer powierzchni

Menedลผer powierzchni jest odpowiedzialny za zapewnienie pล‚ynnego renderowania ekranรณw aplikacji. Robi to poprzez komponowanie grafiki 2D i 3D do renderowania. Umoลผliwia to rรณwnieลผ poprzez buforowanie poza ekranem.

Linux Kernel

Gล‚รณwny komponent Android System to jฤ…dro Linuxa. Jest to podstawowy element, ktรณry umoลผliwia wszystkie Androidfunkcjonalnoล›ฤ‡.

Linux Kernel

Jฤ…dro Linuxa to przetestowany w boju kawaล‚ek oprogramowania, ktรณry byล‚ uลผywany w programach deweloperskichping system operacyjny dla urzฤ…dzeล„ szerokiej gamy, od superkomputerรณw po maล‚e gadลผety. Ma ograniczone moลผliwoล›ci przetwarzania, takie jak maล‚e gadลผety sieciowe dla Internetu rzeczy (IoT).

Jฤ…dro Linuksa moลผna dostosowaฤ‡, aby speล‚niaล‚o specyfikacje urzฤ…dzenia, aby umoลผliwiฤ‡ producentom jego wykonanie Android urzฤ…dzenia o rรณลผnych moลผliwoล›ciach, aby dopasowaฤ‡ je do doล›wiadczenia uลผytkownika.

W odniesieniu do AndroidKernel odpowiada za wiele podstawowych funkcjonalnoล›ci, w tym miฤ™dzy innymi:

  1. Sterowniki urzฤ…dzeล„
  2. Zarzฤ…dzanie pamiฤ™ciฤ…
  3. Zarzฤ…dzanie procesem

Rozwiล„my niektรณre funkcjonalnoล›ci:

Sterowniki urzฤ…dzeล„

Jฤ…dro Linuxa zawiera sterowniki potrzebne do umoลผliwienia systemowi operacyjnemu pracy z rรณลผnymi komponentami sprzฤ™towymi. Sterowniki te zapewniajฤ… standardowy interfejs, z ktรณrym mogฤ… wspรณล‚pracowaฤ‡ komponenty sprzฤ™towe pochodzฤ…ce od rรณลผnych producentรณw.

Umoลผliwia to producentom urzฤ…dzeล„ pozyskiwanie rรณลผnych komponentรณw, takich jak komponenty Bluetooth, komponenty Wi-Fi, komponenty aparatu. Pod warunkiem, ลผe producenci odpowiadajฤ… Android standardowych specyfikacji, integracja przebiega bezproblemowo.

1) Sterownik USB

Linux zapewnia rรณwnieลผ Android ze ล›rodkami do ล‚ฤ…czenia siฤ™ z urzฤ…dzeniami USB. Nowoczesne urzฤ…dzenia sฤ… wyposaลผone w rรณลผne porty USB, w tym USB 2.0 i nowe wersje USB, w tym USB-C. Sterowniki te umoลผliwiajฤ… wykorzystanie portu USB do ล‚adowania, przesyล‚ania bieลผฤ…cych danych, takich jak logi z Android urzฤ…dzeล„ i interakcji z systemem Android System plikรณw.

2) Sterownik Bluetooth

Jฤ…dro systemu Linux zapewnia obsล‚ugฤ™ komunikacji z komponentami sprzฤ™towymi Bluetooth. Umoลผliwia odczyt i zapis danych otrzymanych z obsล‚ugiwanych czฤ™stotliwoล›ci radiowych Bluetooth. Zapewnia rรณwnieลผ zestaw udogodnieล„ dla Android skonfigurowaฤ‡ Bluetooth.

3) Sterownik Wi-Fi

Jฤ…dro systemu Linux zapewnia sterowniki umoลผliwiajฤ…ce integracjฤ™ komponentรณw sprzฤ™towych sieci Wi-Fi. Umoลผliwiajฤ… to komponenty WiFi wbudowane w urzฤ…dzenia mobilne Android urzฤ…dzenia do ล‚ฤ…czenia siฤ™ z sieciami Wi-Fi. Sterownik umoลผliwia komponentom Wi-Fi nadawanie sieci Wi-Fi i tworzenie hotspotรณw.

4) Sterownik ekranu

Android umoลผliwia interfejs z komponentami wyล›wietlacza. W przypadku wiฤ™kszoล›ci urzฤ…dzeล„ komponentem interfejsu jest ekran dotykowy LCD. Umoลผliwia on obsล‚ugฤ™ konfiguracji i rysowania pikseli.

5) Sterownik audio

Android urzฤ…dzenia zwykle sฤ… dostarczane z komponentami sprzฤ™towymi do wejล›cia i wyjล›cia audio. Sterowniki audio w jฤ…drze umoลผliwiajฤ… Android system do wykorzystania dลบwiฤ™ku odbieranego z tych komponentรณw, a takลผe do generowania sygnaล‚u wyjล›ciowego audio.

6) Menedลผer zasilania

Wiฤ™kszoล›ฤ‡ Android urzฤ…dzenia sฤ… uลผywane po odล‚ฤ…czeniu od gniazdek elektrycznych. Dlatego teลผ przez wiฤ™kszฤ… czฤ™ล›ฤ‡ czasu uลผytkowania sฤ… one zaleลผne od baterii. Linux Kernel jest wyposaลผony w system zarzฤ…dzania energiฤ…, ktรณry moลผna konfigurowaฤ‡ tak, aby odpowiadaล‚ potrzebom korzystajฤ…cych z niego urzฤ…dzeล„.

Android System operacyjny korzysta z menedลผera zasilania, aby wล‚ฤ…czyฤ‡ inne komponenty urzฤ…dzenia do obsล‚ugi zasilania. Czyni to poprzez nadawanie rรณลผnych stanรณw zwiฤ…zanych z mocฤ…. Te stany to Gotowoล›ฤ‡, Uล›pienie i Niski poziom baterii. NA Androidmenedลผer zasilania zostaล‚ skonfigurowany tak, aby domyล›lnie przechodziล‚ w tryb uล›pienia, aby zapewniฤ‡ maksymalnฤ… ลผywotnoล›ฤ‡ baterii.

Power Manager umoลผliwia aplikacjom reagowanie na rรณลผne tryby zasilania. Aplikacje mogฤ… rรณwnieลผ zmieniaฤ‡ swoje zachowanie, aby dopasowaฤ‡ je do aktualnego stanu zasilania urzฤ…dzenia.

Aplikacja moลผe rรณwnieลผ zaลผฤ…daฤ‡ zmiany domyล›lnych zasad zasilania. Aplikacje mogฤ… osiฤ…gnฤ…ฤ‡ poลผฤ…danฤ… funkcjonalnoล›ฤ‡, takฤ… jakping Aktywne komponenty sprzฤ™towe. Przykล‚adem jest keeping Ekran jest aktywny podczas czytania ksiฤ…ลผki, aby zapewniฤ‡ uลผytkownikowi nieprzerwany dostฤ™p. Innym przykล‚adem jest funkcja โ€žkeeโ€ping komponenty audio wล‚ฤ…czone podczas sล‚uchania muzyki w tle.

7) Pamiฤ™ฤ‡ Flash

Wiฤ™kszoล›ฤ‡ Android Urzฤ…dzenia korzystajฤ… z pamiฤ™ci flash jako ล›rodka przechowywania. Pamiฤ™ฤ‡ Flash jest szybka i zajmuje mniej miejsca, dziฤ™ki czemu idealnie nadaje siฤ™ do maล‚ych urzฤ…dzeล„. Jฤ…dro Linuksa zapewnia ล›rodki do Android urzฤ…dzenia do odczytu i zapisu w pamiฤ™ci flash. Umoลผliwia partycjonowanie pamiฤ™ci w taki sposรณb, aby system operacyjny i inne aplikacje mogล‚y ล‚atwo i efektywnie dzieliฤ‡ zasoby pamiฤ™ci.

8) Spoiwo

Android hostuje wiele aplikacji i komponentรณw systemu, z ktรณrych kaลผdy dziaล‚a w swoich procesach. W wiฤ™kszoล›ci przypadkรณw procesy te powinny byฤ‡ odizolowane od siebie, aby zapobiec zakล‚รณceniom i uszkodzeniu danych. Sฤ… jednak przypadki, w ktรณrych chcielibyล›my przekazaฤ‡ dane z jednego procesu do drugiego.

Jฤ…dro Linuksa umoลผliwia udostฤ™pnianie danych poprzez udostฤ™pnienie sterownikรณw segregatorรณw. Sterowniki Bindera umoลผliwiajฤ… komunikacjฤ™ miฤ™dzy procesami, IPC. Korzystajฤ…c z procesรณw IPC, moลผna odkryฤ‡ inne procesy i dzieliฤ‡ siฤ™ informacjami.

Zarzฤ…dzanie pamiฤ™ciฤ…

Kolejnym obowiฤ…zkiem jฤ…dra Linuksa jest zarzฤ…dzanie pamiฤ™ciฤ…. Gdy dziaล‚ajฤ… rรณลผne aplikacje, jฤ…dro dba o to, aby uลผywana przez nie pamiฤ™ฤ‡ nie kolidowaล‚a i nie nadpisywaล‚a siฤ™ nawzajem.

Pomaga takลผe zapewniฤ‡, ลผe wszystkie uruchomione aplikacje otrzymajฤ… odpowiedniฤ… iloล›ฤ‡ pamiฤ™ci do dziaล‚ania, dziฤ™ki czemu ลผadna pojedyncza aplikacja nie zajmie zbyt duลผo miejsca.

Zarzฤ…dzanie procesem

Kaลผda aplikacja w Android Dziaล‚a w procesie. Jฤ…dro jest rรณwnieลผ odpowiedzialne za zarzฤ…dzanie procesami. Oznacza to, ลผe odpowiada za tworzenie, wstrzymywanie i zatrzymywanie procesรณw.ping, wyล‚ฤ…czanie lub koล„czenie procesรณw.

Jฤ…dro umoลผliwia rรณลผne funkcjonalnoล›ci, takie jak jednoczesne uruchamianie wielu procesรณw, komunikacja miฤ™dzy procesami, uruchamianie procesรณw w tle i tak dalej.

Poniewaลผ kaลผdy proces wymaga wล‚asnej przestrzeni pamiฤ™ci do prawidล‚owego dziaล‚ania, jฤ…dro zapewnia, ลผe โ€‹โ€‹przestrzenie pamiฤ™ci przydzielone dla kaลผdego procesu sฤ… chronione przed innymi procesami. Zapewnia rรณwnieลผ, ลผe zasoby takie jak RAM zasoby przydzielone procesom sฤ… zwalniane po zamkniฤ™ciu procesรณw.

Jฤ…dro Linuksa jest rรณwnieลผ odpowiedzialne za dystrybucjฤ™ pracy pomiฤ™dzy procesorami obecnymi w urzฤ…dzeniu. Umoลผliwia to maksymalizacjฤ™ wydajnoล›ci urzฤ…dzeล„ z wieloma rdzeniami, poniewaลผ rรณลผne aplikacje bฤ™dฤ… uruchamiaฤ‡ procesy na innym rdzeniu.

Jฤ…dro Linuksa wykonuje pod maskฤ… wiฤ™cej zadaล„, w tym egzekwowanie zabezpieczeล„.

FAQ

Dalvik byล‚ AndroidOryginalne ล›rodowisko uruchomieniowe ART korzystaล‚o z kompilacji just-in-time plikรณw Dex. ART zastฤ…piล‚ jฤ… kompilacjฤ… ahead-of-time, zapewniajฤ…c szybsze uruchamianie aplikacji i lepszฤ… wydajnoล›ฤ‡ baterii na nowoczesnych urzฤ…dzeniach.

Nie. Android jest oparty na jฤ…drze Linux, ktรณre odpowiada za sterowniki, pamiฤ™ฤ‡ i procesy, ale nie jest dystrybucjฤ… Linuxa. Android dodaje wล‚asne ล›rodowisko wykonawcze, strukturฤ™ i biblioteki ponad kernelem.

Android aplikacje sฤ… pisane gล‚รณwnie w Java i Kotlin z wykorzystaniem interfejsรณw API frameworka. Niลผsze warstwy, w tym biblioteki rdzeniowe i jฤ…dro Linuksa, sฤ… napisane w jฤ™zyku C i C++ za wydajnoล›ฤ‡.

Nowoczesne technologie Android Urzฤ…dzenia korzystajฤ… ze sztucznej inteligencji (AI) obsล‚ugujฤ…cej asystentรณw gล‚osowych, udoskonalenia aparatu, przewidywanie tekstu i optymalizacjฤ™ baterii. Dedykowany sprzฤ™t do przetwarzania neuronowego i interfejsy API uczenia maszynowego skutecznie przyspieszajฤ… te zadania na urzฤ…dzeniu.

Tak. Sztuczna inteligencja potrafi objaล›niฤ‡ kaลผdฤ… warstwฤ™, podsumowaฤ‡ dziaล‚anie komponentu, takiego jak Menedลผer Aktywnoล›ci, i odpowiedzieฤ‡ na dodatkowe pytania, podajฤ…c przykล‚ady. Dziฤ™ki temu architektura warstwowa jest ล‚atwiejsza do zrozumienia dla poczฤ…tkujฤ…cych.

Podsumuj ten post nastฤ™pujฤ…co: