[МногоБукв] Мираж операционной системы

Олег Довбня

Операционные системы бывают для компьютеров, планшетов и смартфонов и… для калькуляторов. Да не простых, а программируемых, таких, о которых мы с вами совсем недавно говорили. Фирма Texas Instruments разрабатывала калькуляторы, а сторонние компании создавали приложения для них. Не правда ли, очень похоже на современные экосистемы мобильных платформ iOS и Android?

Экран программируемого калькулятора

Экран программируемого калькулятора

Одна из таких сторонних фирм, Detached Solutions, известна тем, что создала не что-нибудь, а операционную систему для программируемых калькуляторов. Более того, судя по новостям сайта компании, разработки приложений для программируемых калькуляторов велись аж до осени 2009 года. Это было почти вчера!

Экран программируемого калькулятора

Строго говоря, MirageOS, которой и посвящен наш сегодняшний исторический экскурс, является оболочкой для других программ калькуляторов TI-83+/TI84+. Получается забавная игра слов. Человек видит название MirageOS и читает его, как: операционная система «Мираж». А на самом деле оно означает: Мираж операционной системы.

Что такое MirageOS?

Экран программируемого калькулятора

MirageOS является приложением для программируемых калькуляторов TI-83 Plus и TI-84 Plus, играющим роль оболочки и выполняющей программы ассемблера Z80 и языка программирования TI-BASIC, диалекта всемирно известного Бейсика, известного многим по урокам информатики. MirageOS значительно расширяет возможности как пользователей этих калькуляторов, так и программистов, создающих для них приложения.

Хотя MirageOS выглядит, как полноценная операционная система, она не является заменой родной ОС этих калькуляторов TI-OS и работает с ней в связке. Ее назвали так, потому что она подобна миражу: на операционную систему она похожа, но ею на самом деле не является.

Возможности MirageOS

Экран программируемого калькулятора

MirageOS позволяет запускать программы в нескольких форматах. В своем родном формате, а также ION, BASIC и TI-OS ASM.

Менеджер программ — встроенный мощный графический интерфейс программной оболочки отображает все совместимые с нею программы в виде прокручиваемого списка. Сортировка осуществляется по названиям программ. Имеется большой набор команд, позволяющий пользователю удобно организовать свои программы и управлять ими. Программа может быть переименована, перемещена на дополнительный носитель, возвращена с дополнительного носителя, защищена от редактирования средствами TI-OS и разблокирована. Программа может быть скрыта от отображения в меню PRGM и вновь возвращена в видимое состояние. Function Bar позволяет видеть свободный остаток оперативной и постоянной памяти.

MirageOS поддерживает расширенные пользовательские интерфейсы, своего рода аналог современных плагинов. Это дает возможность программисту самому определить способ вывода программы на экран, как она будет на нем выглядеть. Кроме четырех графических интерфейсов присутствует и командная строка. Надо сказать и сегодня некоторые пользователи предпочитают интерфейс командной строки графическому интерфейсу. Чтобы познакомиться с такими любителями, достаточно зайти на любой форум, посвященный Linux.

Экран программируемого калькулятора

MirageOS поддерживает папки программ. Пользователь может сгруппировать свои программы в папках. В каждой папке программы сортируются по названию. Таким образом, программы не лежат навалом в корневой директории, а аккуратненько занимают свои места в созданных пользователем папках. Пользователь может давать папкам произвольные имена, переименовывать и удалять их. Программы можно перемещать из папки в папку. В менеджере программ папки отображаются в виде списка. Папка может быть «открыта» или «закрыта». Это означает, что ее содержимое будет или не будет отображаться.

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

Экран программируемого калькулятора

MirageOS бережно относится к батарее и запасу энергии в ней. Оболочка запускается в энергосберегающем режиме и только по нажатию пользователем одной из кнопок калькулятора переходит в рабочий режим. Оболочка поддерживает Auto-Power-Down (APD, Автоотключение питания). Калькулятор под управлением MirageOS отключится через три минуты неактивного состояния. Если нажать кнопку ON, калькулятор будет выключен. При повторном нажатии этой кнопки калькулятор включится и загрузит в память оболочку. Своего рода восстановление состояния системы после перезагрузки.

MirageOS поддерживает длинные описания не только для программ ассемблера, что свойственно и другим оболочкам, но и для BASIC. А это уже инновация, характерная на момент создания лишь для MirageOS версии 1.2. Длинные описания могут отображаться в процессе поиска по списку программ.

Экран программируемого калькулятора

