LINUX.ORG.RU
ФорумTalks

Микроядерный балдеж с Nokia

 


0

2

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

Однако под капотом были свои интересности - вспомнить хотя-бы SDK с своей реализацией исключений (которая требовала в функциях писать свои обертки типа SaveStack/LoadStack для Unwinding’а), отсутствие RAII и конструкторы (фабрики?) с префиксами типа L. Однако процесс программирования был… своеобразным. Например, в SDK не было микшера звука - нужно было самому его писать.

Имел ли кто-то опыт разработки под Symbian и что можете сказать?

как Symbian

у меня был n73, да почему собственно был - он и сейчас есть только батарея подохла

что можете сказать

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

amd_amd ★★★★★
()

Мне с каждой вашей новой темой всё сильнее хочется рассказать вам о существовании порносайтов.

utanho ★★★★★
()

у тебя в кармане был полноценный комп

У меня и сейчас в кармане полноценный комп

hateWin ★☆
()
Ответ на: комментарий от mark1

На авито можно еще найти. Я взял себе два, с MicroSD, один за 1500 рублей, другой за 500 рублей.

monobogdan1337
() автор топика
Ответ на: комментарий от mark1

нифига n82 лучше это тот же n72 только с человеческой штукой вместо джостика и памяти гораздо больше, сам форм фактор лучше, n95 это слайдер который в итоге перетрется и слота под карту памяти нет.

amd_amd ★★★★★
()

Имел ли кто-то опыт разработки под Symbian и что можете сказать?

Да, я как-то решил тряхнуть стариной и вспомнить разработку под Symbian и даже не унылый обычный Symbian S60, а его более взрослую КПК-версию UIQ, кучу фоточек которой можно глянуть тут:

https://github.com/EXL/2048/tree/master/2048-UIQ2

Что сказать можно? Программирование под это было тем ещё адом в сравнении с Android, к примеру. Даже хорошо что оно померло. А ещё эта копирка и дроч с винды шёл в Symbian:

  • Копируем WinAPI и GDI, получает отвратная копия, будто кота натянули на глобус.
  • Копируем регистронезависимость в ФС, получается помойка вместо ФС.
  • Копируем виндовые расширения файлов – EXE для исполняемых файлов, DLL и LIB для библиотек, получается путаница при разработке, когда непонятно виндовая тулза это в SDK или какие-то куски Symbian.
  • Пишем код так, что нужно держать в уме, что он может исполняться в ROM без RAM, отсюда всякие запреты глобальных переменных и прочего подобного, что СУЩЕСТВЕННО усложняет портирование существующего ПО.

Кстати код практически всех Symbian-проектов выглядил вот так:

https://github.com/EXL/2048/blob/master/2048-UIQ2/2048-UIQ2.cpp

То есть как говно. Необоснованный нокиевский дрочь Symbian’а на Windows всегда забавлял, особенно в контексте того, что в последствии Nokia была изнасилована Microsoft и выкинута в канаву, где благополучно издохла.

EXL ★★★★★
()
Ответ на: комментарий от monobogdan1337

микросд

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

amd_amd ★★★★★
()
Ответ на: комментарий от EXL

Nokia была изнасилована Microsoft и выкинута в канаву

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

amd_amd ★★★★★
()
Ответ на: комментарий от EXL

Да не сказать, что у UIQ какой-то откровенный говнокод был. Вот S60 читается с трудом - там что-то типа MVC запихнули.

monobogdan1337
() автор топика
Ответ на: комментарий от amd_amd

Что? Какие китайцы? Это просто другая ревизия N95, точно так же от Nokia.

monobogdan1337
() автор топика

Помнит кто такую мобильную ОС, как Symbian? Но не только с точки зрения юзер-экспиренса, но и архитектуры: у тебя в кармане был полноценный комп, который работал на базе микроядерной ОС с настоящим мультитаскингом!

У меня такой с QNX был. Даже два. С интерфейсом на Qt.

Android не нужен

hateyoufeel ★★★★★
()

Помнит кто такую мобильную ОС, как Symbian?

Что значит помнит? У меня матушка до сих пор пользует, её всё устраивает... как звонилка :)

anc ★★★★★
()

Угадал автора по заголовку.

CrX ★★★★★
()
Ответ на: комментарий от amd_amd

у меня еще был n82 - разбился, я считаю это лучшая модель в линейке

