UniFLEX — это Unix-подобная операционная система , разработанная компанией Technical Systems Consultants (TSC) для семейства Motorola 6809 , которая обеспечивала многозадачность и многопроцессорность .
Он был выпущен для 8-дюймовых дискет с возможностью прямого доступа к памяти, расширенной адресацией памяти (программное управление подкачкой страниц по 4 КиБ до 768 КиБ ОЗУ [1] ), компьютеров на базе Motorola 6809. Примерами служат машины от SWTPC , Gimix и Goupil (Франция). На машинах SWTPC UniFLEX также поддерживал 20 МБ , 14-дюймовый жесткий диск ( OEM от Century Data Systems) в 1979 году. Позже он также поддерживал более крупные 14-дюймовые диски (до 80 МБ), 8-дюймовые жесткие диски и 5-1/4-дюймовые дискеты. В 1982 году другие машины также поддерживали первые широко распространенные 5-1/4-дюймовые жесткие диски с использованием интерфейса ST506 , такие как 5 МБ BASF 6182 и съемный SyQuest SQ306RD той же емкости.
Из-за ограниченного адресного пространства 6809 (64 КБ ) и аппаратных ограничений, основное пространство памяти для ядра UniFLEX , а также для любого запущенного процесса должно было быть меньше 56 КБ (код + данные) (процессы могли быть до 64 КБ минус 512 байт). Это было достигнуто путем написания ядра и большей части кода пользовательского пространства полностью на языке ассемблера и путем удаления нескольких классических функций Unix , таких как групповые разрешения для файлов. В остальном UniFLEX был очень похож на Unix Version 7 , хотя некоторые имена команд немного отличались. Не было никаких технических причин для переименования, кроме достижения некоторого уровня совместимости на уровне команд с его однопользовательским братом FLEX . Просто восстановив имена в стиле Unix, можно было установить значительную степень «Unix Look & Feel», хотя из-за ограничений памяти интерпретатор командной строки (shell) был менее функционален, чем Bourne Shell , известный из Unix Version 7. Управление памятью включало подкачку на выделенную часть системного диска (даже на дискетах), но только целые процессы могли быть подкачаны и выгружены, а не отдельные страницы. Это привело к тому, что подкачка стала очень сильным ударом по отзывчивости системы, поэтому память должна была быть подобрана соответствующим образом. Однако UniFLEX была чрезвычайно эффективной операционной системой. Машины с менее чем мегабайтом оперативной памяти, обслуживающие дюжину асинхронных терминалов, были не редкостью и работали на удивление хорошо.
TSC никогда не включала компилятор C в комплект UniFLEX для 6809, хотя они и производили его. Но в начале 1980-х годов реализация языка C стала доступна в качестве сторонних продуктов (компиляторы "McCosh" и "Introl"). Использование такого компилятора C могло бы обеспечить совместимость на уровне исходного кода с Unix версии 7, т. е. ряд инструментов и приложений Unix можно было бы перенести в UniFLEX — если позволял размер: Unix на PDP-11 ограничивал исполняемые файлы 64 КБ кода и еще 64 КБ данных, в то время как ограничение UniFLEX составляло приблизительно 56 КБ как для кода, так и для данных вместе.
Для UniFLEX не было доступно много прикладного программного обеспечения. Существовали порты электронных таблиц Dynacalc и текстового процессора Stylograph из операционной системы FLEX, но было продано лишь очень мало копий.
В середине 1980-х годов была анонсирована версия-преемница Motorola 68000. Хотя она и сняла насущные ограничения по пространству, она не имела коммерческого успеха, поскольку ей приходилось конкурировать с исходными кодами портов оригинальной Unix.
Исходный код UniFLEX и вспомогательного программного обеспечения доступен в Интернете.
В Нидерландах пользователи UniFLEX перенесли довольно много утилит Unix на UniFLEX. Также они изменили часть кода ядра, который дает приоритет процессам переднего плана над фоновыми процессами, обращающимися к диску, и это дало значительное улучшение пользовательского опыта.
Один из сотрудников TSC, Дэн Ванада, позже основал свою компанию "Scintillex Software". Ее продуктами были, например, утилиты, которые позволяли передавать данные между UniFLEX и MS-DOS и наоборот, а также утилиты форматирования DOS и утилита для исправления кода.