Kau elrendezve ios

Mindenki tudja, hogy az Apple mobil operációs Soup futó iOS. Sokan tudják, hogy iOS egy könnyű változata az asztali Mac OS X Egyes gyanús, hogy a szíve a Mac OS X POSIX-kompatibilis OS Darwin, és azok, akik komolyan érdekel, tudatában annak, hogy az alapján Darwin - Ez XNU mag megjelent a fény az egyesülés Mach mikrokernel és a FreeBSD alapvető összetevők. Azonban mindezen puszta tények, amelyek nem mond semmit arról, hogyan is működik iOS-en és miben különbözik az asztali megfelelője.

Az operációs rendszer telepített ma minden mák és (módosított formában) a aydevaysy, nyomok történelem, mint 1988-ban, amely a világon az IT is ismert az a tény, hogy volt az az év a kiadás az első béta verzióját a NeXTSTEP operációs rendszer. NeXTSTEP maga volt az agyszüleménye a fejlesztő csapat Steve Jobs, aki már elhagyta az Apple és megalapította a cég neve NeXT, ami részt vesz a fejlesztési számítógépek oktatási célokra.

Abban az időben az ő születése volt egy igazán haladó NeXTSTEP operációs rendszer, amely magában foglalta a számos technológiai újítást. A lényege az operációs rendszer A Mach mikrokernel feküdtek módosított, kiegészített összetevői a FreeBSD kernel, beleértve a hivatkozási végrehajtását hálózati verem. Magasabb szintű komponenseket NeXTSTEP íródtak Objective-C, és alkalmazás-fejlesztők gazdag objektumorientált API nyelvet. A rendszer már felszerelt korszerű és rendkívül felhasználóbarát grafikus interfész (kulcseleme, amely őrzi OS X, és még iOS) és egy nagy teljesítményű fejlesztési környezet, amely tartalmazza többek között minden ismert kortárs tervezők vizuális felület tervezője.

Kau elrendezve ios

XNU és Darwin

Feltételesen Töltelék OS X / IOS osztható három logikai szinthez XNU mag réteg kompatibilitás a POSIX (plusz különböző rendszerdémonok / szolgáltatás), és egy réteg a NeXTSTEP, amely végrehajtja a grafika verem, keret és API alkalmazások. Darwin tartalmazza az első két réteg, és szabadon terjeszthető, de csak a verzió OS X iOS-verzió átírták az ARM architektúra, és magában némi javulás, teljesen zárt, és csak egy részét fedi firmware aydevaysov (látszólag ez védelem iOS portolása más eszközök).

A fő, Darwin - a „meztelen» UNIX-szerű operációs rendszer, amely magában foglalja a POSIX API, a kagyló, a parancsokat és szolgáltatásokat, a minimálisan szükséges a rendszer működését konzol módban, és fut UNIX-szoftver. Ebben a tekintetben hasonlít az alap FreeBSD rendszer vagy egy minimális telepítés egy Arch Linux, amely lehetővé teszi, hogy a konzol fut a UNIX-puha, de nincs GUI, vagy bármi elindításához szükséges komoly grafikai alkalmazásokat a GNOME vagy KDE környezetben.

Az egyik legfontosabb eleme Darwin - hibrid kernel XNU, alapú, mint már említettük, a Mach kernel és a kernel komponensek FreeBSD mint például tervező feldolgozza a hálózati verem és a virtuális fájlrendszer (VFS réteg). Ellentétben Mach, és a FreeBSD, OS X használja a saját kernel driver API úgynevezett I / O Kit, és lehetővé teszi, hogy írjon a járművezetők C ++, objektum-orientált megközelítés, jelentősen megkönnyítve fejlődését.

iOS némileg módosított változatát XNU, de annak a ténynek köszönhető, hogy a mag iOS zárva, azt mondani, hogy ez megváltozott az Apple, nehéz. Csak azt tudjuk, hogy össze más fordítási kapcsolókat és módosította a memória menedzser, amely lehetővé teszi, hogy kis mennyiségű RAM a mobil eszközök. Minden más tekintetben ez mindegy XNU, amely megtalálható formájában titkosított cache (kernel + összes driver / modules) a katalógusban /System/Library/Caches/com.apple.kernelcaches/kernelcache a készüléken.

