По словам старшего преподавателя Стэнфордского университета Филипа Левиса, операционная система Cinder уже работает на процессорах Arm, а в настоящее время члены проектной команды адаптируют ее к особенностям устройства HTC G1.
«Для того чтобы увеличить производительность приложений, в устройствах, функционирующих под управлением Cinder, можно предусмотреть кнопку, отвечающую за выделение программам дополнительной энергии, — отметил Левис. — Кроме того, Cinder позволяет загружать любые программы и безопасно выполнять их на телефоне в режиме ‘песочницы’».
Левис вместе с еще одним преподавателем Стэнфордского университета и группой студентов разрабатывают Cinder с нуля, полагая, что мобильную операционную систему с интересующими их свойствами на основе уже существующих платформ не создать. К примеру, ОС Linux проектировалась для других аппаратных средств и не претендует на звание идеальной платформы для мобильных устройств, поскольку к ней изначально предъявлялись несколько иные требования.
В Cinder нашли отражение некоторые новаторские решения, присутствующие в HiStar — еще одной операционной системе, разработанной специалистами Стэнфордского университета, однако исследователи не стремились обеспечить обратную совместимость с указанной платформой. Им хотелось лишь исключить базовые функции, не имеющие отношения к мобильным устройствам, и иметь возможность дописывать новые уровни адаптации в случае возникновения необходимости добиться обратной совместимости.
Главная задача, которую предстояло решить, заключалась в обеспечении требуемой безопасности и эффективного управления энергопотреблением. Что касается безопасности, хотелось иметь возможность запускать как проверенные, так и неизвестные приложения без нежелательных последствий. Для того чтобы добиться этого, из HiStar была позаимствована функция контроля потоков данных в системе, которой разработчики решили отдать предпочтение перед реализацией контроля кода.
Особый акцент Левис делает на вопросах управления энергопотреблением, то есть на тех компонентах ОС, за которые он отвечал непосредственно. Система Cinder способна предотвращать нежелательный расход энергии батарей, обеспечивать работу приложения в течение времени, заданного пользователем, и даже искусственно увеличивать уровень энергопотребления. Подробная информация об оставшемся заряде и времени работы батареи отображается при этом на экране мобильного устройства.
Cinder получает детальные сведения об уровне энергопотребления каждого из компонентов приложения и может планировать его энергоснабжение. Это должно помочь в управлении неизвестными вычислительными процессами, которые то и дело запускаются в фоновом режиме, потребляя энергию батарей. Вместо того чтобы просто уведомлять владельца телефона о слишком быстром исчерпании заряда батареи, система находит виновное в этом приложение и останавливает его процессы. У Cinder есть возможность контролировать характер энергопотребления каждого из процессов.
Операционная система способна также распределять энергию с учетом того, как долго пользователь предполагает работать с приложением. К примеру, если он в течение двух часов намерен смотреть фильм, Cinder выделит на этот период проигрывателю нужный ему объем электроэнергии.
Встроенные в телефон приложения могут иметь настройки по умолчанию, регулирующие энергопотребление в зависимости от характера использования программ. Что же касается загружаемых приложений, реализовать для них поддержку такой функции весьма затруднительно. Поначалу им придется работать в достаточно жестких условиях, с тем чтобы исключить перерасход электроэнергии на неизвестные программы. Но если пользователь придет к выводу, что приложение работает слишком медленно, он сможет нажать кнопку, выделяющую данной программе дополнительную энергию.
Для того чтобы добиться контроля над энергопотреблением, Cinder использует целый ряд средств. Основная роль здесь отводится так называемому блокиратору энергопотребления — довольно простому механизму, который следит за всеми видами рабочей нагрузки. В нем могут найти отражение десятки различных политик, типичных для сегодняшних систем. Кроме того, операционная система использует асинхронный ввод/вывод, характерный для современных высокопроизводительных серверов. Асинхронный ввод/вывод позволяет уменьшить задержки, возникающие при организации обмена информацией между приложениями и операционной системой, а также планировать рабочую нагрузку ОС. Но если в серверах асинхронный ввод/вывод применяется для увеличения производительности, то Cinder использует его для минимизации энергопотребления.