Каждая модель для своего времени была «лучшей» :) Я начал с 6600 и она таки была даже очень ничего :)

anc ★★★★★
()

Какое распараллеливание на одноядерном процессоре?

Просто в микроядерных архитектурах все вот такое типа звука выпиливается из ядра в юзерспейс.
В ядре остается только основной функционал, fs, io, и вот это все.

Но в symbian 10 они вообще собирались на наноядро перейти. В наноядре вообще только обработчик прерываний, обработчик событий и упрощенный менеджер памяти. И вроде все. Файловая система как и все остальное что мы привыкли видеть в ядре работает по клиент-серверной архитектуре то есть висит допустим файл-сервер а приложения запрашивающие файлы на чтение/запись выступают как клиенты.

Главная проблема в такой архитектуре это контроль указателей, единственный способ обезопасить такую систему это отказаться от классических указателей и перейти на дескрипторы (то есть структурированные указатели), со всем отсюда вытекающим замедлением обращений к памяти, невозможность расширить массив только его переалоцировать с расширением размера (с обрезанием проблем нет). С другой стороны все вот эти плюсовые классы и их методы arr.size() или сишные strlen(const char *)упрощаются до простого считывания значения из дескриптора, а в случае аппаратной поддержки (как у е2к) то вообще до битовых операций с указателем.

Исходники на гитхабе есть, код на плюсах, насколько это все рабочее не проверял.

uin ★★★
()
Ответ на: комментарий от uin

Какое распараллеливание на одноядерном процессоре?

Так я ж не просто так в кавычки взял :) Это я так назвал раскидывание модулей по процессам.

Исходники на гитхабе есть, код на плюсах, насколько это все рабочее не проверял.

Там анальная система сборки. Хз как ее вообще собирать.

monobogdan1337
() автор топика
Ответ на: комментарий от uin

Какое распараллеливание на одноядерном процессоре?

С точки зрения исполнения команд самим ядром камня никакого. Даже если вспомнить HT, то все равно никакого. Но с точки зрения пользователя, они выполняются «одновременно».

anc ★★★★★
()

Nokia E61i
Nokia C6
Nokia n900 (это уже не symbian)
Nokia E7
Nokia E72
Разрабатывать не пробовал, но как смартфоны полностью устраивали. Все было хорошо, пока эффективнй манагер из MS их не погубил.

Kolins ★★★★
()
Последнее исправление: Kolins (всего исправлений: 1)

работал на базе микроядерной ОС

Поэтому её похоронили и пропихивают везде ведроид... :(

xwicked ★★☆
()
Ответ на: комментарий от monobogdan1337

Был 6260, до сих пор считаю его одним из лучших смартфонов на симбиане по формфактор и по качеству изготовления. n81 уже был сильно хуже по качеству изготовления.

einhander ★★★★★
()
Последнее исправление: einhander (всего исправлений: 1)

Мало того, что помним, так ещё и не даём помереть. У меня основной телефон — Nokia e63. Аж с 2009 года. Так что я когда про традиции шутки шуткую иной раз, имейте в виду — я по части традиций мастак!

Smacker ★★★★★
()
Ответ на: комментарий от anc

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

uin ★★★
()
Ответ на: комментарий от anc

Не просто устраивает — андроидные телефоны тупо не лезут в мои внутренние карманы у большинства курток. А этот помещается. Ладно там клавиатура нормальная и заряда на 10 дней — но мне с другими телефонами тупо неудобно. Вот вчера ехал на велосипеде, взял с собой ондроед ради спутниковой нафигации. И он у меня на 4 сантиметра из кармана торчал. Не очень-то удобно!

Smacker ★★★★★
()
Ответ на: комментарий от anc

Не совсем, команды в конвеере выполняются как бы одновременно но на разных стадиях, это как векторизация (одна операция над множеством значений) только в столбик.

Подвох тут в том что чем длиннее конвеер тем больше штраф при его заполнении заного при ожидании данных, потом проверке условий и переходах, поэтому в процессорах так много костылей вроде OoO, Branch predict, и вот теперь еще HT, все для того что бы по сусекам наскрести на колобок полный конвеер.

uin ★★★
()
Ответ на: комментарий от Smacker

Не просто устраивает — андроидные телефоны тупо не лезут в мои внутренние карманы у большинства курток.

Ну вы это... или попросите маму... или сами куртку по возрасту уже купите :) А то всё «в коньках» (с) анек поди ходите... :)