Szint a mag fölött Darwin UNIX / BSD réteget, amely egy sor szabványos könyvtárak B nyelv (libc, libmatch, libpthread és így tovább), és a parancssori eszközök, egy sor kagyló (bash, tcsh és KSH) és démon, mint például a launchd, és egy szabványos SSH-szervert. Az utóbbi egyébként lehet aktiválni a fájl szerkesztését /System/Library/LaunchDaemons/ssh.plist. Kivéve persze, hogy jailbreak a készülék.

Ebben a nyitott része az operációs rendszer úgynevezett Darwin véget ér, és kezdődik réteg kereteket, amelyek csak töltsük fel, hogy mit szoktunk vizsgálni OS X / IOS.

Kau elrendezve ios

Kau elrendezve ios

keretek

Darwin végrehajtja csak az alapvető része a Mac OS / iOS, ami csak a felelős az alacsony szintű funkciókat (vezetők, start / stop rendszer, a hálózat irányítását, alkalmazás szigetelés, és így tovább). Ez része a rendszernek, hogy a felhasználó számára látható és alkalmazások, annak összetétele nem tartalmazzák, és végre az úgynevezett keretek - egy sor könyvtárak és szolgáltatásokat, amelyek megfelelnek, beleértve a kialakulása egy grafikus környezet és a magas szintű API harmadik féltől származó alkalmazások és lefolyás

Mint sok más operációs rendszerek, API Mac OS és iOS van osztva állami és magán. Harmadik fél alkalmazások kizárólag állami és jelentősen korlátozták API, de nem szökik-alkalmazások használhatják és magán.

Minden szabványos rendszer keretei megtalálható a rendszerben / System / Library / keret /. Mindegyikük a saját könyvtárában, az úgynevezett Bundle (megbontásával), amely magában foglalja a források (képek és elemeit az interfész leírás), Heather C nyelv leíró API, valamint dynamic link library (a dylib formátumú) végrehajtásának keretében.

Az egyik érdekes jellemzője a keretek - a verzióarchiválási. A keret lehet több különböző változatban, így egy olyan alkalmazás, hogy a régebbi rendszer továbbra is működik, annak ellenére, hogy a változások az új verziót az operációs rendszer. Így egy olyan mechanizmust, hogy fut a régebbi iOS-app az iOS 7 és újabb. A kifejlesztett alkalmazás iOS 6, akkor nézd és működtetni pontosan, mintha futó iOS 6.

SpringBoard

Level alkalmazások felett a rendszer és a telepített alkalmazások a boltban. Központi köztük természetesen a SpringBoard (csak iOS), felismerve a kezdőképernyőn (az asztalon). Ez az első indításkor a rendszer elindítása után démonok betöltése a memóriába, és keretek kezdeni kijelző szerver (aka összeállítást menedzser aka Quartz Compositor), felelős a kijelző.

SpringBoard - az összekötő kapocs az operációs rendszer és a felhasználó grafikus felület, amely lehetővé teszi, hogy az alkalmazások indításához, válthatunk közöttük, értesítések megtekintéséhez és kezeléséhez a rendszer beállításokat (mivel iOS 7). De ez is egy eseménykezelő, például egy érintőképernyős készülék, vagy egy puccs. Ellentétben a Mac OS X, amely felhasználja a különféle alkalmazások és démonok szerek az interfészt megvalósító elemek (Finder, Dashboard, LaunchPad stb), iOS szinte minden alapvető jellemzőit a felhasználói felület, beleértve a zár képernyőn, és a „vak”, arra a következtetésre jutott egy ugródeszka.

Eltérően más készletek iOS-alkalmazások, amelyek székhelye az / Applications, SpringBoard par a kijelző szerver részének tekintik a keret található és a / System / Library / CoreServices /. Sok feladat elvégzésére használ plug-inek, amelyek a / System / Library / SpringBoardPlugins /. Többek között ott megtalálható például NowPlayingArtLockScreen.lockboundle felelős információkat jelenít meg az éppen játszott dalt a zár képernyőn, vagy IncomingCall.serviceboundle, feldolgozásáért felelős a bejövő hívást.

