Shop menü

ÉRDEKES MEGOLDÁSOKAT ALKALMAZ AZ APPLE AZ M1 ALAPÚ MAC-EKNÉL

Az Apple rengeteg egyedi, nem szabványos megoldást használ az M1 alapú konfigurációknál, ami megnehezíti a különböző operációs rendszerekkel való kompatibilitás kialakítását.
Víg Ferenc (J.o.k.e.r)
Víg Ferenc (J.o.k.e.r)
Érdekes megoldásokat alkalmaz az Apple az M1 alapú Mac-eknél

Az Apple első három olyan Mac konfigurációja, amelyek már az ARM alapú M1-es SoC egység köré épülnek, jó ideje elérhetőek kereskedelmi forgalomban. Ezeken az eszközökön alap esetben a macOS Big Sur nevű operációs rendszer fut, egyéb szoftverekhez nincs hivatalos támogatás, így például Windows 10 és Linux sem futhat jelenleg a termékeken, ami mindenképpen probléma bizonyos felhasználói rétegek számára. Az Apple szerint a Windows 10 a jövőben akár futhat is az M1 alapú rendszereken, ezzel kapcsolatban a Microsoft térfelén pattog a labda: ha szándék mutatkozik, meg lehet valósítani az ehhez szükséges kompatibilitást. A Linux esetében szintén van lehetőség a futásra, sőt, ennél az operációs rendszernél már ígéretes eredmények is mutatkoznak, hála a virtualizáció területén tevékenykedő Corellium szakembereinek.

Ahogy arról korábban már beszámoltunk, az Apple M1 alapú SoC egységével már sikerült kompatibilissé tenni egy Linux disztribúciót, ehhez azonban sok extra munkára volt szükség, és akkoriban még nem is működött minden hardver, ugyanis még dolgoztak a további kompatibilitás megteremtését. Azóta sokat haladtak a fejlesztők, így egyebek mellett most már a hardverkomponensek többsége használható, például a WiFi is működik, ám a folyamat során sok érdekes megoldásra bukkantak, amelyek megnehezíthetik a szoftver- és hardverfejlesztők feladatát.

Az Apple az ARM alapú SoC egységeket régóta alkalmazza iPhone és iPad sorozatú mobileszközeiben, ahol többnyire nem az a fontos, hogy az elérhető magok számát növeljék, sokkal inkább az egymagos, illetve egyszálas teljesítmény optimalizálására koncentrálnak, valamint az energiahatékonyság is fontos szerepet tölt be. Az egyediség itt persze nem ér véget, ugyanis rendszerarchitektúra szintjén is igen sok egyedi megoldást vet be a vállalat a siker érdekében, méghozzá olyanokat is, amelyek egyébként nem szabványosak.

A Corellium szakemberei szerint az M1 esetében a rendszer boot folyamata is más, mint a többi 64-bites ARM alapú konfigurációnál, azok ugyanis a firmware-t hívják meg egy PSCI nevű interfészen keresztül, míg az M1 egy MIMO regiszter által megadott címről indul és csak utána kezdi a kernel futtatását. Az Apple ezzel együtt speciális megszakításvezérlőt is használ, ami az Apple Interrupt Controller nevet viseli, és ez az ARM szabványon kívül helyezkedik el, teljesen egyedi megoldásként fogható fel. Ezzel együtt egy olyan architekturális megoldást is használnak, ami még a 32-bites ARM alapú rendszerekben használatos, és egyáltalán nem kompatibilis a Linux disztribúciókkal – itt arról van szó, hogy az időzítő megszakítások az FIQ-hoz kapcsolódnak.

Annak érdekében, hogy az M1 alapú rendszerben található vezérlők kommunikálhassanak egymással, az operációs rendszernek processzorok közötti megszakításokat (Inter-processzor Interrupts – IPI) is használnia kell. Eddig ezeket az IPI-ket ugyanúgy kezelte a rendszer, mint a hagyományos IRQ-kat, azaz MIMO hozzáférések történtek az AIC felé, de az M1 esetében már processzormag regisztereket vetnek be a célra.

És az érdekességek sora itt még nem ér véget, ugyanis az Apple WiFi és Bluetooth vezérlői egy nem-szabványos PCIe alapú protokollon keresztül kapcsolódnak a SoC egységhez, amit a Corellium virtualizációs szoftvercsomagja szerencsére kezelni tud. A helyzetet tovább bonyolítja, hogy az Appple PCIe vezérlője, illetve a beépített Synpsys DWC3 USB vezérlő egy egyedi IOMMU segítségével működik, ami a DART ( Device Address Resolution Table) nevet viseli. És még az Apple I2C protokollja is egyedi firmware segítségével üzemel, ami exkluzív protokollt használ.

A fentiek miatt nem egyszerű a szoftveres kompatibilitás megteremtése, legyen szó natívan futó operációs rendszerről, vagy éppen virtuális gépet használó szoftverről. Windows 10 témakörben egyébként érdekesség, hogy egy fejlesztő már sikeresen elindította a Windows 10X kiadását a QEMU virtualizáció segítségével, ám ezen a területen egyelőre nincsenek hírek mennyire stabil a szoftver, illetve milyen kihívásokat kell még leküzdeni, az viszont biztos, hogy a Windows 10X még fejlesztés alatt áll, nem végleges, illetve Win32 alkalmazások futtatására sem képes, így kevésbé lényeges a végfelhasználók számára, mint egy normál Windows 10 verzió.

Neked ajánljuk

    Tesztek

      Kapcsolódó cikkek

      Vissza az oldal tetejére