Linux. Это звучит!
АрхивКомментарий дняУсилиями энтузиаста операционная система Linux перенесена на цифровой аудиоплейер iPod. И это - лишь один из замечательных экспериментов, проведение которых без существования открытой, свободной ОС, было бы невозможно.
Своим свободным временем каждый из нас волен распоряжаться так, как ему заблагорассудится. С журналом на диван, с лыжами в лес, а то и с паяльником - в схемы. Главное - чтобы оно было, свободное время. И тогда рождаются удивительные идеи и проекты. Так, американец Бернард Лич (Bernard Leach) с недавних пор отдаёт всё своё свободное время экспериментам с операционной системой Linux, а точнее - переносу её на первую, попавшуюся под руку платформу. В буквальном смысле этого слова - ибо под руку Личу чаще всего попадается его аудиоплейер iPod…
Здесь стоит отметить, что пренебрежение к недокомпьютерам, которыми большинство из нас по старой привычке считает миниатюрные устройства, лишённые полноценных средств ввода/вывода информации, к современным плейерам уже неприменимо. iPod, равно как и его собратья по плейерному племени, на самом деле является сложнейшим устройством, функциональность которого почти эквивалентна функциональности простенького бытового компьютера начала 90-х. Конечно, разработчик, компания Apple, об устройстве своего детища не распространяется, но всё же известно об этом немало - главным образом благодаря десяткам энтузиастов со всего мира, посвятившим своё свободное время изучению электронных кишок этого симпатичного аппаратика. iPod основан на ARM-совместимом SOC-процессоре (включающем в себя помимо двух микропроцессорных ядер ещё массу контроллеров для управления внешними устройствами) Portal Player's PP50xx, и оснащён несколькими дополнительными серийными микросхемами, вроде цифро-аналогового преобразователя и коммуникационного чипа. Всю эту информацию можно почерпнуть из совершенно открытых источников, что Лич и сделал.
Разобравшись со схемным решением, Лич приступил собственно к программированию. Начинал он, конечно, тоже не с нуля. В качестве программной основы был взят специальный дистрибутив Linux, известный под названием uClinux. Отличается он от "нормального" (читай - работающего на полноценных компьютерах) отсутствием в ядре средств для управления памятью в защищённом режиме, что делает возможным его запуск на простеньких процессорах и микроконтроллерах. Лич сперва собственноручно переработал исходники ядра для процессора iPod, после чего приклепал к нему переработанные им же драйверы. И получил замечательную систему: iPod, управляемый Linux, превратился в подобие маломощного компьютера. LCD-экранчик умещает 16 строк текста по 20 символов в каждой, есть поддержка 16-битного звука, жёсткого диска (не забывайте, что к плейеру подключен 10 Гбайт "винт") и файловой системы FAT, возможен ввод с "клавиатуры" в пять клавиш. Но самое главное - на нём можно запускать большинство базовых приложений, существующих для Linux. А это и текстовые редакторы, и браузеры, и аудиоплейеры (правда, пока чуть притормаживающие), и языки программирования, и многое другое. В планах же Лича - добавление к машинке массы других интереснейших вещей, включая поддержку Flash-анимации. Безусловно, есть и ограничения в виде отсутствия сопроцессора и режимов управления памятью - что не позволяет, к примеру, запустить X Windows и созданные для неё пакеты. Но не слишком ли много для аудиоплейера? :-)
Конечно, на первый взгляд проект Лича кажется лишённым практического смысла. В самом деле, кому это надо? Но давайте не будем торопиться. Применение обязательно найдут, а пока хотелось бы обратить внимание на другой момент. Linux для iPod - замечательная иллюстрация одного из важнейших свойств свободного программного обеспечения: существование такого софта поощряет экспериментаторство. Рождение десятков экспериментальных проектов было бы невозможным без Linux, не требующей от исследователей взамен ничего, кроме результатов их опытов. На Linux отрабатывают новые методы поиска ошибок в программном обеспечении, на ней строят экспериментальные контроллеры для управления процессами в реальном времени, проектируют смартфоны, строят новаторские синтезаторы. Linux сегодня - уникальный инструмент, с помощью которого разрабатываются новые области знаний. И, согласитесь, здорово, что такой инструмент есть. Куда двинулся бы процесс эволюции вычислительной техники (и техники вообще), не появись Linux и открытый, свободный софт? Возможно, история без Open Source оказалась бы приятней и для конечного пользователя, и для производителей? Что готовит нам ближайшее будущее и не будет ли задавлена индустрия коммерческого софта открытым? Поделитесь своими идеями в дискуссии!