[News] Портирование Linux на различные модели КПК идет полны
-
- Дорогая редакция
- Сообщения: 27077
- Зарегистрирован: Ср июн 04, 2003 15:03
[News] Портирование Linux на различные модели КПК идет полны
Обсуждение новости Портирование Linux на различные модели КПК идет полным ходом
Как это обычно бывает в IT индустрии, пытаються приспособить для чего-то вещь, совершенно для этого не предназначенную. Взять хотя бы linux. Он при разработке был очень жестко привязан к архитектуре х86 - широко использовались многие особенности этой архитектуры - хитрая адресация памяти, исключительные ситуации, кольца защиты и т.д (почитайте книжку "just for fun", автор Л.Торвальдс - там об этом подробно). Таким образом, linux крайне неудобен в портировании на другие платформы. И надо же - именно его и пытаются постоянно портировать! правда не очень хорошо у них это получаеться...
другое дело ядро WinNT - разрабатывались сразу же для нескольких аппаратных платформ. правда из-за этого пришлось не использовать некоторые фичи х86 (например используеться только 2 кольца защиты, а не 4. потому что на процессорах alpha только 2 кольца). Зато в результате портируеться WinNT очень легко. То же самое можно сказать и о WinCE - портировать на другую платформу - дело нескольких недель. И уже работает на массе платформ. Так что MS беспокоиться не о чем.
другое дело ядро WinNT - разрабатывались сразу же для нескольких аппаратных платформ. правда из-за этого пришлось не использовать некоторые фичи х86 (например используеться только 2 кольца защиты, а не 4. потому что на процессорах alpha только 2 кольца). Зато в результате портируеться WinNT очень легко. То же самое можно сказать и о WinCE - портировать на другую платформу - дело нескольких недель. И уже работает на массе платформ. Так что MS беспокоиться не о чем.
К сожалению, Вы ошибаетесь.
Сегментная организация памяти (кстати, весьма удобная вешь) последний раз использовалась в ядре 2.0 (текущая версия ядра - 2.6), четыре уровня привилегий в ядре не использовались вообще никогда (хотя ничего не мешает это сделать), а сам Linux является клоном Unix, одна из реализаций которого в СССР носила наименование "МОС" (аббревиатура от слов мобильная опеационная система). Причем под словом "мобильная" имелась в виду легкость портирования на другие платформы.
В то же время ни win nt, ни win ce портируемыми платформами абсолютно не являются и очень приятно было бы узнать названия той "массы" платформ, на которой они якобы работают.
Примечание: когда будете писать о win nt, большая просьба упоминать только платформы поддерживаемые современными версиями системы - прошлое тысячелетие не очень интересует.
win ce, если говорить навскидку, не залезая в google, вообще работала только на arm и mips. (Могу ошибаться, потому что пишу на память).
За наименование аппаратной платформы на которой работает win nt, но не может работать Linux готов сразу же выдать приз.
Сегментная организация памяти (кстати, весьма удобная вешь) последний раз использовалась в ядре 2.0 (текущая версия ядра - 2.6), четыре уровня привилегий в ядре не использовались вообще никогда (хотя ничего не мешает это сделать), а сам Linux является клоном Unix, одна из реализаций которого в СССР носила наименование "МОС" (аббревиатура от слов мобильная опеационная система). Причем под словом "мобильная" имелась в виду легкость портирования на другие платформы.
В то же время ни win nt, ни win ce портируемыми платформами абсолютно не являются и очень приятно было бы узнать названия той "массы" платформ, на которой они якобы работают.
Примечание: когда будете писать о win nt, большая просьба упоминать только платформы поддерживаемые современными версиями системы - прошлое тысячелетие не очень интересует.
win ce, если говорить навскидку, не залезая в google, вообще работала только на arm и mips. (Могу ошибаться, потому что пишу на память).
За наименование аппаратной платформы на которой работает win nt, но не может работать Linux готов сразу же выдать приз.