Kezdve iOS 6 SpringBoard van két részre oszlik: az asztalon is, és palánk szolgáltatás, kommunikációért felelős az alacsony szintű része az operációs rendszer, amely együttműködik a berendezés (szint HAL). Palánk kezeléséért felelős események, mint például érintőképernyős gépelés, bizonyítékok beszerzése gyorsulásmérő, pozíció érzékelő és a környezeti fényérzékelő, és ellenőrzi a start, pause és befejezését alkalmazásokhoz.

Trambulin és palánk annyira fontos az iOS, hogy ha bármilyen módon megállítani őket, az egész rendszer lefagy a helyszínen, és még az aktuálisan futó alkalmazás nem fog reagálni az érintőképernyő. Ez különbözteti meg őket a Android kezdőképernyőn, ami csak egy standard alkalmazást lehet állítani, cserélni, vagy akár törölni a rendszer (ebben az esetben a képernyő továbbra is teljes mértékben működőképes navigációs gombok és a status bar a „függöny”).

alkalmazások

A piramis csúcsán pedig az alkalmazások. iOS megkülönbözteti beépített (készlet) különösen előnyös alkalmazások és a harmadik fél által telepített iTunes. Mindkét tárolja a rendszer formájában kötegek, sok szempontból hasonló használt keretek között. Az egyetlen különbség az, hogy az alkalmazás csomag több más meta-információkat, és a helyét a dynamic link library elfoglalja a futtatható fájlt a Mach-O formátumban.

Normál katalógusa lefolyás tárolási alkalmazásokhoz - / Applications /. Az iOS, teljesen statikus és a változásokat csak a rendszer frissítése; felhasználó számára, hogy nem. Harmadik féltől származó alkalmazások vannak telepítve az iTunes, másrészt, tárolja a felhasználó saját könyvtárát a / var / mobile / Applications / az alkönyvtárakban az űrlap 4-2-2-2-4, ahol két és négy - ez hexadecimális számokat. Ez az úgynevezett GUID - egyedi azonosítóval, amely egyedi módon azonosítja az alkalmazást a rendszerben, és igényeit, beleértve a létrehozását egy izolált sandbox (homokozó).

Az iOS sandbox használjuk, hogy elválasszuk a szolgáltatások és alkalmazások a rendszer és az egymástól. Minden harmadik fél által készített alkalmazás és a legtöbb rendszer fut a homokozóban. Egy műszaki szempontból, a sandbox egy klasszikus a világ UNIX chroot megerősített rendszer kötelező hozzáférés-szabályozás TrustedBSD MAC (sandbox.kext kernel modul), amely felöleli az alkalmazások nem csak a hozzáférést a fájlokat kívül home könyvtár, hanem közvetlen hozzáférést biztosít a hardver és sok rendszer OS funkcióit.

Általában zárt az alkalmazás sandbox korlátozzák az alábbi lehetőségek közül:

  • Kapcsolódás a fájlrendszer, kivéve a saját katalógus és a felhasználó saját könyvtárát.
  • Hozzáférés a média és Könyvtár könyvtárakat a saját könyvtárban, kivéve a Media / DCIM / Média / Képek / Library / AddressBook / Library / billentyűzet / és Library / Preferences /.
  • Az információhoz való hozzáférés más folyamatok (alkalmazás „gondolkodik” magát az egyetlen a rendszerben).
  • Közvetlen hozzáférés a hardver (csak használhatják a Cocoa API, és más keretek között).
  • Használatának korlátozása RAM (Jatsam vezérelt mechanizmus).

Ezek a korlátozások megfelelnek sandbox-profil (egy sor korlátozó szabályok) tartályt és alkalmazni azon harmadik fél által készített alkalmazás. Lefolyni alkalmazások, viszont más korlátozások vonatkozhatnak, lágy vagy kemény. Példaként egy e-mail kliens, hozhat (MobileMail profil), amelynek általában ugyanazok a súlyos korlátozásokat, valamint a harmadik féltől származó alkalmazások, de elérheti a teljes tartalmát egy könyvtárba Library /. A fordított helyzet - SpringBoard általában nincs korlátozás.

