« Architektura Wii (index)

Architektura Wii

Chapter 8: System Operacyjny


Spis Treści

  1. System operacyjny Starlet
  2. System operacyjny Broadway
  3. Nośnik aktualizacji
  4. Sekwencja rozruchowa

Ogólnie rzecz biorąc, w Wii znajdują się dwa systemy operacyjne. Jeden wykonywany jest w Broadway'u (głównym CPU), a drugi w Starlet (CPU WE/WY). Oba znajdują się w tych 512 MB NAND i mogą być aktualizowane.

System operacyjny Starlet

Starlet sam w sobie to już ciekawy sprzęt, ale jego oprogramowanie jest jeszcze bardziej intrygujące. Widzisz, ten system operacyjny nie tylko ma pełny dostęp do każdego zakątka konsoli, ale jest także pierwszą rzeczą uruchamianą na konsoli po wciśnięciu przycisku zasilania.

Starlet uruchamia system nieoficjalnie określany jako System Operacyjny Wejścia/Wyjścia [ang. Input/Output Operating System] lub 'IOS' (proszę, nie myl tego z iOS firmy Apple) . IOS to w pełni funkcjonalny system operacyjny składający się z:

Mając to na uwadze, głównym zadaniem IOS jest odciążenie głównego procesora poprzez abstrakcję WE/WY i bezpieczeństwa. Z tego powodu programiści nie muszą się nimi martwić. Aby to osiągnąć, Starlet rezerwuje od 12 do 16 MB RAM GDDR3 dla swoich zadań, reszta jest używana przez Broadway i GPU.

Broadway i Starlet komunikują się ze sobą za pomocą Komunikacji Międzyprocesowej lub protokołu 'IPC': W skrócie, oba procesory dzielą po dwa rejestry. Jeden CPU może zapisywać w rejestrach drugiego (zapisane dane mogą reprezentować polecenie lub wartość), a stamtąd CPU odbiorca może wykonać funkcję w odpowiedzi.

System aktualizacji IOS jest nieco skomplikowany: Zaktualizowane wersje IOS nie są instalowane na starych, ale w innym gnieździe (zarezerwowany obszar w NAND dla IOS jest podzielony na 'gniazda'). Jest to wyłącznie ze względu na kompatybilność, ponieważ pozwala starszemu oprogramowaniu Wii na używanie tej samej wersji IOS, dla której zostało opracowane.

Nintendo często publikowało aktualizacje IOS w celu poprawy obsługi sprzętu (co było konieczne, gdy dostarczono nowe akcesorium). Jest tylko jeden wyjątek, gdy aktualizacje IOS faktycznie zastępują starsze: Gdy wykryto, że konkretna wersja ma lukę, którą można wykorzystać. Robione to było tylko ze względów bezpieczeństwa.

Po włożeniu gry GameCube dzieje się coś innego: Startlet zamiast tego uruchamia MIOS. Ten wariant IOS po prostu nakazuje Starletowi emulację oryginalnego IPL.

System operacyjny Broadway

Ten jest powszechnie znany jako Menu Systemowe i działa na głównym procesorze PowerPC (Broadway).

Image
Menu systemowe z wieloma zainstalowanymi kanałami.

Image
Menu ustawień służące do zmiany ustawień.

Image
Tablica kontaktowa przechowuje listy pogrupowane według daty.

W porównaniu z IOS nie uważałbym tego za 'w pełni rozwinięty' system operacyjny, ale bardziej za 'program', który pozwala użytkownikowi wykonywać następujące operacje:

Podobnie jak IOS, Nintendo również wydało wiele aktualizacji tego systemu. Niektóre naprawiły błędy bezpieczeństwa, inne dodały więcej funkcji. Godną uwagi nową funkcją była możliwość przechowywania kanałów na karcie SD.

Każdy program działający na Broadwayu (w tym Menu Systemowe) działa w oparciu o określoną wersję IOS. Po uruchomieniu gry lub kanału Starlet uruchamia się ponownie, używając zadeklarowanej wymaganej wersji IOS.

Nośnik aktualizacji

Nintendo nazywa je aktualizacjami systemowymi. Zawierają one oba systemy w tym samym pakiecie i używają numerów porządkowych do oznaczania wersji. Ostatnia znana wersja to 4.3E, wydana w czerwcu 2010 r.

Pakiety aktualizacji systemu można pobrać z serwerów Nintendo lub dysków z grami. Użytkownicy mogą ręcznie sprawdzać dostępność aktualizacji za pomocą Menu Systemowego. Aktualizacje są wymuszane, jeśli gra wymaga określonej wersji systemu IOS, która nie jest zainstalowana (a płyta zawiera wymagane pakiety).

Sekwencja rozruchowa

Do tej pory omówiliśmy dwa bardzo różne systemy operacyjne, które znajdują się w tej konsoli i działają jednocześnie. Wydaje się to dość proste, chociaż oba muszą być starannie skoordynowane podczas uruchamiania konsoli, aby później działały poprawnie.

Biorąc to pod uwagę, proces uruchamiania wygląda następująco :

  1. Użytkownik naciska przycisk ON na konsoli.
  2. Etap Boot0: Starlet uruchamia program znajdujący się we wbudowanym Mask ROM-ie (1,5 KB).
    • Krótko mówiąc, Starlet odszyfrowuje i sprawdza integralność pierwszych 96 KB NAND, następnie oblicza swój hash i porównuje go z zapisanym hashem znalezionym we wbudowanej pamięci OTP Starlet. Jeśli oba hashe nie pasują, konsola jest indukowana w nieskończoną pętlę.
  3. Etap Boot1: Starlet uruchamia mały program znaleziony we wspomnianym 96 KB NAND.
    • Ten program po prostu poinstruuje Starlet, aby zainicjowała (wyczyściła) 64 MB pamięci RAM GDDR3, a następnie odszyfrowała i zweryfikowała resztę NAND.
  4. Etap Boot2: Starlet ładuje początkowy system IOS (potrzebny do Menu Systemowego), a następnie uruchamia Broadway.
  5. Broadway uruchamia Menu Systemowe. Użytkownik ma teraz kontrolę.

Previous: 7. WE/WY

Next: 9. Gry


Rodrigo Copetti © 2026 RSS Feed

Przełącz na wersję nowoczesną

Strona Główna · Artykuły · Wsparcie · O autorze · O stronie