Az Android mennyire múlta felül a Windows-t napjainkban? Melyik oprendszer tekinthető a fejlettebbnek és miért?
Minden további nélkül össze lehet hasonlítani a két rendszert, miért ne lehetne? Csak azt kell figyelembe venni, hogy alapvetően eltérő célra és eltérő környezetbe lett szánva a két rendszert. Össszeségében én a Windowst nevezném fejlettebbnek, de ez nem azt jelenti, hogy minden célra a Windows lenne jobb, de még azt sem, hogy minden feladatra gyorsabb vagy hatékonyabb lenne (sőt).
Az Android kernele Linux alapú, a Linux kernel pedig UNIX mintára készült monolitikus kernel. Bár képes modulokat dinamikusan betölteni, de alaveptően egyetlen nagy, egész modulból áll.
A Windows kernele ezzel szemben hybrid kernel, ami több, kisebb rétegből áll össze. Az az általános meglátás, hogy a monolitikus kernel gyorsabb, hatékonyabb, ellenben a hybrid biztonságosabb (persze, mindkét jellemző nagyon sok minden mástól függ).
Ezen kívül az Android kernele nagyjából a hagyományos UNIX-os felépítést követi, míg a Windows kernele egy modern, objektum orientált szemléletű kernel (függetlenül attól, hogy maga a kernel nem OOP nyelvben készült). Tehát ebből a szempontból a Windows rendszermagja fejlettebb.
Mivel a Windows esetében a kezdetekben szó sem volt arról, hogy valaha mobileszközökön fog futni, ezért az energiagazdálkodásra sem fordítottak olyan nagy figyelmet (ez akkoriban egyébként sem volt különösebb prioritás). Az Android viszont eleve mobileszközökre készült, ezért már egészen alacsony szinteken is próbálja teljesíteni a mobileszközökkel kapcsolatos elvárásokat. Olyanokra gondolok, mint hogy pl. a standard glibc-t nem találták elég hatékonynak, ezért egy, a BSD-től forkolt C libraryt használnak (Bionic), ami alacsony frekvencián futó eszközökön is kielégítően fut.
Ezen kívül a két rendszeren az alkalmazásfuttatásban is jelentős különbségek vannak. A Windows-os folyamatok, programok életciklusa nagyjából annyi, hogy elindul, fut, leáll. Androidon ezzel szemben egy aktivitás elindul, fut, ha a user háttérbe helyezi, elmegy szundikálni (eközben a rendszer, ha úgy gondolja, ki is lőheti a processzt), ha a user visszanavigál az appra, akkor visszatöltődik (vagy ha leállt, újraindul), és a végén kap egy onPause() hívást, egy onStop() hívást, egy onDestroy() hívást, és végül leáll az activity. Ez egy jóval kifinomultabb, korlátozottabb, sokkal szigorúbban menedzselt alkalmazásfuttatási stratégia, mint a Windows-é. Ez egyébként nem is annyira fejlettség kérdése, mobileszközökön egyszerűen erre van szükség. Az iOS, és a megboldogult Windows Phone is így működik.
Appjogosultság szempontjából a Windows inkább "permissive" típusú, azaz amit nem tilos, azt szabad. Az Android pedig inkább "enforced" típusú, azaz csak azt szabad, amit a user megenged. Ez két eléggé eltérő szemléletmód.
Ha a két rendszerre írt programokat, alkalmazásokat nézzük, Windows esetén sokkal több a natív fejlesztésű program, míg Android esetén sokkal kevesebb, hiszen ott jellemzően Java, Kotlin, React Native alapú appokat használunk, ezek pedig menedzseltek. Természetesen abban is nagy különbségek vannak, hogy hogyan tárolják, kezelik, futtatják az appokat és az egyes összetevőiket, és milyen szolgáltásokat nyújtanak számukra.
Windows-ban például ott a registry, ami egy bonyolult fastruktúrába szervezhető, aliasozható, linkelhető, írható/olvasható, sok féle adattípust kezelni képes adatbázis. Ehhez képest az Android által kínált SharedPreferences egy viszonylag egyszerű, pár adattípust kezelni képes, kulcs:érték párokon alapú kis adatbázis.
Ezen kívül a Windowsban nagyon sok olyan szolgáltatás van, aminek nincs Androidos megfelelője. Pl. a COM objektumok kezelése, JScript motor, VSS, a különböző alrendszerek (OS/2m POSIX, WSL2, NTVDM ami támogatja még a 16 bites DOS-os programok futtatását is), virtualizációs megoldások (Hyper-V), stb.
Tehát a Windows egy sokkal összetettebb, és kernelszinten is fejlettebb szemléletmódban készült rendszer, mint az Android. De ismétlem, ez nem azt jelenti, hogy minden felhasználási célra jobb, gyorsabb, hatékonyabb lenne.
Utolsó, te nagyon penge vagy ebben!
Tisztelet!
"A ferdítésben ugyanolyan mester vagy, mint a Windows gyengeségeinek előnyként való bemutatásában."
Nem is igazán értem, hogy a bank technikában miért nem terjed az Android, az ATM-eken! Például...
#12
Mert mit ferdítettem és hol?
Az, hogy valami gyengeség vagy erősség, sok esetben csak a körülményektől függ.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!