multitasking

Az egyik legellentmondásosabb jellemzői iOS - a megvalósítása többfeladatos. Úgy tűnik, hogy ott lesz, és másrészt, hogy nem. Összehasonlítva a hagyományos asztali operációs rendszerek és a hírhedt Android iOS ez nem egy többfeladatos operációs rendszer a szokásos értelemben vett, és nem teszi lehetővé az alkalmazások szabadon munkát a háttérben. Helyette az operációs rendszer valósítja meg a API, ami az alkalmazás lehet használni, hogy végre bizonyos feladatokat, amíg ez van a háttérben.

Ez az első alkalom az API fog megjelenni iOS 4 (eddig háttér feladatok végezhetők Csak raktáron alkalmazások), és növeli a fejlesztés az operációs rendszer. Ma (beszélünk iOS 7) az úgynevezett háttér API lehetővé teszi, hogy tegye a következőket:

  • játszani audio;
  • VoIP-hívásokat,
  • információt kapni a telephely változása;
  • hogy push-értesítéseket;
  • tervezni megkötéséig az értesítések
  • kérhet további időt befejezése után az átmenet a háttérben;
  • kommunikálni tartozékok a készülékhez csatlakoztatva (beleértve a Bluetooth);
  • küldeni és fogadni adatokat a hálózaton keresztül (mivel iOS 7).

Azt mondják, hogy a fejlesztés ideje alatt és az azt követő lépés, hogy a mobil eszközök NeXTSTEP nem csak elvesztette minden előnyével, hanem növeli azokat. Tudod hallgatni a hosszú történeteket a Google-alkalmazottak, azt mondja, hogy az Android fejlesztették tekintet nélkül az iOS, de az is tény, hogy számos építészeti megoldások Android kölcsönvettük iOS. És nem azért, mert könnyű volt, hanem azért, mert a szépség és a hatékonyság.

Hat szakaszában iOS letöltések

  1. Boot ROM. A bekapcsolás után a készülék első indításakor minimalista letöltő, varrják állandó memória a készülék. Küldetése -, hogy a kezdeti vas inicializálás és a vezérlést, hogy az elsődleges boot loader LLB. Boot ROM mindig a gyári firmware-t és nem lehet frissíteni.
  1. Alacsony szintű Bootloader (LLB). Továbbá, a vezetés lesz LLB. Ez az elsődleges boot loader, amelynek feladata -, hogy megtalálja a memória eszközt iBoot, ellenőrizze annak épségét és átadni a vezérlést vagy kapcsoljuk ki a készüléket hasznosítási mód, ha ez nem lehetséges. LLB kód tárolódik a készülék NAND memória és frissítik együtt a telepítés egy új firmware verzió. Többek között, megjeleníti az indítási embléma.
  1. iBoot. Ez a másodlagos és elsődleges bootloader aydevaysov. Ez magában foglalja a fájlrendszer driver, amellyel hozzáférést nyer a tartalmát NAND memória, a lényege, és átadja a vezérlést. Az iBoot illesztőprogram is integrált UART, mellyel hibakeresés a kernel és az OS csatlakoztatja az eszközt a COM-port vagy USB-port a számítógép (USB kábelen keresztül - UART).

4 Core. Itt, mint általában. A kernel inicializálja a hardver, akkor átadja a vezérlést a démon launchd.

5 Launchd. Ez az elsődleges folyamat iOS és a Mac OS X, akkor csatolja a fájlrendszert kezdődik démonok / szolgáltatás (pl backupd, configd, locationd), a kijelző szerver, keretek, és az utolsó szakaszban a terhelés vezérlő SpringBoard. Az iOS és a Mac OS X launchd használják helyett a szabványos / bin / init UNIX, de funkcionalitásában sokkal szélesebb.

6 SpringBoard. Ez zár képernyőn!

Kau elrendezve ios

Itt található az ezt a cikket egy ismerősének:

Kapcsolódó cikkek