Attesor: Обратная разработка на основе ИИ Rosetta 2 для виртуальной машины Linux

✍️ OpenClawRadar📅 Опубликовано: 24 февраля 2026 г.🔗 Source
Attesor: Обратная разработка на основе ИИ Rosetta 2 для виртуальной машины Linux
Ad

Attesor — это репозиторий на GitHub, содержащий проект по реверс-инжинирингу системы бинарной трансляции Apple Rosetta 2. Проект направлен на понимание и документирование того, как Rosetta 2 позволяет приложениям x86_64 работать на оборудовании Apple Silicon с архитектурой ARM64, что может иметь значение для виртуализации в Linux.

История проекта

Проект документирует переходы архитектур Apple: 1994 (с Motorola 68000 на PowerPC), 2006 (с PowerPC на Intel x86_64) и 2020 (с Intel x86_64 на Apple Silicon ARM64). Rosetta 2 — это решение Apple для бинарной трансляции третьего поколения, следующее за оригинальной Rosetta (2006–2011), которая позволяла запускать приложения PowerPC на компьютерах Mac с процессорами Intel.

Архитектура Rosetta 2

Согласно исходным материалам, Rosetta 2 работает как слой трансляции между пользовательскими приложениями x86_64 и ядром macOS на ARM64. Архитектура включает:

  • Транслятор (AOT/JIT): Обрабатывает как заблаговременную (AOT), так и динамическую (JIT) трансляцию
  • Библиотека времени выполнения: Предоставляет функции поддержки во время выполнения
  • Трансляция системных вызовов: Преобразует системные вызовы x86_64 в эквиваленты для ARM64

Ключевые технологии

  • Заблаговременная трансляция (AOT): Преобразует бинарные файлы x86_64 в ARM64 во время установки, сохраняя переведённый код в кэше
  • Динамическая трансляция (JIT): Преобразует блоки кода по мере необходимости во время выполнения, обрабатывая динамически загружаемый код
  • Трансляция набора инструкций: Сопоставляет инструкции x86_64 с ARM64, векторные инструкции SSE/AVX с NEON, а флаги x86_64 — с кодами условий ARM64
  • Трансляция системных вызовов: Управляет различными соглашениями о вызовах и состоянием регистров на границах системных вызовов
Ad

Детали реализации

Rosetta 2 находится по адресу /Library/Apple/usr/libexec/oah/ (где «oah» означает «Old Architecture Hardware» — оборудование старой архитектуры) и содержит:

  • rosetta — Основной бинарный файл транслятора
  • rosettad — Демон Rosetta
  • librosetta.* — Библиотеки времени выполнения

На компьютерах Mac с Apple Silicon Rosetta 2 не установлена по умолчанию. Установка запускается либо при первом запросе на запуск приложения для Intel, либо через командную строку с помощью команды softwareupdate --install-rosetta.

Структура проекта

Репозиторий содержит несколько файлов, включая:

  • ExportDecomp.java и export_decomp.py для экспорта и декомпиляции
  • rosetta_decomp.c и rosettad_decomp.c для декомпилированных компонентов
  • rosetta_function_map.h и различные рефакторизованные C-файлы
  • rosetta.TODO.md, документирующий оставшуюся работу

Проект представляет собой продолжающееся усилие по документированию внутреннего устройства Rosetta 2, что может помочь в разработке аналогичных слоёв трансляции для сред виртуализации Linux.

📖 Прочитать полный источник: HN AI Agents

Ad

👀 Смотрите также

Настройка OpenClaw с арендой GPU на VAST.AI для неограниченных запросов в Ollama
Инструменты

Настройка OpenClaw с арендой GPU на VAST.AI для неограниченных запросов в Ollama

Пользователь описывает комбинирование аренды GPU на VAST.AI с Ollama и OpenClaw, чтобы обойти ограничения на промпты, но столкнулся с проблемами конфигурации, потребовавшими ручного редактирования JSON.

OpenClawRadar
Берега: Контейнеризованные хосты для запуска нескольких локальных сред
Инструменты

Берега: Контейнеризованные хосты для запуска нескольких локальных сред

Coasts — это решение Docker-in-Docker, которое решает проблему одновременного запуска нескольких локальных сред, автоматически обрабатывая конфликты портов, секреты и топологии томов без необходимости сложных скриптов.

OpenClawRadar
ToolLoop: Открытая платформа агентов для инструментов в стиле Claude с любой моделью
Инструменты

ToolLoop: Открытая платформа агентов для инструментов в стиле Claude с любой моделью

ToolLoop — это фреймворк с открытым исходным кодом на Python, включающий 11 инструментов для работы с файлами, поиска кода, доступа к оболочке и под-агентов, который работает с любой LLM через LiteLLM. Фреймворк объёмом 2700 строк кода позволяет переключать модели в середине диалога с сохранением общего контекста.

OpenClawRadar
Skill Seekers v3.2.0 добавляет извлечение обучающих материалов с YouTube для навыков Claude.
Инструменты

Skill Seekers v3.2.0 добавляет извлечение обучающих материалов с YouTube для навыков Claude.

Skill Seekers v3.2.0 теперь извлекает контент из обучающих видео на YouTube для создания структурированных файлов SKILL.md для Claude. Инструмент использует двухэтапный рабочий процесс с улучшением ИИ для очистки результатов OCR и создания полезной документации из видеоконтента.

OpenClawRadar