ВадимП
Справедливости ради, Windows Mobile и Windows Embedded существенно более портабельны, чем WinNT (все-таки их пихают в смартфоны, разнообразию которых несмь числа). Но это не те windows, который можно увидеть на столе.
Да что говорить - проект по портированию на Tungsten E начался чуть более 6 месяцев назад, сейчас уже есть реальные результаты, при том что большую часть времени у разработчика просто не было времени на проект. На ТТ2 порт сделан за пару недель силами ОДНОГО человека.
Справедливости ради, Windows Mobile и Windows Embedded существенно более портабельны, чем WinNT (все-таки их пихают в смартфоны, разнообразию которых несмь числа). Но это не те windows, который можно увидеть на столе.
Да что говорить - проект по портированию на Tungsten E начался чуть более 6 месяцев назад, сейчас уже есть реальные результаты, при том что большую часть времени у разработчика просто не было времени на проект. На ТТ2 порт сделан за пару недель силами ОДНОГО человека.
Tungsten T3 + SD 1Gb Transcend + Sony Ericsson T630
stas12345, не соответствует действительности
с портированием на другие платформы у линукса все обстоит гораздо лучше, чем у венды. Изначально линукс писался для 80x86, да, и в ядре 0.01 были оспользованы все особенности 386го, которые Торвальдс смог найти. Но при этом, ядро 1.00 уже было портировано на достаточно большое количество архитектур. В современных версиях ядра (2.4, 2.6) аппаратная привязка сохранилась по минимому, в основном в нескольких тысячах строк кода на асме.
С появлением новой архитектуры под нее в кратчайшие строки доделывается gcc, и далее ядро линукса.
64-bit версия венды вышла совсем недавно, linux поддерживает 64-битные архитектуры, если я не ошибаюсь с 1996го, возможно дата неверная, но лет на 10 раньше венды. И это далеко не единственный пример. Ни под sparc, ни под mac, ни под m68k, ни под Alhpa винда не компилятся.
с портированием на другие платформы у линукса все обстоит гораздо лучше, чем у венды. Изначально линукс писался для 80x86, да, и в ядре 0.01 были оспользованы все особенности 386го, которые Торвальдс смог найти. Но при этом, ядро 1.00 уже было портировано на достаточно большое количество архитектур. В современных версиях ядра (2.4, 2.6) аппаратная привязка сохранилась по минимому, в основном в нескольких тысячах строк кода на асме.
С появлением новой архитектуры под нее в кратчайшие строки доделывается gcc, и далее ядро линукса.
64-bit версия венды вышла совсем недавно, linux поддерживает 64-битные архитектуры, если я не ошибаюсь с 1996го, возможно дата неверная, но лет на 10 раньше венды. И это далеко не единственный пример. Ни под sparc, ни под mac, ни под m68k, ни под Alhpa винда не компилятся.
kaafree:
В значительной степени с Вами согласен, поэтому и попросил именно пример для win nt.
Но, все-таки, с одной стороны winmobile и win ce - это не синонимы (если будет интересно, могу дать потом ссылочку, где иллюстрируется различие между этими терминами. Кстати, даже и ссылочка не нужна - если мне не изменяет память это есть в Wiki).
А с другой - windows for smartphones достаточно мало распространена (на эту тему уже была ветка) и предъявляет достаточно жесткие требования к аппаратуре.
Причем несмотря на действительно огромное количество моделей смартфонов, количество архитектур процессоров, которые в них используются, чрезвычайно ограничено (на практике только тот же arm).
В значительной степени с Вами согласен, поэтому и попросил именно пример для win nt.

Но, все-таки, с одной стороны winmobile и win ce - это не синонимы (если будет интересно, могу дать потом ссылочку, где иллюстрируется различие между этими терминами. Кстати, даже и ссылочка не нужна - если мне не изменяет память это есть в Wiki).
А с другой - windows for smartphones достаточно мало распространена (на эту тему уже была ветка) и предъявляет достаточно жесткие требования к аппаратуре.
Причем несмотря на действительно огромное количество моделей смартфонов, количество архитектур процессоров, которые в них используются, чрезвычайно ограничено (на практике только тот же arm).
что бы посмотреть список поддерживаемых платформ у winCE, достаточно установить embaded visual studio - там предлагаеться выбрать поддержку каких платформ устанавливать. список приличный. уверен, что такие спецы по мобильным платформам неоднократно устанавливали этот пакет.
к тому же в MS не ставят себе целью соревноваться в числе поддерживаемых платформ. и число поддерживаемых платформ не пропорционально простоте портирования. зачем портировать под платформы которые уже не используются? для галочки?
было надо - компиляли winNT и под alpha и под sparc. а сейчас это не надо - компилят только под x86 и IA64(itanium). Если появиться платформа под которую нужно будет сделать винды (а этого пока не предвидеться) - не беспокойтесь - быстро сделают.
к тому же в MS не ставят себе целью соревноваться в числе поддерживаемых платформ. и число поддерживаемых платформ не пропорционально простоте портирования. зачем портировать под платформы которые уже не используются? для галочки?
было надо - компиляли winNT и под alpha и под sparc. а сейчас это не надо - компилят только под x86 и IA64(itanium). Если появиться платформа под которую нужно будет сделать винды (а этого пока не предвидеться) - не беспокойтесь - быстро сделают.
emBADed - это зачет. Одним словом поставлен диагноз.
И что-то я не припомню WinNT на sparcах.
Опять же, вернувшись к сути - это МС будет решать, что и где будет работать. В мире FOSS, как показывает пример hh.org все по-другому. Если что-то кому-то нужно, он может сделать это сам, не спрашивая ни у кого разрешения.
И что-то я не припомню WinNT на sparcах.
Опять же, вернувшись к сути - это МС будет решать, что и где будет работать. В мире FOSS, как показывает пример hh.org все по-другому. Если что-то кому-то нужно, он может сделать это сам, не спрашивая ни у кого разрешения.
Tungsten T3 + SD 1Gb Transcend + Sony Ericsson T630
Вот просто к слову о "непортируемости" линукса:
цитата из конфигуратора ядра.
Subarchitecture type:
- pc compatible;
- amd elan;
- voyager;
- numaq;
- ibm x440;
- sgi 320/540;
- unisys es7000 ia32;
+ ещё несколько штук generic (т.е. объединённые несколько семей - перепечатывать лень - там много и длинно
. если припрёт - напишите).
И это уже готовые, т.е. портированные типы. А ядро-то ведь открытое - бери и портируй
А кому не хватает доводов - вспомните про линукс на айподе. Ну, ещё вопросы о портируемости
цитата из конфигуратора ядра.
Subarchitecture type:
- pc compatible;
- amd elan;
- voyager;
- numaq;
- ibm x440;
- sgi 320/540;
- unisys es7000 ia32;
+ ещё несколько штук generic (т.е. объединённые несколько семей - перепечатывать лень - там много и длинно

И это уже готовые, т.е. портированные типы. А ядро-то ведь открытое - бери и портируй

А кому не хватает доводов - вспомните про линукс на айподе. Ну, ещё вопросы о портируемости

Zire 72 + SD 512mb