Компьютеры будущего не будут бояться отключения электроэнергии

Кибернетики из университета Карнеги-Меллон в Пенсильвании создали новый язык программирования. С его помощью можно будет написать программы для систем, которые всегда готовы к постоянным и неожиданным перебоям с электроэнергией.
Компьютеры будущего не будут бояться отключения электроэнергии

Язык Chain разработали создатели компьютеров, которые нельзя включить в сеть электропитания. Эти устройства получают энергию непосредственно из окружающей среды. Разработчики считают, что за такими устройствами будущее, но пользователям придется учитывать специфику энергии окружающей среды: она не всегда доступна. Поэтому системам без штепселя нужно научиться легко переносить внезапные перебои с питанием. О таких же компьютерах мечтают создатели космических аппаратов, которые зависят от не всегда доступной энергии Солнца.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Все существовавшие до Chain языки программирования не учитывали возможность прекращения подачи питания на ЭВМ. Некоторые программы и операционные системы рассчитаны на перебои с электроэнергией, но все они работают по одному принципу — сохраняя сами себя через определенные промежутки времени. Среди таких ОС — российская разработка «Фантом», американские IBM и EROS. Но такие системы сами по себе очень энергоемкие. Периодические бэкапы — не выход для космического зонда, которому нужно дотянуть до следующего поворота солнечными панелями к Солнцу.

Фото
Написанные на Chain программы обезопасят космические аппараты от потери данных, когда солнечные панели надолго окажутся в тени.
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Язык программирования Chain имеет два механизма сохранения данных. Во-первых, все процессы в нем делятся на небольшие задачи, и статус каждой задачи (завершена или нет) сохраняется. Также сохраняются результаты выполненных задач (например, результаты вычислений и логических операций). Каждая задача сохраняет свой статус и результат и передает их следующей задаче. Та проверяет статус и, если предыдущая задача была завершена, то ее данные используются для решения новой.

Если происходит сбой питания, при восстановлении программа возобновляет работу с последней задачи, которая проверяет статус предыдущей перед тем, как приступить к работе. Разработчики утверждают, что такой метод позволяет экономить электроэнергию и вычислительные мощности и в то же время не бояться перепадов напряжения