И он у меня на 4 сантиметра из кармана торчал.

Не надо было лопаты покупать и потом жаловаться, у меня лопата в карман не лезет.

anc ★★★★★
()
Ответ на: комментарий от anc

Нетушки, я буду донашивать. А «не лопаты» я особо и не нашёл, кроме какого-то дегенеративного старья на версиях андроида, которые ещё при Лаврентии Палыче разрабатывали — зато вот сяоми простенький ещё и со скидкой был. Так-то он свои функции выполняет, просто тупо в карманы не лезет. Так что работает в основном на манер планшета.

PS: самые мелкие смарфтоны нынче от 13 см. У e63 высота 11 см. Так что и при желании можно купить в лучшем случае только «менее лопатную лопату», но не аналог по размеру.

Smacker ★★★★★
()
Последнее исправление: Smacker (всего исправлений: 1)
Ответ на: комментарий от anc

Неть ( Во всяком случае, не во все карманы.

Кстати, самые маленькие не значит самые дешевые. Так что он со своими 13 см ещё и 80 тыщ стоит (к тому же это айфон мини, я как раз на ситилинке и днс посмотрел). За 80 тыщ я сам к себе в карман куртки залезу, а айфон так вообще ненужен.

Smacker ★★★★★
()
Последнее исправление: Smacker (всего исправлений: 4)
Ответ на: комментарий от anc

Ты (как и многие) не учитываешь то что когда новая команда попадает на первую стадию другие в этот же самый такт тоже совершают действия над своими операндами, а у крайней уже результат готов.
Так что это тоже своего рода параллельное исполнение нескольких комманд за такт. В эльбрусе и итариуме например и итерации циклов (не любых конечно) по такой схеме распараллеливаются, благодаря чему код в теле цикла для них наоборот лучше не разворачивать, а сжимать по принципу меньше инструкций и больше итераций.

uin ★★★
()
Последнее исправление: uin (всего исправлений: 1)
Ответ на: комментарий от Smacker

Неть (

Лилипут? Или забыли в брюках карманы «разрезать» ?

Кстати, самые маленькие не значит самые дешевые.

А я и не говорил о дешевых.

anc ★★★★★
()
Ответ на: комментарий от anc

Нет, я просто стройный человек, так что двухвёдерных карманов у меня просто не может быть на одежде. Кстати, я про штаны не говорю. В штаны любой телефон класть тупо неудобно, когда на велосипеде едешь. А когда не едешь, так в сумку-мессенджер я хоть проводной телефон положить могу, там проблем нет.

А вот тратить 80 тыщ на айфон, чтобы тупо влезал в карманы — это маразм. За 80 тыщ телефон должен уметь готовить и ублажать владельца ящитаю, в противном случае вообще непонятно, с какого перепуга такие деньги платить за коробок с экранчиком.

Smacker ★★★★★
()
Ответ на: комментарий от uin

Одно! ядро никогда не сможет выполнить параллельно две команды. mov ex, bx это одна команда, и параллельно с ней не будет выполнятся mov ah, ch на однопроцессорном камешке.

anc ★★★★★
()
Ответ на: комментарий от Smacker

В штаны любой телефон класть тупо неудобно, когда на велосипеде едешь.

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

тратить 80 тыщ на айфон, чтобы тупо влезал в карманы — это маразм

Еще есть Соня, но тоже недешевая.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)

Ковырял лет 20 назад, когда оно было актуально, но бросил. Могу сказать что ненужно ибо проприетарщина, а значит оффтопик

cobold ★★★★★
()
Ответ на: комментарий от Smacker

Дык я и намекал на сумочку, которая «педалированию» не мешает.

За 80 тыщ телефон должен уметь готовить и ублажать владельца ящитаю

Ну в некотором роде так и получается, когда для тебя это рабочий инструмент.

anc ★★★★★
()
Ответ на: комментарий от anc

С сумкой через плечо на велосипеде ездить это голяк. Неудобно. Удобно по карманам распихать по мелочи.

Телефон за 80 тыщ рабочий инструмент? Это что за работа такая? Кекс по телефону?

Smacker ★★★★★
()
Ответ на: комментарий от Smacker

Телефон за 80 тыщ рабочий инструмент? Это что за работа такая? Кекс по телефону?

Ну как минимум для разрабов, не? Хотя лично у меня не столько «для разрабов», сколько для саппорта.

anc ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)