Разработчик | |
---|---|
Написано в | Rust , C++ , C , Dart , Go , Python , язык ассемблера [2] [3] |
Семейство ОС | На основе возможностей [1] |
Рабочее состояние | Текущий |
Исходная модель | С открытым исходным кодом |
Первоначальный выпуск | 25 мая 2021 г. ( 2021-05-25 ) |
Последний релиз | Ф20 [4] / 4 июня 2024 г. |
Репозиторий |
|
Доступно в | Английский |
Платформы | ARM64 , x86-64 |
Тип ядра | Микроядро |
Под влиянием | Pink , Android , ядро Unix (но не Unix-подобное ), iOS |
Пользовательский интерфейс по умолчанию | Горностай |
Лицензия | BSD , MIT , лицензия Apache 2.0 |
Официальный сайт | фуксия.dev |
Статьи в серии | |
Талигент |
Fuchsia — это операционная система с открытым исходным кодом , разработанная Google . В отличие от операционных систем Google на базе Linux , таких как ChromeOS и Android , Fuchsia основана на пользовательском ядре Zircon. Она была публично представлена как самостоятельный репозиторий git в августе 2016 года без какого-либо официального корпоративного объявления. После многих лет разработки ее официальный запуск продукта состоялся в 2021 году на первом поколении Google Nest Hub , заменив ее оригинальную ОС Cast на базе Linux .
Fuchsia названа в честь цвета фуксии , который представляет собой сочетание розового и фиолетового. [5] [6] Название является отсылкой к двум проектам операционных систем в Apple , которые повлияли на членов команды проекта Fuchsia: Taligent ( кодовое название «Pink») и iOS (кодовое название «Purple»). [7] Цветовая схема именования происходит от цветов карточек, которые сотрудники Apple использовали для организации своих идей. [8]
Название цвета фуксия произошло от рода растений Fuchsia, который, в свою очередь, получил свое название от имени ботаника Леонарда Фукса .
В августе 2016 года СМИ сообщили о загадочном репозитории исходного кода , опубликованном на GitHub , в котором говорилось, что Google разрабатывает новую операционную систему под названием Fuchsia. Официального объявления сделано не было, но проверка кода показала, что ее можно запускать на различных устройствах, включая системы «dash infotainment» для автомобилей, встроенные устройства, такие как светофоры , цифровые часы , смартфоны , планшеты и ПК . Ее архитектура полностью отличается от Android и ChromeOS на базе Linux , отчасти из-за ее уникального ядра Zircon, ранее называвшегося Magenta. [9] [10] [11] [12] [13] [14]
В мае 2017 года Ars Technica написал о новом пользовательском интерфейсе Fuchsia , обновлении интерфейса командной строки , представленном в августе. Разработчик написал, что Fuchsia «не игрушка, не проект 20% , не свалка мертвой вещи, которая нам больше не нужна». Хотя пользователи могли протестировать Fuchsia, ничего не «работает», потому что «это всего лишь набор интерфейсов-заглушек, которые ничего не делают». Они обнаружили множество сходств между интерфейсом Fuchsia и Android, включая экран недавних приложений, меню настроек и разделение экрана для просмотра нескольких приложений одновременно. [15] [16] Несколько СМИ писали о, казалось бы, тесной связи проекта с Android, при этом некоторые предполагали, что Fuchsia может быть попыткой «переделать» [17] или заменить Android [18] [19] [20] таким образом, чтобы устранить его проблемы. [15]
В январе 2018 года Google опубликовал руководство о том, как запустить Fuchsia на Pixelbooks . [21] [22] Это было успешно реализовано Ars Technica , где эксперты были впечатлены прогрессом, отметив, что все работает, и были особенно довольны аппаратной поддержкой и несколькими указателями мыши. [23]
Устройство Fuchsia было добавлено в экосистему Android в январе 2019 года через Android Open Source Project (AOSP). [24] [25] Google рассказала о Fuchsia на Google I/O 2019. [26] Хироши Локхаймер , старший вице-президент Chrome и Android, описал его как один из экспериментов Google вокруг новых концепций операционной системы. [27]
1 июля 2019 года Google анонсировала официальный сайт проекта разработки с исходным кодом и документацией. [16] Примерно через полтора года, 8 декабря 2020 года, Google объявила, что «расширяет модель открытого исходного кода Fuchsia» [28], включая публикацию списков рассылки , внедрение модели управления, публикацию дорожной карты и использование публичного трекера проблем .
В мае 2021 года сотрудники Google подтвердили, что Fuchsia впервые была развернута на потребительском рынке в рамках обновления программного обеспечения для первого поколения Google Nest Hub , которое заменяет существующее программное обеспечение на базе Chromecast . Обновление не содержит никаких изменений в программном обеспечении или пользовательском интерфейсе устройства, с которыми сталкивается пользователь. [29] [30] После первоначальной волны обновлений для устройств с предварительной версией обновление было развернуто на всех устройствах Nest Hub в августе 2021 года. [31] Примерно 21 февраля 2022 года браузер Chrome полностью работал на Fuchsia. [32]
В январе 2023 года Google объявила об увольнениях по всей компании, которые коснулись 16 % сотрудников Fuchsia. [33] В мае 2023 года Google начала развертывание обновления на базе Fuchsia для Google Nest Hub второго поколения . [34]
Пользовательский интерфейс и приложения Fuchsia написаны на Flutter , наборе средств разработки программного обеспечения , позволяющем осуществлять кроссплатформенную разработку для Fuchsia, Android и iOS . Flutter создает приложения на Dart . Escher — это графический движок на основе Vulkan со специальной поддержкой «объемных мягких теней», элемента, который, как пишет Ars Technica , «кажется специально созданным для выполнения рекомендаций Google по интерфейсу Material Design с большим количеством теней ». [35] Кроссплатформенный набор средств разработки программного обеспечения Flutter позволяет пользователям устанавливать части Fuchsia на устройства Android.
Специальная версия Android Runtime для Fuchsia планируется запускать из файла FAR, эквивалента Android APK . [36]
LK родился из @tkgeisel, которому надоело писать одну и ту же мини-ОС для загрузчиков или тестовых прошивок снова и снова, поэтому он взял перерыв между работами и сделал версию концепции с открытым исходным кодом. Теперь она живет в миллиардах загрузчиков и других безумных местах.
— Брайан Суэтленд, один из первых инженеров ОС Android. [37]
Fuchsia основана на новом объектно-ориентированном ядре, названном Zircon в честь минерала . Его кодовая база была получена из Little Kernel (LK) для встраиваемых устройств , нацеленного на низкоресурсное использование на самых разных устройствах. [38] LK был разработан Трэвисом Гейзельбрехтом, который также был соавтором ядра NewOS, используемого Haiku , свободной программной ре-реализацией BeOS .
Zircon написан в основном на C++ , с некоторыми частями на C и ассемблере . [3] Он состоит из ядра с небольшим набором пользовательских служб, драйверов и библиотек , которые необходимы для загрузки системы, взаимодействия с оборудованием и загрузки пользовательских процессов. [39] Его текущие функции включают обработку потоков , виртуальной памяти , межпроцессного взаимодействия и ожидания изменений в состоянии объектов. [40]
Он во многом вдохновлен ядрами Unix [41], но сильно отличается. Например, он не поддерживает сигналы , подобные Unix , но включает в себя событийно-управляемое программирование и шаблон наблюдателя . Большинство системных вызовов не блокируют основной поток. Ресурсы представлены как объекты, а не файлы, в отличие от традиционных систем Unix, в которых все является файлом .
{{cite web}}
: Отсутствует или пусто |title=
( помощь )сейчас ядро и операционная система Google, созданные с нуля, действительно загружаются на Pixelbook, и некоторые вещи даже работают. Сенсорный экран, трекпад и клавиатура работают, как и порты USB. Вы даже можете подключить мышь и получить второй курсор мыши.
на C++, Zircon состоит из микроядра и набора служб пользовательского пространства, драйверов и библиотек, которые требуются для обработки загрузки системы, запуска процессов и других типичных задач ядра. Системные вызовы Zircon, как правило, неблокирующие, за исключением wait_one, wait_many, port_wait и sleep.