syscon ps3 что это
Syscon ps3 что это
Все манипуляции с консолью Вы делаете на свой страх и риск, администрация и пользователи в неработоспособности или блокировке ваших аккаунтов/консолей не виноваты.
Часть 4.
Если Вы это читаете, то значит вашу консоль нельзя прошить на CFW. Чтобы взломать консоль нужно установить HEN.
Если на консоли установлен ODE (эмулятор привода), то этот пост может помочь с обновлением OFW.
Как установить HEN. В данной теме настоятельно рекомендую изучить абсолютно все вкладки и кликабельные ссылки (обычно выделены синим цветом). Начинать изучение с вкладки ВВЕДЕНИЕ.
Перед установкой прошивки обязательно извлеките Blu-Ray диск с игрой из PS3, если таковой имеется в приводе (это необходимо по той причине, что PS3 сначала обновляется с диска).
Способ №1
01. Переименуйте скаченный файл с прошивкой в PS3UPDAT.PUP.
02. Скопируйте файл с прошивкой PS3UPDAT.PUP на USB флешку (FAT32 mbr) в папку PS3/UPDATE.
03. Вставьте USB флешку в PS3.
04. Включите PS3.
05. На PS3 выберете обновление системы, обновление с носителя информации, далее следовать инструкции на экране.
06. Прошивка установлена.
Способ №2
01. Переименуйте скаченный файл с прошивкой в PS3UPDAT.PUP.
02. Скопируйте файл с прошивкой PS3UPDAT.PUP на USB флешку (FAT32 mbr) в папку PS3/UPDATE.
03. Вставьте USB флешку в PS3.
04. Отключите PS3.
05. Нажмите на кнопку включения и держите, пока не услышите два коротких сигнала, после которых PS3 отключится, затем отпустите кнопку.
06. Снова нажмите на кнопку включения и держите её, пока не услышите сначала один короткий сигнал, а затем два коротких сигнала, потом отпустите кнопку.
07. Сделайте всё по инструкции на экране, выберите системный апдейт, расположенный в самом последнем пункте.
08. PS3 несколько раз отключится (не трогайте приставку в этот момент) и в результате выведет вам экран начальной настройки.
09. Прошивка установлена.
Иногда бывает, что консоль не видит прошивку на флешке, пишет «Данные системного обновления не найдены«. Чаще всего это может происходить по причинам:
Архитектура PlayStation 3, часть 4: Борьба с пиратством
Эта часть является последней в данной серии переводов. По сути, осталось рассказать про игры (а точнее, их разработку и распространение) и борьбу с пиратством (для многих, пожалуй, самое интересное). Поэтому оба раздела были объединены в эту часть, чтобы весь переведенный материал не пропадал впустую.
7. Игры
Этот раздел охватывает темы, связанные с разработкой, распространением и обслуживанием игр.
7.1. Экосистема разработки ПО
Поскольку эта консоль объединяет в себе технологии различных компаний, включая продукты, которые уже продаются на других рынках (например, GPU-линейка GeForce 7 от Nvidia для ПК), то разработчики были завалены множеством различных инструментов для разработки своего ПО. Это не означает, что разработка была легкой, но это было лучше того, что было во времена ассемблера.
Для программирования Cell IBM и Sony выпустили отдельные пакеты разработки. IBM делала пакеты для свободных сред, таких как Linux (и OtherOS). Инструменты Sony, напротив, явно нацелены на GameOS в качестве единственной среды выполнения.
Чтобы облегчить сложность разработки Cell, IBM также разработала ещё один (но недолговечный) компилятор XLCL, который компилирует код OpenCL (вариант C/C++ для параллельных вычислений) для PPU и SPU. Он распространялся только через канал IBM Alphawork, означая, что компилятор оставался экспериментальным.
Поскольку Sony поддерживала только PS3, их SDK включал такой же набор инструментов GCC, но дополненный тоннами библиотек для графических задач, обработки аудио и операций ввода-вывода. В случае с графикой для RSX, Sony предоставляла библиотеки GCM для создания низкоуровневых команд и psGL, построенная поверх GCM для обеспечения OpenGL ES API.
Для написания шейдеров Nvidia предоставляла Cg. Это компилятор шейдеров, который парсирует язык, похожий на GLSL (язык шейдеров, созданный для OpenGL).
7.1.1. Разработка без коммерческой лицензии
С появлением хоумбрю-приложений (работающих на GameOS, а не на OtherOS) были созданы новые наборы SDK с открытым исходным кодом. Сделано это для обхода зависимости от библиотек Sony, защищенных авторским правом, чтобы, следовательно, предотвратить потенциальные судебные разбирательства.
7.1.2. Аутсорсинг разработки
Стоит отметить, что за это время возросла популярность своеобразной бизнес-модели: игровые движки.
Вкратце, игровые движки берут на себя всё фундаментальные задачи, такие как физика, освещение и прочее. Разработчикам остается только добавить свой собственный контент (скрипты, текстуры, модели, звуки и прочий контент).
7.2. Носители информации
Теперь, когда мы закончили говорить о разработке игр, настало время рассмотреть их распространение. Итак, здесь описываются официальные механизмы распространения игр для PS3.
7.2.1. Диски Blu-ray
Новое поколение = новый носитель.
Для своей новой консоли Sony выбрала диск формата Blu-ray.
В то время как ранние игры для PS3 работают с диска, более поздние игры копировали часть своих ресурсов на жесткий диск для увеличения скорости чтения. Тем не менее, диск с игрой необходим всегда для запуска игры.
7.2.2. Онлайн-магазин
Одновременно с выпуском консоли Sony запустила собственный канал распространения под названием PlayStation Store, позволяющий игровым студиям продавать свои игры в цифровом виде, а пользователям приобретать их, не вставая с дивана. Для работы игр не требуется никакого физического носителя (кроме места на жестком диске), но владение цифровым продуктом было привязано к онлайн-аккаунту. Это вызвало беспокойство пользователей в марте 2021 года, когда Sony объявила [76] (а затем отменила [77] ) закрытие этого магазина.
В своем цифровом магазине Sony также воспользовалась возможностью продавать оцифрованные версии игр для PS1, PS2 и PSP под названием PlayStation Classics. Они загружаются и устанавливаются аналогично играм для PS3, но для их работы используются эмуляторы, прилагаемые в цифровой версии. Фактически, игры PS2 используют один и тот же неускоренный программный эмулятор независимо от того, содержат ли модели PS3 чипсет PS2 [78] или нет! Полагаю, это заключительная глава для аппаратной эмуляции в PS3.
7.3. Сетевой сервис
Сервис позволил пользователям создать личный аккаунт, назначить аватар, и затем использовать эту новую цифровую личность для многопользовательских игр, переписки и других социальных взаимодействий. Пользователи также могут получать трофеи, если они совершают определенное событие или действие в игре. Затем они отображаются в онлайн-профиле (как некая медаль почета), чтобы, наверное, запугать соперников и завоевать уважение друзей.
Скриншоты меню PlayStation Network в XMB
И последнее, но не менее важное: как и в случае с обновляемой ОС, игры тоже обновляются. Таким образом, при запуске игры XMB может предложить загрузить обновления игры (в виде “пакетов”), которые исправляют ошибки и/или добавляют новый контент. Обновления устанавливаются на жесткий диск и работают аналогично слоистой файловой системе.
8. Борьба с пиратством и хоумбрю-приложениями
Все, что вы только что прочитали, должно быть каким-то образом защищено от «несанкционированного» доступа. Если хотите ознакомиться с тем, как компания Sony выполнила эту работу, то вам дальше будет интересно.
8.1. Обзор фундамента безопасности
Многие части консоли уже обеспечивают функции безопасности, которые не требуют ручной реализации в ПО:
Cell содержит скрытый ROM, в котором хранятся незашифрованные процедуры загрузки, не опасаясь, что посторонние смогут увидеть или изменить их.
Режимы привилегий Cell и изолированный режим SPE предотвращают доступ программ к неавторизованным ресурсам.
Южный мост плавно шифрует содержимое жесткого диска с помощью AES.
Кроме того, Sony внедрила в ПО следующие средства защиты:
Сложная цепочка доверия, которая начинается с незашифрованного загрузочного ROM в Cell и заканчивается графическим интерфейсом пользователя (XMB), который загружает только зашифрованные Sony двоичные файлы под ядро и гипервизор.
Цепочка доверия реализует несколько алгоритмов шифрования, включая асимметричные (RSA и ECDSA) и симметричные (AES) в сочетании с HMAC и SHA-1 (для подтверждения целостности данных).
Некоторые ключи шифрования изготавливаются в процессе производства. Это значит, что если хакеры найдут и выложат эти ключи, они не будут работать на других консолях. За это приходится расплачиваться тем, что Sony не может исправлять ПО, зашифрованное этими ключами, после того как консоль покинет завод.
Эти специальные ключи используются для bootldr и metldr (ранние стадии загрузки).
Игры должны обращаться к ядру для доступа к железу, которое, в свою очередь, обращается к гипервизору. Эти «абстракции», в теории, не позволят игровым эксплойтам превышать привилегии в системе.
Диаграмма шифрованного SELF-файла
8.2. Поражение
Вы уже видели, на что способна эта консоль, но ожидали ли вы, что хакеры будут довольствоваться ограниченными возможностями OtherOS? Думаю, Sony тоже не ожидала. Компания изо всех сил старалась защитить некоторые области, но оставляла другие области полузакрытыми, которыми позже и воспользовались хакеры.
8.2.1. Обход гипервизора
В 2010 году, после трех лет затишья на хакерской сцене, в сообществе произошло нечто интересное.
Эксплойт требует двух материалов: установки Linux под управлением OtherOS (для выполнения произвольного, но ограниченного кода) и наличия внешнего глитчера, подключенного к шине XDR (для общения с ОЗУ).
Коротко, гипервизор использует хэш-таблицу, хранящуюся в ОЗУ, для каталогизации адресов памяти вместе с их уровнями привилегий. Поэтому пользовательские программы не могут получить доступ к защищенным областям памяти.
Атака работает путем нарушения целостности такой таблицы, чтобы иметь возможность писать поверх неё, а затем использовать эту привилегию для изменения записей, чтобы предоставить текущей программе доступ к каждой области в памяти.
Затем эксплойт Хотца запрашивает дополнительные блоки, поэтому гипервизор расширяет свою таблицу новыми записями. Этот процесс продолжается до тех пор, пока запись в хэш-таблице не перекрывает место в памяти блока, который должен был быть деаллоцирован. Поскольку в хэш-таблице сохранилась старая запись, дающая пользователю доступ к этому адресу, гипервизор в итоге предоставляет к изменению записи в хэш-таблице! Таким образом, эксплойт изменяет запись, чтобы расширить доступ ко всему пространству памяти.
Диаграмма, описывающая атаку на гипервизор
8.2.2. PS Jailbreak
Позже, в 2010 году, группа под названием PS Jailbreak анонсировала (и позже выпустила) уникальное решение для запуска хоумбрю-приложений непосредственно из встроенной оболочки консоли (XMB, из под GameOS) без вмешательства в железо консоли. И все это не понравилось Sony, которая вскоре пойдёт юридическим путём, чтобы заблокировать продажи продукта.
За кулисами эта флешка выполняет огромное количество работы, которую можно разделить на две части [87] :
USB-эксплойт: после включения консоли флешка обманывает систему, заставляя её думать, что она подключена к USB-хабу со шестью портами. Потом она выполняет сложную последовательность USB-команд, пока не достигнет переполнения кучи и эскалации доступа к ядру PS3 (уровень 2). Затем она приступает к выполнению полезной нагрузки (payload).
Payload: это ещё один сложный пакет, который исправляет оригинальную оболочку, чтобы включить скрытые функции, доступные только на отладочных устройствах (кнопка «Install PKG»). Пакет отключает проверку подписи (для загрузки произвольного модуля или пакета) и перенаправляет команды Blu-ray на жесткий диск (для загрузки игр). Тот факт, что эта программа может изменить так много на уровне ядра, заставляет задуматься, а в чём же гипервизор хорош?
В дополнение к этому M4j0r позже сказал:
Интересно, что он даже не использует код Sony, эта часть lv2 была написана Logitech, и разработчики этого эксплойта могли иметь доступ к исходному коду (благодаря взлому 2008 года) [88]
8.2.3. Достойны упоминания
Прежде чем я наконец-то расскажу о главном достижении хоумбрю-сцены PS3, позвольте мне описать пару методов, которые были разработаны примерно в то же самое время:
Даунгрейдер: поскольку Sony продолжала устранять уязвимости с помощью новых обновлений ПО, у пользователей не осталось другого выбора, кроме как понизить версию прошивки с возможностью запуска эксплойта. Таким образом, появились компании, подобные E3, которые поставляли специализированное оборудование, позволяющее переписать систему консоли «трудным способом». То есть, путем прямой прошивки чипов NAND или NOR. По понятным причинам этот метод требует большего мастерства и терпения по сравнению с USB-методом.
8.2.3. Падение шифрования
Как и в саге с PSP, первоначальные эксплойты требовали больших усилий и легко исправлялись Sony, что привело к невыгодной игре в кошки-мышки. Однако, как и в случае с PSP, это был вопрос времени, когда какое-нибудь открытие нарушит фундамент безопасности этой системы: её цепочку доверия.
Бинарные файлы, загружаемые на этапе загрузки, подписываются ключом ECDSA. Так как это асимметричная система шифрования, то любой, кто владеет закрытым ключом (Sony, а теперь и другие), может зашифровать и подписать двоичные файлы. В глазах metldr эти файлы будут выглядеть «подлинными».
А поскольку metldr является третьим этапом загрузки перед загрузкой lv1 (гипервизора), это означает, что хакеры смогут создавать собственные гипервизор, ядро и всё, что находится под ними. Кроме того, любая PlayStation 3 на рынке будет думать, что пользовательские двоичные файлы являются подлинными. В общем, это был эксплойт в стиле батареи Пандоры, но он был полностью программный.
Открытие этого ключа, которое должно было быть вычислительно невыполнимым, стало возможным благодаря «оплошности» в реализации алгоритма ECDSA компанией Sony.
8.3. Эра кастомных прошивок
Взлом metldr означал, что теперь все могли создавать «официальные» системы для PS3, что привело к появлению «разновидностей» GameOS, которые различные сообщества выпускали с различными настройками. Эти системы представляли собой модификации официальных файлов прошивки Sony (которые она распространяла в виде обновлений) и пересобирались с использованием утечки ключей, поэтому их можно было установить куда угодно.
Результат получил название «кастомная прошивка» (Custom Firmware, CFW) и стал де-факто методом взлома этой консоли, пока Sony не приняла жесткие меры по его устранению.
Моя установленная CFW с открытым “меню VSH”. Этот вариант прошивки (под названием «Rebug») также позволяет мне превратить консоль в отладочную станцию и возиться со своими хоумбрю-приложениями.
Тем временем в сети появилось множество CFW с разными названиями (например, «Rebug», «Ferrox» и прочее), и они содержали следующие особенности [94] :
Отключение проверки подписи для любого установленного или устанавливаемого модуля.
Разрешение чтения и записи (классический peek and poke) по любому адресу памяти, используя либо гипервизор (уровень 1), либо ядро (уровень 2).
Включение возможности монтирования образа диска, как если бы был вставлен диск Blu-ray.
Восстановление OtherOS и даже его усовершенствование за счет снятия ограничений, накладываемых гипервизором. Результат был назван OtherOS++.
Запись базы данных в EEPROM чипа SysCon, позволяющая установить любую версию системы по выбору. Это также известно как QA Toggling.
Изменение стиля XMB (например, удаление предупреждения об эпилепсии, разрешение делать скриншоты в игре и так далее).
Есть и мой любимый вариант: привнести отладочные функции из тест-кита, позволяя любой розничной консоли стать отладочной станцией. Это может быть сделано установкой либо прошивки с возможностями отладки, либо той, которая может преобразовать розничную консоль (CEX) в отладочную модель (DEX) путем изменения специфических для консоли данных во флэш-памяти.
8.3.1. Sony наносит ответный удар
Аналогично событиям, произошедшим после появления CFW для PSP, Sony ответила двумя обновлениями системы безопасности:
Со стороны ПО Sony выпустила два системных обновления, которые улучшили систему безопасности:
По сей день эти модели консоли не могут запустить CFW, поэтому их прозвали непрошиваемыми. Однако они могут работать с «гибридной прошивкой», о которой мы поговорим позже.
8.3.2. Возвращение хоумбрю-приложений
Основная полезная нагрузка PS3Xploit полностью повторяет работу аппаратного даунгрейдера (исправление файлов CoreOS), но с помощью программного обеспечения. Нагрузка работает следующим образом:
Отправной точкой является интернет-браузер XMB, построенный на базе WebKit. PS3Xploit использует JavaScript для получения возможности выполнения произвольного кода в пользовательском пространстве системы (и вне среды JavaScript). Чтобы запустить эту программу, пользователю достаточно открыть родной веб-браузер XMB, ввести URL-адрес, указывающий на хост PS3Xploit, и позволить ему сделать свою работу.
Так получилось, что ядро предоставляет системные вызовы, которые могут быть использованы для перезаписи файлов системы во флэш-памяти. Кроме того, оболочка (XMB) и её плагины хранят в памяти процедуры, которые используют эти вызовы.
PS3Xploit не может вызвать эти системные вызовы напрямую из-за защиты «no-execute» гипервизора, не позволяющей эксплойту загружать новый код в пользовательскую среду. Однако он может найти способ перезаписать флэш-память, «позаимствовав» процедуры у оболочки.
Теперь консоль способна устанавливать неофициальные обновления программного обеспечения, и пользователь может этим воспользоваться для установки кастомной прошивки. Правда, пока что он не может понизить версию системы, но после установки актуального CFW пользователь может установить дополнительные утилиты для понижения версии системы, и если захочет, и установить более улучшенную CFW.
Как видите, этот «подарок с небес» вернул кастомные прошивки в центр внимания и сделал устаревшими аппаратные даунгрейдеры и ODE. С другой стороны, для тех моделей, которые не могли установить CFW любым способом (непрошиваемые), позже командой был предложен другой пакет эксплойтов, PS3Hen.
PS3Hen фокусировался на включении подмножества функций CFW в прошивку (включая возможность запуска хоумбрю-приложений). Этот пакет устанавливает точку входа в XMB, и пользователь должен запускать её каждый раз при включении консоли, чтобы снова активировать хоумбрю-приложения.
8.3.3. Частичный ответ от Sony
К счастью, Sony предприняла лишь небольшие шаги, чтобы заблокировать PS3Xploit (возможно, потому, что такой поворот событий произошел спустя годы после того, как преемник консоли, PlayStation 4, появился в магазинах). Они выпустили несколько системных обновлений, которые не исправили эту цепочку эксплойтов, но удалили процедуру, используемую в WebKit для начальной загрузки цепочки.
И на этом заканчивается сага о борьбе с пиратством. По моему скромному мнению, не думаю, что Sony заинтересована в том, чтобы прикладывать больше усилий для защиты этой консоли. Поэтому я бы не ожидал новых игр в кошки-мышки в этой области.
9. На этом всё, ребята!
Ура, вы добрались до конца!
Буду откровенен, я изначально планировал написать статью за 2 месяца, однако это растянулось на целое лето (и вы знаете почему). В любом случае, надеюсь, что это помогло вам расширить свои знания об этой системе, и позволило вам понять причины технологического прогресса в ту эпоху. Таким образом, теперь вы можете мыслить шире популярных слухов, постоянно повторяемых СМИ.
Если вам интересно, для этой статьи я использовал три модели PS3:
Непрошиваемая CECH-3001 прямиком из моего подросткового возраста (почему-то на коробке написано, что это модель CECH-25XX!). Недавно достал её из чердака, чтобы попробовать PS3Hen.
CECH-2100, которую я купил после выхода PS3Xploit. Наконец-то я смог установить на неё хоумбрю-приложения.
Модель CECHA (выпущенная только в Японии), купленная мною в августе 2021 для сбора материалов для этой статьи (в основном фотографии и информация об обратной совместимости с PS2). Это было довольно дорого, но, к счастью, пожертвования читателей помогли мне компенсировать расходы.
Хоть я много раз повторял, что Cell был революционной технологией, вы, возможно, заметили, что я ни разу не упомянул, насколько ненадежными оказались ранние модели. Это был первый раз, когда я услышал о неисправности консоли, просто некоторое время поиграв в неё.
Действительно, эти штуки ели электричество, как динозавры, и нагревались, как духовка (пластиковая духовка). К счастью, у меня была модель «Slim» (её следовало назвать “рабочей”)… Стремительная эпоха была, не так ли?
В любом случае, касаемо того, что у меня на повестке дня: я возьму небольшой отпуск, прежде чем приступить к следующей статье, чтобы поработать над другими направлениями по улучшению сайта и заняться личными делами.
Архитектура PlayStation 3, часть 3: Три «ОС»
В данной части описывается устройство обратной совместимости от PlayStation 2, операционной системой самой PS3, а также возможность OtherOS для установки второй операционной системы. Из-за этого в названии и появилось три «ОС» 🙂
5. Ввод/вывод и обратная совместимость
Большой чип южного моста, контролирующий небольшие микросхемы ввода-вывода и интерфейсы
То же самое изображение, но с важными обозначениями
Как и IOP в PS2, южный мост полностью проприетарный, и на этот раз он изготовлен Toshiba (они назвали его “Super Companion Chip” [37] ). Хоть он и по-прежнему остается малоизвестным куском кремния, но он выполняет превосходную работу по объединению множества интерфейсов и протоколов, как внешних (будь то USB, Ethernet и прочее), так и внутренних (SATA).
Для справки, в прошлом низкая тактовая частота IOP создавала узкое место для быстрых интерфейсов, таких как ATA и Ethernet, значительно снижая их полную пропускную способность. Кроме того, в южный мост добавили алгоритмы шифрования, чтобы беспрепятственно защитить между стандартными протоколами обмен данными, такими как данные жесткого диска.
Диаграмма соединений южного моста
В целом, Southbridge встраивает огромное количество интерфейсов. Это связано с тем, что эта консоль была разработана во время тренда на «мультимедийные комбайны«. Недостаточно, чтобы игровые консоли запускали только игры. Они также должны быть плеерами DVD и Blu-ray, ресиверами ТВ (частично), средствами для просмотра фотографий (импортируя фото с камеры через карт-ридер) и, возможно, ещё большим по мере развития потребностей (благодаря своей обновляемой ОС).
5.1. Внешние интерфейсы
В случае с доступными портами для пользователя, к южному мосту подключены:
Хаб USB 2.0: обеспечивает четыре передних порта USB A. Они могут быть использованы для аксессуаров и для соединения или зарядки контроллеров.
Интерфейс Serial ATA (SATA): соединяет привод Blu-ray и жесткий диск 2.5″.
Контроллер Gigabit Ethernet 1000/100/10: в виде разъема RJ45 сзади. К контроллеру была подключена плата для Wi-Fi 802.11 b/g и Bluetooth 2.0.
Карт-ридеры: имелись порты для карт Memory Stick, SD, MultiMediaCard (MMC), Microdrive и Compact Flash.
5.1.1. Беспроводное оборудование
Благодаря широкому внедрению технологии Bluetooth проводное управление теперь ушло в прошлое. Новая форма контроллера Dualshock 2 от PS2 теперь называется Sixaxis.
Хоть это и не радикальное изменение, на которое решились другие, но в нём есть гироскоп для новых типов человеческого ввода. Однако это произошло за счет отказа от тактильной обратной связи (вибрации). Год спустя Sony удивила игроков контроллером Dualshock 3, в который вернулся тактильный мотор.
Также теперь вы можете включить консоль с помощью беспроводного контроллера.
5.2. Внутренние интерфейсы
Что касается внутренних компонентов, то южный мост соединяет:
Чипсет PlayStation 2: в углу материнской платы находится привлекающий внимание чип, в котором объединены и Emotion Engine, и Graphics Synthesizer. Комбо EE+GS подключается к 32 МБ памяти RDRAM и мосту ввода-вывода, («мост PS2”). Всё это вместе составляет примерно 90% оригинальной PlayStation 2.
Чип EE+GS посылает видеосигнал непосредственно в RSX.
Эти чипы недоступны разработчикам, они используются только для обратной совместимости!
5.2.1. Обратная совместимость
Упомянув чипы PS2, полагаю, что это мой намек на то, чтобы надо поговорить об обратной совместимости PlayStation 3 раз и навсегда. Для начала, позвольте мне рассказать то, как обычно работает обратная совместимость: консоли могут либо играть в игры своих предшественников с помощью программного или аппаратного обеспечения:
ПО инструктирует существующему оборудованию консоли вести себя так, как ожидала бы старая игра на предыдущей консоли.
Существующее в консоли оборудование обеспечивает полную или частичную обратную совместимость
Были добавлены дополнительные чипы для воссоздания старой системы на новой материнской плате
При той вычислительной мощности, которую демонстрирует PS3, можно было бы ожидать, что Sony выпустит эмулятор PS2, работающий в Cell и ускоренный RSX. Ну, по какой-то причине этого не произошло. Вместо этого Sony установила чипсет PS2 в одном углу материнской платы.
Большой чип EE+GS, два чипа по 16 МБ памяти RDRAM и “мост PS2”.
То же изображение, но с важными обозначениями.
С другой стороны, отсутствующие, но не столь критичные чипы (IOP, SPU и прочее) эмулируются с помощью Cell. В случае игровых сохранений изначально пользователям приходилось приобретать адаптер карты памяти. Но после выхода нового обновления ПО карты памяти теперь эмулируются как образы дисков, хранящиеся на жестком диске, а Magic Gate (система шифрования) обрабатывается одним SPU.
Поскольку Cell и RSX все ещё “включены” во время игры на PS2, то система предлагает два метода масштабирования для увеличения площади экрана во время геймплея: метод “ближайших соседей” и “антиалиасинг” (antialiasing).
Интерфейс PS3 показывает значок игры после вставки диска от PS2.
В общем, благодаря данным решениям, PS3 запускает игры PS2 с впечатляющей совместимостью. Вдобавок ко всему, вы можете воспользоваться новыми функциями консоли (беспроводное управление, интерфейс HDMI, отсутствие карт памяти).
5.2.2. Странная смена курса
Sony на протяжении всего жизненного цикла консоли медленно убирала чипы для PS2 из материнской платы PS3. В итоге обратная совместимость была реализована только через программную эмуляцию (со многими ограничениями, такими как запуск PS2 игр, купленных только через их онлайн-магазин).
Поскольку Sony так и не заменила чипсет PS2 (как это было раньше с железом PS1 в PS2), то это заставляет задуматься о техническом и исполнительном обосновании этого. Что ж, в качестве примера, вот мое краткое мнение о причинах этого:
Сроки: Sony, скорее всего, рассчитывала, что владельцы PS2 приобретут новинку в качестве замены своей консоли, так как это более доступно для потребителей (они могут продать свою старую систему). Однако по какой-то причине у Sony не было готового программного эмулятора к дню выпуска, поэтому вначале они прибегли к добавлению дополнительных чипов. Позже, по мере того как программная эмуляция удовлетворительно развивалась, они постепенно удаляли чипы в последующих ревизиях.
В дополнение к этому разработчик ‘M4j0r’ прокомментировал:
Я понимаю, что в снижении энергопотребления участвуют и другие факторы, например, новые ревизии Cell и RSX. Однако я по-прежнему считаю, что чипсет PS2 играет здесь важную роль.
Лично я считаю, что чистая программная эмуляция является наиболее приемлемым вариантом в долгосрочной перспективе благодаря её масштабируемости, настройке и независимости от проприетарного оборудования. Но как показывает текущая разработка PCSX2 сообществом добровольцев, это требует больше усилий для точной реализации (обратите внимание, что вышеупомянутый эмулятор работает только на ПК с x86).
5.2.3. Поздняя совместимость
Мы ещё не закончили говорить о совместимости! Возможно, вас удивит тот факт, что Sony также позволила пользователям запускать подмножество игр от Playstation Portable. Но эмуляция осуществлялась полностью с помощью ПО, как и совместимость PS2 в более поздних моделях.
Поскольку PS3 не может читать UMD диски, то пользователи должны получить доступ к каталогу игр из интернет-магазина Sony, чтобы загрузить и установить любую игру для PSP.
6. Операционная система
Теперь, когда домашние консоли стали мощными мультимедийными центрами, то нужна более сложная операционная система (ОС), чтобы предоставить пользователям с более толстым слоем абстракции больше сервисов и игр при сохранении безопасности и производительности на должном уровне.
6.1. Привилегированная безопасность Cell
Тем не менее, для защиты от несанкционированного доступа к конфиденциальным данным и/или ресурсам, Cell реализует уровни привилегий, унаследованных от спецификации PowerPC. Другими словами, Cell выполняет программы в двух режимах:
Более того, Cell также был подготовлен к одновременному запуску нескольких ОС. Для достижения этого на аппаратном уровне “режим привилегий” может быть дополнительно разделен на Привилегию 1 и 2.
«Привилегия 1» используется гипервизором, который осуществляет арбитраж ресурсов между различными ядрами, работающими одновременно.
«Привилегия 2» предназначена для использования ядром.
Операционная система Sony, которую я собираюсь описать в следующих параграфах, использует все описанные режимы для обеспечения безопасности.
6.2. Общие сведения
Как я уже говорил ранее, ОС довольно комплексная. Чтобы без проблем следовать этому разделу, мы можем разделить типы файлов, которые мы найдем в ОС этой консоли, на различные уровни:
Некоторые загрузчики обновляются Sony (через обновления ПО), в то время как другие не могут быть изменены. Это не зависит от того, установлены ли они в перезаписываемое хранилище или нет. Поскольку некоторые загрузчики зашифрованы специфическими для каждой консоли ключами, то их нельзя изменить после того, как консоль покинет завод (по крайней мере, традиционными средствами).
Системные файлы: они содержат низкоуровневые двоичные файлы (выполняемые через загрузчики), метаданные для организации аппаратного обеспечения, утилиты и другие ассеты (assets) (шрифты и изображения). Как и загрузчики, для каждой консоли есть свои системные файлы, которые не могут быть заменены или сгенерированы автоматически.
Контент пользователей: это файлы конфигурации, данные, используемые играми, и данные, автоматически генерируемые консолью (это могут быть настройки Интернета, файлы установки игр, сохранения, информация о жестком диске).
В отличие от других слоев, уничтожение этих данных не приводит к катастрофическим последствиям.
6.3. Иерархия безопасности ОС
В целом, ОС для PS3 разработана с использованием того же модульного подхода, что и в PSP. Если вспомнить предыдущую статью, то ОС состоит из множества модулей. Они могут обслуживать пользователей (игра или приложение) или находиться в памяти неопределенное время для обслуживания других модулей (в виде системных вызовов и/или драйверов). Некоторые модули имеют больше привилегий, чем другие (модуль ядра против модуля пользователя).
Диаграмма, показывающая, как компоненты операционной системы Playstation соответствуют уровням привилегий Cell. “OtherOS” объясняется в следующих разделах.
ОС на протяжении своего жизненного цикла будет обращаться ко многим модулям, некоторые из них будут обладать большими привилегиями, чем другие. Sony создала свою ОС таким образом, чтобы модули работали под тремя уровнями привилегий Cell:
Уровень 2: естественно, зарезервирован для ядра, привилегированной программы, также известной как lv2 или “супервизор”. Ядро абстрагирует гипервизор, поэтому программы третьего уровня не имеют прямого доступа с нему. Ядро предоставляет функции многопоточности для PPU и SPU. В конечном счете, ядро загружает модули из пользовательского пространства.
Уровень 3: на это уровне работают остальные программы, включая игры и визуальная оболочка (пространство пользователя). Эти плебеи подчиняются воле ядра для связи с железом консоли, и они не могут породить новый процесс или программу в одностороннем порядке.
6.4. Носители информации
С учетом всего сказанного выше, где хранятся все эти данные? С точки зрения обычного пользователя, есть только два видимых средства: диски Blu-ray для игр и жесткий диск для сохранений. Есть еще несколько, и сейчас мы рассмотрим каждый из них!
6.4.1. Cell BootROM
Оказывается, что производители спрятали внутри Cell маленький ROM, в котором хранится “защищенный” загрузчик (boot-loader). IBM дает это пространство, чтобы избавить любую компанию (не только Sony) от необходимости вручную применять обфускацию для защиты своего загрузочного кода, поскольку готовые компоненты не всегда готовы к конкретным потребностям.
Поскольку эта часть уже физически защищена обфускацией, её не нужно шифровать. Таким образом, он идеально подходит для первоначального загрузчика (first-stage boot-loader) (который не может быть зашифрован), и PlayStation 3 хранит свой ранний этап загрузки именно там.
6.4.2. Флеш-память NAND или NOR
Помните о тех 256 МБ флэш-памяти NAND, о которых я кратко упоминал ранее? Здесь находится бóльшая часть операционной системы. Так было до тех пор, пока в конце 2007 года Sony не выпустила модель CECHH, заменив 256 МБ NAND на ничтожные 16 МБ NOR. Как следствие, некоторые файлы пришлось перенести в другое место. Для простоты давайте сначала посмотрим, что хранят эти чипы [51] :
CoreOS: первая половина операционной системы. В основном она состоит из дополнительных загрузчиков, которые продолжат процесс загрузки и в конечном итоге загрузят вторую половину ОС (GameOS). CoreOS дает доступ к меню восстановления (Recovery Menu), альтернативной оболочке, содержащую утилиты обслуживания, которые пользователи могут использовать для (попытки) ремонта своей консоли.
Уникальные ID: подобно IDStorage в PSP, они используются консолью для управления защищенным оборудованием, таким как привод Blu-ray; или компанией Sony для аутентификации консоли на своих онлайн-серверах (ключ IDPS).
Элементы безопасности: некоторые программы зависят от них для выполнения операций безопасности. Например, фильмы Blu-ray с DRM проверяют блок под названием Virtual Table Rights Management (VTRM). Sony также хранит специальные инструменты и записи для внесения в черный список сертификатов безопасности, которые были скомпрометированы в прошлом.
Из-за большего объема флэш-памяти NAND такие модели также хранят оставшуюся часть ОС (GameOS или devflash ). Сюда входит:
Визуальная оболочка (Visual Shell, VSH): продолжение фирменного интерфейса PSP, которое также включает в себя кучу модулей (плагинов) и ассетов.
Эмуляторы: вышеупомянутые программы, позволяющие PS3 запускать игры от PS1, PS2 или PSP. Конкретный загружаемый эмулятор PS2 зависит от ревизии консоли (имеет ли она полное железо PS2, частичное или вообще не использует железо предыдущей консоли).
Библиотеки среды выполнения: программы, разработанные с помощью SDK от Sony, динамически связываются с набором библиотек, которые хранятся в этой части.
Проигрыватель Blu-ray: программы, обеспечивающие взаимодействие с приводом Blu-ray и декодирование фильмов.
Системные ассеты: например, это шрифты и сертификаты, от которых зависит работа двоичных программ.
Как будто этого было мало, но консоли с NAND также содержат другие данные, такие как xRegistry (коллекция сетевых настроек, учетных записей PlayStation Network и список устройств Bluetooth), ещё больше инструментов и записей для возврата сертификатов; и загрузчик для OtherOS (действительно интересная часть, о которой мы поговорим подробнее в следующих параграфах).
6.4.3. Жесткий диск
Дебютный 2,5-дюймовый жесткий диск объемом от 20 до 500 Гб (по мере выпуска новых версий) обеспечивает постоянное хранение следующих данных:
Пользовательский контент: включая сохранения игр, трофеи и другие данные, связанные с пользователями.
Игровые ассеты: игры могут копировать файлы с оптического диска на жесткий диск, чтобы улучшить время загрузки. ОС рассматривает их как “игровые данные”.
Кэш: отдельный раздел размером 2 ГБ доступен для игр для временного хранения (в случае, если им недостаточно объема основной оперативной памяти).
Системы с NOR, однако, также хранят GameOS на жестком диске. Как следствие, каждый раз, когда пользователь меняет жесткий диск, консоль запрашивает файл обновления для переустановки GameOS на диск. Как бы то ни было, системы ни с NOR, ни с NAND не загружаются без жесткого диска.
Некоторые пользовательские данные можно сохранить с помощью USB-накопителя, а затем при необходимости перенести на другую консоль. Однако этот процесс переформатирует новую консоль перед копированием старых данных.
6.4.4. eMMC
Довольно любопытно, что если пользователь решит установить жесткий диск в модель eMMC, консоль перенесет все пользовательские данные с памяти eMMC на новый жесткий диск. Как следствие, пользователь может полностью использовать жесткий диск, хотя пустое место в eMMC теперь остается незанятым.
6.5. Процесс загрузки
Итак, используя все предыдущие знания, вы узнаете, как загружается система. И это довольно сложный процесс, скажу я вам. Причина проста: Sony не хочет, чтобы вы возились с их железом или ПО. Поэтому они создали множество уровней обфускации и шифрования, чтобы помешать вам взломать систему и загрузить свой собственный код (и, возможно, отказаться от этой затеи и продолжать покупать игры / фильмы / прочее медиа). Но, как покажет история, произошло совершенно обратное.
В следующем разделе я опишу, что делает эта консоль после нажатия кнопки питания. Обратите внимание, что этот процесс радикально изменился только один раз (после того, как хакеры взломали его). Итак, для простоты мы начнем с “оригинального” процесса загрузки (реализованного до версии системы 3.60 ) [54] [55] [56] :
Отдельный чип на материнской плате (Syscon) активируется и выполняет инструкции из внутреннего ROM. Потом он отправляет “кольцо конфигурации” в Cell через SPI (последовательное соединение), которое инициализирует процессор и деактивирует восемь SPU. Затем, он переключает линию питания и дает жизнь Cell.
Вектор сброса PPU в Cell указывает на его скрытый ROM, в котором хранятся процедуры поиска и расшифровки bootldr из флэш-памяти. Потом расшифрованный фрагмент загружается блок SPU в режиме изоляции.
appldr расшифровывает и загружает vsh (визуальную оболочку) и другие зависимости. vsh позже позволит пользователю загрузить игру.
isoldr расшифровывает и загружает модули, которые будут работать в третьем SPU в изолированном модуле. Эти модули критически важны для безопасности и выполняют множество криптографических функций на протяжении всего жизненного цикла консоли. Следовательно, третий SPU зарезервирован для функций безопасности, и игры не могут его использовать (для игр остается только шесть SPU).
6.5.1. Измененный процесс загрузки
6.6. Визуальная оболочка
Успели устать от всей этой теории? Что-ж, позвольте мне переключиться на то, что на самом деле может увидеть каждый: Визуальная оболочка.
XMB в PSP (2004) Разрешение 480×272
XMB в PS3 (2006) Разрешение 1920×1080
Хоть пользователи PSP и найдут много что знакомого, но Sony добавила новый набор приложений, использующих потенциал Cell, RSX и привода Blu-ray.
Многие из них связаны с мультимедиа (видеоплеер и слайд-шоу изображений), телевидением (приложения для телевидения, такие как BBC iPlayer), социальным профилем (онлайн-аватары) и онлайн-покупками (PlayStation Now, PlayStation Store и другие).
Кроме того, поскольку это домашняя консоль, которая может быть общей для нескольких пользователей, XMB поддерживает множество пользователей, где каждый может использовать свою учетную запись PlayStation Network и хранить отдельные пользовательские данные (купленные игры и сохранения).
Скриншоты интерфейса XMB
6.6.1. Одолжи мне свою PS3
Впечатляет то, что не все приложения, поставляемые в комплекте с этой консолью, преследовали потребительские цели. С появлением распределенных вычислений и возможностей Cell для проектов по изучению данных Стэнфордский университет объединил усилия с Sony, чтобы владельцы PlayStation 3 могли внести свой вклад в медицинские исследования. Результатом стало приложение Folding@home.
Folding@Home отображает работу, выполненную с момента запуска приложения
Это мое личное мнение, но мне нравится читать о проектах, которые вносят глобальный вклад, используя возможности распределенных вычислений, в отличие от бесконечных сенсационных статей о майнинге криптовалюты. Думаю, не стоит забывать, что с каждой новой мощной технологией всегда будут разрабатываться бескорыстные приложения для неё.
6.7. Несколько ОС
Функция, в двух словах, предоставляет собой менеджер разделов (XMB просто направляет пользователя для изменения размера раздела GameOS и выделения нового места для второй ОС) и кнопку для загрузки со второй ОС (благодаря загрузочным файлам OtherOS, уже установленным во флэш-памяти). Таким образом, пользователю просто нужно заполнить новый раздел системой. Многие дистрибутивы Linux (например, Ubuntu и Fedora) добавили PS3 в качестве еще одной возможной платформы для установки. Считайте это духовным преемником Linux for PS2.
С другой стороны, хоть привилегии OtherOS и могут превосходить привилегии GameOS (на уровне ядра), они не превосходят гипервизор, который все ещё находится в памяти. Таким образом, любой аппаратный доступ из OtherOS по-прежнему зависит от воли гипервизора Sony.
Так получилось, что гипервизор блокирует доступ к командным буферам RSX (препятствуя использованию шейдерных блоков и прочих компонентов для ускорения графических операций). Следовательно, в результате дистрибутив Linux прибегает к программному рендерингу (вся графика рисуется через Cell), а затем передает кадровый буфер в RSX для отображения. Разочаровывает то, что OtherOS не может использовать все возможности этой консоли. Вероятно, это было сделано для уменьшения поверхности атаки. По иронии судьбы, использование Cell в OtherOS похоже на то, как IBM/Toshiba/Sony, возможно, изначально представляли себе PS3!
Разделив судьбу Folding@home, OtherOS в конечном итоге была удалена в последующем обновлении, но по другим причинам (в основном, связанных с безопасностью). Вскоре после этого OtherOS была неофициально восстановлена благодаря программным эксплойтам и усилиям по обратной разработке.
В настоящее время OtherOS доступна, если пользователь устанавливает кастомную прошивку. Подробнее об этом я рассказываю в разделе «Борьба с пиратством и хоумбрю» (часть 4).
6.8. Обновляемость
В заключительной части этого длинного раздела поговорим о возможностях обновления GameOS.
Файлы PUP распространялись через официальный сайт Sony, помощника по обновлению XMB или находились в содержимом диска с игрой (все игры содержат файл PUP, отражающий версию SDK, для которой они разработаны). Поскольку модели с флэш-памятью NAND содержат всего 256 МБ и хранят там всю ОС, Sony никогда не выпускала файлы обновлений размером более 256 МБ.
Источники
Ввод / вывод:
PS3 Developer Wiki Contributors, Starship2. PS3 Developer Wiki. ↩︎