Оболочка позволяет использовать для родных программ MirageOS пиктограммы размером 15 х 15 пикселей. Большей частью эти пиктограммы видны в режиме отображения Buttons Interface (в виде кнопок), но видимы и в менеджере программ.

Защита паролем. Своего рода панель настроек миража операционной системы по имени Options Screen дает пользователю возможность настроить под себя многие параметры, как MirageOS, так и родной операционной системы калькулятора TI-OS. В том числе пользователь может защитить свой калькулятор паролем входа в оболочку из TI-OS. Впрочем, эта функция позиционируется больше, как защита от неумелых ручек, желающих поиграться с устройством, чем в качестве серьезного инструмента обеспечения информационной безопасности.

Экран программируемого калькулятора

Горячие клавиши поддерживаются и родной операционной системой TI-OS. MirageOS лишь расширяет область их применения. Например, вызвать оболочку-мираж из TI-OS можно удержанием кнопки ON с одновременным нажатием APPS. Чтобы в любой момент выключить питание калькулятора, не обращаясь к главному экрану Homescreen, достаточно сначала нажать кнопку ALPHA и следом за ней ON. Допустим, программист пишет программу в редакторе Бейсика и ему срочно нужно выключить калькулятор. Ему не придется тратить время на навигацию. И еще одно сочетание горячих клавиш используется для защиты меню памяти (Memory Menu). Если эта опция включена, войти в меню памяти по сочетанию клавиш 2nd+Mem не получится. Это позволяет защититься от удаления из памяти важных процессов, в частности AppVar, содержащего пользовательский пароль доступа к оболочке.

Прерыватель задач в программах. Одной из наиболее значимых возможностей MirageOS является функция выполнения задач в процессе работы ранее запущенных приложений, своего рода прообраз (или мираж?) многозадачности. Специальные горячие клавиши позволяют выполнить дополнительную задачу в на любом этапе выполнения текущей программы. Например, в процессе работы можно изменить контрастность изображения, отключение питания калькулятора, возобновление работы программы, возврат в оболочку или на главный экран в любой момент, увеличить или снизить скорость выполнения программы и даже поместить на экран калькулятора скриншот. Эта возможность не работает в программах Basic, только в некоторых программах ION и почти во всех родных программах MirageOS.

Экран программируемого калькулятора

Разработка программ на ассемблере. MirageOS упрощает создание ASM-программ, поскольку дает программисту доступ к большему количеству подпрограмм, чем ION. Это подпрограммы общего применения, хорошо оптимизированные по скорости. Напомним, что память была очень маленькой и среди программистов считалось правилом хорошего тона и высокого профессионализма писать почти микроскопические программы. Итак, с помощью MirageOS программы на ассемлере становятся еще меньше, поскольку могут использовать библиотеку подпрограмм, обращаясь к ней. А это значит, некоторую часть программного кода не приходится включать в текст самой программы. Кроме того, в программы MirageOS можно встраивать обращение к стороннему программному коду.

MirageOS обладает также рядом скрытых возможностей, оптимизирующих работу программ в оперативной и постоянной памяти калькулятора. Оболочка располагается в постоянной памяти. А это значит, что оперативная память свободна и остается в распоряжении программ на ассемблере, которые могут достигать огромных размеров, примерно 24 Кб! Вообразите себе эту неимоверную мощь! MirageOS позволяет запускать программы, перемещенные из постоянной памяти на дополнительный носитель информации. Делается это посредством перемещения информации в оперативную память.

Экран программируемого калькулятора

Некоторые программы расточительно относятся к памяти, записывая свои последние изменения. Например, кто больше очков набрал в игре. MirageOS позволяет запретить программам запись изменения своего состояния. У этого, разумеется, есть побочный эффект: новые данные не будут сохранены. Сегодня трудно себе представить, что такая возможность была когда-то нужна. Но факт остается фактом, если 24 килобайта — огромная программа, то приходилось экономить каждый байт.

И, напоследок, еще одна особенность, которая выгодно отличает MirageOS от предшествовавших ей оболочек для программируемых калькуляторов. Она не имеет ограничений по количеству определяемых ею программ. Единственное ограничение — объем доступной памяти.

Не удивило ли вас, что наше повествование протекало не в традиционном для исторических материалов прошедшем времени, а в настоящем? Дело в том, что любители повозиться с программируемыми калькуляторами есть и сегодня и для некоторых людей эта информация не относится к позабытому «вчера», а к актуальному сегодня.

Источник: Detachedsolutions.com