Linux, CVS, Enigma


Чтобы исключить невольные ошибки в описании специфических вопросов по Linux-операционной системе ресиверов DreamBox, в этом разделе я использую прямые цитаты сообщений от разработчиков имиджа RuDream - Alexvrs и NiL99, а также от Courage -одного из модераторов основного форума по этой теме, расположенного на www.allrussian.info.

Немного об историии появления Линукс

Датой рождения UNIX считается 1 января 1970 года (знакомая дата? от этого времени начали отсчет все часики UNIX ). Отцами первого ядра юникс являются Кеннет Томпсон и Деннис Ритчи. Первая сборка имела в своем составе кроме ядра еще и текстовый редактор и ассемблер и набор утилит (rm, cat, cp). Первой установкой UNIX для пользователя была установка в 1971 г. на машину PDP-11 патентного отдела Bell Labs. Ядро этой установки занимало 12 килобайт ОЗУ, 8 занимали прикладные программы.

С самого начала эта операционка распространялась в виде исходных кодов - что сыграло на руку ее распространению - равно как и невысокая цена так называемой исследовательской лицензии и распространению в университетах тех времен для компьютеров PDP.

Опустим смутные времена коммерческих версий *NIX и приступим сразу к телу - перейдем к бесплатным версиям.

В 1987 году датский профессор Эндрю Танненбаум выпустил книгу "операционная система" и в приложении к этой книге были исходные тексты (12000 строк кода) бесплатной операционной системы Minix что важно - эта операционка предназначалась для компьютеров 8086 - с этой версии собственно и началось внедрение бесплатной *NIX системы на интеловские персоналки.

Тысячи студентов изучали эту книгу и в том числе Линус Бенедикт Торвальдс из Хельсинки. В 1991 году сей студент - будучи на втором курсе Университета Хельсинки приступил у разработке своей операционной системы (студенты! учитесь хорошо! читайте учебники! тогда на втором курсе вы сможете начать разработку своей операционной системы))) По имени создателя операционка получило имя Linux.

Примерно в тоже время появился и начал набирать обороты проект GNU Ричарда Столменна в рамках которого создавалось бесплатное программное обеспечение - одним из достижений этого проэкта стал компилятор языка С (си) но для него не было подходящей ОС - на детище Торвальдса обратили внимание и компилятор С поселился в Линукс. Вот и вся история.

Почему в качестве логотипа линукс используется пингвин Tux? Вот что пишет free-x. Будучи в австралийском зоопарке один пингвин цапнул Линуса за руку, но они ему так понравились ( толстые,мягкие и добродушные), что ето не отвело его от мысли всё таки сделать их емблемой Linux.

Дримбокс с точки зрения Линукс

Дримбокс с точки зрения Линукс -это обычная вычислительная машина с архитектурой PowerPC (речь идет о Дримбоксе 7000), с довольно ограниченными ресурсами (частота 250 МГц, 32МБ озу, 8 МБ флэш памяти, отсутствует математическая часть процессора), с отсутствующей графической картой и с набором специфической периферии (тюнер, LCD-экранчик, кнопки, приемник команд пульта) и с сетевой платой.

Операционные системы для подобных устройств называются embeded - что в переводе означает "встраиваемая" а в моей вольной транскрипции на русский - "обедненные" операционки. Ну и вправду, зачем спутниковому ресиверу полноценная операционка? Вот и подвергается линукс обрезанию, и становится эмбедед линуксом. Задача - втиснуть операционную систему в эти ограниченные ресурсы.

Стандартная часть операционной системы Линукс в Дримбоксе отвечает практически за все - за работу с памятью, с сетевыми устройствами, с дисковыми устройствами, с шиной I2C, по которой управлются тюнер, LCD-экран, работает приемник пульта ДУ.

Казалось бы все - ан нет! Есть и нестандартная часть. Дело в том что в Дримбокс применен процессор, в котором есть аудио и видео декодеры, в тюнере есть демодудулядор, и вот для работы с этими девайсами предназначен модуль head.ko который разрабатывается фирмой Дрим-мультимедиа и поставляется в бинарном виде.

Немного в сторону - не знаю - обратили вы внимание что все имиджи имеют сейчас версию ядра Линукс 2.6.9 - и нет ни одного с версией скажем 2.6.12 или 2.6.14 - как вы думаете с чем это связано? а связано это именно с тем что последняя версия head.ko скомпилирована для ядра 2.6.9 и на других версиях работать не будет. Вот выйдет новая версия оригинального имиджа для другого ядра - и все другие имиджи тоже станут собираться под новую версию.

Строго говоря, Linux-ом правильно называть ядро операционной системы - ее кернел. А самой операционной системой называть дистрюбутив (кернел+tools). Но в обиходе Линуксом называют любую операционную систему собранную с использованием линукс-кернела. И еще ....говоря о Linux мы здесь говорим о GNU/Linux. А посему операционную систему для дрима правильно называть Dream Linux OS. И еще интересный вопрос - можно ли говорить о фирменной операционке для дрима как о GNU проекте если в ее состав входят busybox head.ko?

Что такое CVS?

CVS - Concurrent Versions System. Это система совместной разработки OpenSource ПО. "Совместной" означает, что над проектом одновременно работают несколько программистов, а CVS позволяет синхронизировать их действия. В CVS хранятся все версии исходного кода - с информацией когда, кем и что именно было изменено в исходном коде.

И офицальные и "не только" имиджи компилируются из одной и той же CVS http://cvs.tuxbox.org/ (TuxBox - в приближенном переводе - "Пингвин в боксе"), которая одна для Dreambox & Dbox2. Изначально она для dbox2 - там и драйвера и GUI для этого бокса. В дримбоксе используется только GUI (Enigma & Neutrino). Драйвера и ядро dreambox офф. разработчики берут из неведанного нам места или сами компилируют, но из закрытого для нас кода. CVS отображает то, что войдет (или уже вошло, в зависимости от текущего состояния) в офф. имидж. Альтернативные разработчики берут за основу исходный код с CVS и вносят свои изменения, которые как правило в ней не отображаются.

P.S. часть dbox2 полностью разрабатывается добрыми людьми. Dreambox - тоже не менее добрыми, которые тем не менее имеют отношение к ДММ. Но поскольку ПО открытое - очень много правок и помощи исходит от программистов, никак не связанных с ДММ. Это люди, разрабатывающие и поддерживающие "альтернативные" официальному имиджи.

Что такое Enigma?

Энигма - это графический интерфейс пользователя GUI дримбокс - графическая надстройка над операционкой - ну нечто типа форточек в виндах или иксов в линукс, который позволяет рисовать перед пользователем окошки и поля для ввода некой информации и позволяет пользователю управлятся с всем этим с пульта дистанционного управления - и управляет некоторыми устройствами. При погружении дрима в спячку энигма не выгружается, в отличии от команд полной остановки или перезагрузки энигмы.


 
Все ресиверы
Функции ресиверов высшего класса

Яндекс цитирования Rambler's Top100 Telesputnik Yellow Pages