7.901
Bearbeitungen
ICON (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
ICON (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''IOSU''' ist das Betriebssystem der [[Wii U]], welches auf dem ARM läuft und Titel- und Hardware-Zugriffe verwaltet. Zu den Aufgaben zählen die Durchsetzung des Code-Signings, das Verifizieren aller Titel vor der Installation und dem Start und dem Verwalten des Zugriffes auf Hardware, wie Speicher, Netzwerk, USB und dem GamePad. Der PowerPC kann mit IOSU über ein [[w:Interprozesskommunikation|IPC-Interface]] kommunizieren und Sicherheits- und Hardware-Anfragen durchführen. | '''IOSU''' ist das Betriebssystem der [[Wii U]], welches [[Starbuck|auf dem ARM läuft]] und Titel- und Hardware-Zugriffe verwaltet. Zu den Aufgaben zählen die Durchsetzung des Code-Signings, das Verifizieren aller Titel vor der Installation und dem Start und dem Verwalten des Zugriffes auf Hardware, wie Speicher, Netzwerk, USB und dem GamePad. Der PowerPC kann mit IOSU über ein [[w:Interprozesskommunikation|IPC-Interface]] kommunizieren und Sicherheits- und Hardware-Anfragen durchführen. | ||
Bei IOSU handelt es sich um einen kompletten Rewrite von [[IOS]] der Wii. Im Gegensatz zu IOS existiert allerdings nur ein IOSU, da die Wii U ein "richtiges" Betriebssystem hat, welches auch im Hintergrund läuft (auf der Wii laufen die Spiele direkt auf dem "blanken Metall"). | Bei IOSU handelt es sich um einen kompletten Rewrite von [[IOS]] der Wii. Im Gegensatz zu IOS existiert allerdings nur ein IOSU, da die Wii U ein "richtiges" Betriebssystem hat, welches auch im Hintergrund läuft (auf der Wii laufen die Spiele direkt auf dem "blanken Metall"). | ||
IOSU wurde von Nintendo entwickelt und stellt eine Mikrokernel-Architektur dar. Es enthält einen einfachen Kernel, der Speicher-, Prozess- und Threadmanagement implementiert. Gerätetreiber und Security-Handler laufen als Prozesse im ARM Usermode und werden "Resource Managers" (RM) genannt. Diese können sich als Request-Handler für Ressourcen registrieren, welche als Knoten unter /dev in | IOSU wurde von Nintendo entwickelt und stellt eine Mikrokernel-Architektur dar. Es enthält einen einfachen Kernel, der Speicher-, Prozess- und Threadmanagement implementiert. Gerätetreiber und Security-Handler laufen als Prozesse im ARM Usermode und werden "Resource Managers" (RM) genannt. Diese können sich als Request-Handler für Ressourcen registrieren, welche als Knoten unter /dev in einem virtuellen Dateisystem repräsentiert werden. Sie kommunizieren miteinander per standardisierten Unix-Dateioperationen über den Kernel (open, close, read, write, seek, ioctl, ioctlv). | ||
Der PowerPC-Teil des Betriebssystems heißt [[Cafe OS]]. | |||
== ELF-Loader == | |||
Das IOSU Firmware-Abbild (fw.img) beinhaltet zwei verschiedene Code-Teile: einen kleinen ELF-Loader und die eigentliche Firmware-Binary (ELF-Datei). Jedes Mal, wenn IOSU gestartet wird, ist der ELF-Loader der erste Code-Teil, der ausgeführt wird und Vorbereitungen für die eigentliche IOSU-Binary durchführt. Während des Starts der Wii U (Coldboot) lädt [[boot1 (Wii U)|boot1]] das Abbild. Allerdings muss IOS-MCP dies auch bei einem Neustart (Warmboot) tun. Das IOS-MCP-Modul leert zuerst den MEM1 und lädt dann die fw.img vom NAND. Es verifiziert den [[Ancast|Header]] des Abbilds, entschlüsselt es mit dem [[Ancast#Keys|Starbuck Ancast Key]] und nutzt zuletzt den ''execute_privileged'' Systemaufruf, um den Speicherschutz zu deaktivieren und zu IOSUs ELF-Loader-Code zu springen. | |||
Nachdem der IOSU-Kernel vom ELF-Loader geparst wurde, wird er vom SRAM der Wii U (0xFFFF0000) gestartet. Der Kernel folgt einer Standard ARM-Mikrokernel-Architektur. | |||
== Weblinks == | |||
* [http://wiiubrew.org/wiki/IOSU WiiUBrew] | |||
{{Top Icon Wii U}} | {{Top Icon Wii U}} | ||
[[Kategorie:Nintendo Wii U]] |
Bearbeitungen