abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 4
    21.4. 19:11 | Komunita

    Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.

    Ladislav Hagara | Komentářů: 25
    21.4. 04:44 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Novým vedoucím je Andreas Tille.

    Ladislav Hagara | Komentářů: 7
    21.4. 00:11 | Nová verze

    Po osmi měsících vývoje byla vydána nová verze 0.12.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 268 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    20.4. 23:55 | Pozvánky

    Poslední měsíc byl plný zajímavých akcí, o kterých Vám bastlíři z projektu MacGyver mohou povědět, protože se na ně sami vydali. Kde všude byli, ptáte se? Objevili se na Installfestu, Arduino Day, Hackaday Europe a tajném srazu bastlířů z Twitteru. A z každé akce pro vás mají zajímavé poznatky.

    … více »
    bkralik | Komentářů: 1
    KDE Plasma 6
     (71%)
     (10%)
     (2%)
     (18%)
    Celkem 674 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Nokia N900 – Maemo 5 pod povrchem

    2. 4. 2010 | Andrej Kruták | Recenze | 7525×

    Pozorný čitateľ AbcLinuxu.cz už iste zaznamenal, že osud systému Maemo 5 je už spečatený a Nokia s ním zrejme v ďalších prístrojoch už nepočíta. Miesto neho sa už pracuje na systéme MeeGo. Napriek týmto skutočnostiam sa v dnešnom diele seriálu o N900 pozrieme na to, ako vyzerá systém Maemo 5 vo vnútri.

    Obsah

    Je totiž celkom pravdepodobné, že veľká časť kódu aktuálneho systému bude znovu použitá – keď pre nič iné, tak preto, že Maemo 5 je schopné bežať na architektúrach ARM aj x86. Navyše systémová architektúra, knižnice, správca okien či v neposlednej rade aj ovládače hardvéru – to všetko bolo pravdepodobne príliš nákladné na vývoj, než aby sa úplne vyhodilo. Napriek tomu určite dôjde aj k zásadným zmenám – grafické prostredie bude založené na Qt, správca balíčkov bude založený na RPM atď. – to všetko sú ale veci, ktoré priamo príliš neovplyvňujú štruktúru systému ako takého.

    Vrstvy

    link

    Jadro systému

    link

    Základom systému je samozrejme linuxové jadro obohatené o potrebné ovládače – ako sme videli v predchádzajúcej časti, ide o vcelku otvorený kód. Systém načítava jadro pomocou proprietárneho Nolo bootloadera – a po inicializácii dôjde k spusteniu init procesu (konkrétne ide o „upstart“ init démona), ktorý zavedie relatívne štandardné prostredie odvodené od Debianu (vrátane balíčkovacieho systému). V základnej inštalácii sa ale napríklad nedočkáme plného shellu – podobne, ako u mnohých embedded zariadení, sa používa „iba“ busybox. Navyše nie je jednoducho možné shell vymeniť – už nejeden užívateľ po tejto akcii dostal Maemo do nebootovateľného stavu.

    maemo architecture

    Kvôli hardvérovým obmedzeniam N900-ky, konkrétne 256 MiB veľkej NAND flash pamäti, je súborový systém organizovaný trochu zvláštne. Na spomenutej 256 MiB partícii, ktorá používa filesystém „ubifs“, sa nachádza väčšina systémového software. Vzhľadom k povolenej kompresii sa na ňu vôjde drochu viac ako 256 MiB dát. Usporiadanie súborov je podobné ako na desktope – nájdeme tu adresáre ako /bin, /etc, /dev, /usr či /var. 32GB flash pamäť je vo východzom nastavení rozdelená na 2GiB partíciu (ext3) obsahujúcu /home/opt, 512MiB partíciu na swap a zvyšok sa montuje k adresáru /home/user/MyDocs ako FAT32 oddiel. Nedostatok miesta na root oddieli sa rieši trikom – vývojári Maemo odporúčajú všetkým vývojárom aplikácií, ktorých súbory sa inštalujú do /, a sú väčšie ako cca. 300 – 500 kiB, aby sa tieto súbory nainštalovali do /opt adresára, a v / sa iba vyrobia symlinky. Rozsiahle dátové súbory (napr. levely pre open-arena) sa navyše inštalujú na spomenutú FAT partíciu. Toto riešenie bolo zvolene hlavne kvôli nízkemu výkonu 32GiB flash pamäti – pri spoločných čítaniach/zápisoch sa výrazne znižuje jej rýchlosť, takže prípadné prístupy na oddiely na tejto pamäti by mohli nepríjemne spomaliť celý zvyšok systému, nie len „hladnú aplikáciu“.

    K základným komponentom systému ďalej patria OpenGL ES knižnice (v najnovších verziách firmware by už mali byť podporované štandardy 2.0 aj 1.1), OpenSSL, X server (vrátane rozšírení XComposite, XRender či XRandR), DBus, HAL atď.

    Vedľa toho bežia démoni ovládajúci napr. telefónne a dátové funkcie (phonet), napájanie a GPS (démon prístupný cez liblocation) – všetko sú to aktuálne closed-source komponenty.

    Knižnice

    link

    V systéme sa používa mnoho rôznych knižníc – od sqlite, glib či Gtk+ cez pango a gtkhtml, Cairo až po SDL. Užívateľ/programátor ďalej môže vyrábať vlastné Hildon Widgets, ktoré je možné potom umiestniť na plochu a používať na zobrazovanie rôznych informácií. Súčasťou knižníc je napríklad aj tzv. „libosso“, ktorá slúži na „ukrytie“ niektorých DBus volaní pred vývojármi – v tomto prípade v pozitívnom zmysle. DBus rozhranie totiž nie je úplne pohodlné na programovanie – ani pri jednoduchších aplikáciách nie je triviálne ho používať. Libosso teda často používané volania zabaľuje do funkcií, takže vývojár sa nemusí starať o názvy objektov či rozhraní, zmeny v DBus atď. Viac informácií o DBus v Maeme je možné nájsť napríklad na wiki.maemo.org.

    maemo connectivity licenses

    Multimédiá

    link

    O vrstvu vyššie sa nachádzajú rôzne abstrakcie hardvéru. Napríklad značnú časť multimediálnych funkcií rieši PulseAudio, ktoré sa stará o transparentný a unifikovaný prístup k zvukovým funkciám systému. Umožňuje napríklad nezávislé smerovanie audia v systéme – takže aj keď sú pripojené sluchátka, pri telefonáte sa môže vyzváňanie zároveň smerovať do nich, ale aj do bluetooth headsetu či do hlasitých reproduktorov telefónu (zároveň so sluchátkami). Navyše je vďaka tomu možné nastaviť hlasitosti nezávisle na sebe – čo sa zíde znovu v prípade zvonenia, ak je napr. stiahnutá hlasitosť prehrávania hudby, ale zvonenie chceme stále hlasité. Okrem toho PulseAudio v systéme zrejme slúži aj na dynamické obmedzovanie hlasitosti – zabraňuje tak poškodeniu vstavaných reproduktorov.

    V systéme ďalej nájdeme podporu pre rôzne video a audio kodeky, ktoré sú relatívne jednoducho prístupné cez rozhranie GStreamer. Toto rozhranie tak isto umožňuje napr. v python aplikáciách pracovať s kamerou – je zrejmé, že v prípade interpretovaných jazykov je realtime práca s týmto druhom dát nerealizovateľná. Vďaka GStreameru je ale možné vyrobiť reťazec akcií typu „získaj obrázok – pridaj kontrast – zobraz v okne“, ktorý sa vykonáva pomocou optimalizovaného binárneho kódu – (už starší) príklad je možné vidieť napr. na maemo wiki. Okrem toho je možné použiť Phonon rozhranie integrované v Qt – čo zjednodušuje portovanie multimediálnych aplikácií aj na ďalšie platformy okrem linuxových.

    Vyčerpávajúci popis multimediálnych rozhraní je možné nájsť opet napríklad na wiki.maemo.org.

    Telekomunikačné rozhrania

    link

    Telefónne funkcie sú na najnižšej úrovni ovládateľné pomocou AT príkazov, ktoré sa doručujú pomocou aplikácie phonet. Na vyššej úrovni je možné používať DBus volania rôznych démonov (napríklad cez objekt /com/nokia/csd/Call) – pomocou nich je možné relatívne jednoducho zadefinovať napr. vlastné funkcie, ktoré budú volané pri príchodzích hovoroch či sms (a vyhnúť sa tak potrebe pollingu nových udalostí).

    Asi najdôležitejšou súčasťou komunikačného rozhrania Maema je RTCom framework. Tento framework má viacero vrstiev a priamo či nepriamo pokrýva služby aj aplikácie pre komunikáciu ako cez internet (napr. instant messaging), tak cez mobilné siete (sms a telefonáty). Zďaleka nie všetky komponenty tohoto frameworku sú opensource – ako je možné vidieť aj na odkazovanej stránke o RTCom. Na druhej strane podľa všetkého Nokia mnoho súčastí časom otvorí – námatkovo napr. rtcom-eventlogger bol v dobe uvedenia N900 uzavretý, kdežto teraz už je možné jeho zdrojové kódy stiahnúť.

    Ako back-end RTCom slúži framework telepathy. Toto modulárne rozhranie umožňuje Maemu mnoho zaujímavých vecí – od jednoduchej rozšíriteľnosti o nové protokoly (napr. plugin telepathy-haze umožňuje komunikáciu pomocou ICQ, MSN atď. – priamo cez štandardné telekomunikačné rozhrania Maema), cez spájanie kontaktov až po zaznamenávanie správ. Na ukladanie väčšiny dát RTCom/telepathy sa používa databáza sqlite, takže pri troche snahy nie je pre znalých problém spracovať dáta v mobile všetkými myslitelnými spôsobmi. Samozrejme to so sebou nesie aj nebezpečenstvo zneužitia osobných dát – na druhej strane väčšina linuxákov vie, že „security through obscurity“ príliš nefunguje. Naopak, veľkou výhodou tohoto prístupu je možnosť jednoduchého importu vlastných dát (kontaktov či správ z predchádzajúcich mobilov) priamo, pomocou SQL dotazov.

    maemo control services system

    Desktop/Window manager

    link

    Nad X serverom beží správca okien Matchbox a grafické prostredie Hildon. Prostredie Maemo 5 je celé založené na knižniciach Gtk+, do budúcnosti už ale Nokia skôr plánuje použitie Qt. Podľa všetkého by ale Gtk+ malo ostať podporova(teľ)né komunitou aj v ďalších verziách Maemo/MeeGo.

    Ako sa dá zrejme od grafického rozhrania očakávať, jeho detailný popis by zabral mnoho článkov. Pre predstavu, na tejto stránke je stručne popísaný prehľad UI frameworku Maema. Z najzaujímavejších komponentov užívateľského rozhrania vyberáme:

    • hildon-desktop: Kompozitný manažér pre aplikácie, fungujúci na bázi OpenGL ES 2.0. Vďaka tomuto spôsobu vykresľovania grafického prostredia je možné používať rôzne eye-candy (napr. rozmazanie pozadia v správcovi procesov).
    • hildon-home: Zobrazuje home applety, obrázky na pozadí atď. Home applety sa pôvodne písali len pomocou Gtk+, ale po relatívne nedávnej aktualizácii je možné písať applety už aj v Qt.
    • hildon-status-menu: Obsahuje rôzne widgety (napríklad prepínač statusu IM účtov) a v minimalizovanom stave prípadne malé ikonky (napr. stav wifi, či vyťaženie CPU). Aktuálne je zrejme možné tieto widgety vytvárať len v Gtk+.

    Aplikačný software

    link

    Až na telekomunikačné rozhranie je Maemo platforma relatívne otvorená – k väčšine (dôležitých) komponentov je možné získať zdrojové kódy pod licenciou (L)GPL. S aplikáciami je to trochu zložitejšie – takže s úpravou kalkulačky či mapového software počítať asi nemôžme. Mnoho aplikácií ale otvorených je (napr. browser), ďalšie možno budú – a už teraz existuje mnoho adekvátnych opensource náhrad za proprietárne aplikácie. V každom prípade situácia nie je určite zásadne horšia než v prípade Androidu či MacOS X.

    Záver

    link

    V dnešnom článku sme si stručne zhrnuli architektúru a rozhrania poskytované operačným systémom Maemo 5. Napriek všetkým kladom sa síce stále nejedná o dokonalý systém (určite nie podľa definície RMS) – je ale vidno veľké úsilie Nokie o otvorenosť vývoja. Táto snaha by mala byť ešte viac viditeľná pri vývoji nadchádzajúceho systému – spoločného podniku Intelu a Nokie – MeeGo. Je ťažké dnes povedať, čo to bude znamenať pre N900ku. Je síce isté, že Nokia bude naďalej pracovať na vývoji aktualizácií Maemo 5 – menej isté už ale je, či sa dočkáme ďalšieho zariadenia s týmto systémom. Je tak isto otázne, či bude N900ka dostatočne výkonná/upgradeovateľná na prevádzkovanie MeeGo. Na druhej strane, Nokia sľubuje zachovať softvérovú kompatibilitu (takže bude možné vyvíjať software pre obe platformy za použitia toho istého kódu) – uvidíme teda, do akej miery sa jej to podarí dodržať.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    2.4.2010 08:03 Honza
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    Nedávno jsem chtěl cosi pro maemo naprogramovat a měl jsem z toho dost smíšené pocity. Hlavně, že je tam taková směska knihoven a nástrojů, kažná knihovna má jinou dokumentaci, občas i jinou licenci, jiné webové stránky, někdy i jiný způsob překladu, je docala práce se v tom vyznat. Do toho další knihovny vznikají, jiné zanikají. Někdy se 2 nástroje na jednu věc používají najednou. Trochu jako když pejsek a kočička pekli dort. Takovej binec, prostě jako když člověk píše v C nebo C++ na normálním linuxu. Pokud třeba máte selský rozum a znalost C++, jinak o linuxu nic nevíte a chcete napsat na linuxu ekvivalent GUI přehráveče wavů z win3.1, tak nejdřív musíte nastudovat x gui knihoven, x audio knihoven, knihovnu na vlákna, unixové procházení adresářů, pár buildovacích systémů. Pak učinit n rozhodnutí a nastudovat n knihoven... Pokud chcete na maemu udělat něco specifického pro telefon, tak je problém principiálně stejný, jen horší v tom, že tentýž problém řešilo řádově méně lidí, takže google pomáhá také řádově méně. V systémech s jedním API (Qt, J2SE, Android, ...) začátečník znalý jazyka a vlastnící selský rozum ten GUI přehrávač nebo cokoli jiného napíše řádově rychleji a kvalitněji.
    2.4.2010 10:59 ewqrqwr
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    a tam neni nejaka "nejvrchnejsi vrchni" vrstva, ktera vsecko dole obali a programator pak ma uz jen jedno API ?
    2.4.2010 12:41 andreeeeee
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    ja myslim ze absolutna vacsina programatorov skonci pri Qt, maximalne gstreameri..

    kazdopadne ano - ten "interface" je kus chaoticky - na druhej strane to bol asi zamer - pouzit existujuce kniznice atd. Vdaka tomu je mozne portovat desktopovy software (resp. vyvijat multiplatformovo) ovela jednoduchsie, ako na nejaky WebOS a spol.
    2.4.2010 15:32 Honza
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    No, já jsem tam nic takového nenašel :-) Naštěstí jsem to mohl zabalit dřív, než jsem skutečně začal něco psát. Ale jestli jsem to pochopil, tak se to bude postupně posouvat směrem ke Qt, kde bude api i na telefon, takže tam asi nějaké všeobjímající api bude. (Pokud je tu nějaký znalec, nechť mě opraví, můj kontakt s maemem byl jen povrchní.)
    Rezza avatar 2.4.2010 16:53 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    Ano, bude to v Qt, ale to zase bude do nejakych bindingu balit zakladni veci - ala Telepathy-Qt (i kdyz ma byt i jiste telefonni API). Ona je to i vyhoda, i nevyhoda v jednom a tezko rict, co je lepsi.
    2.4.2010 08:58 JVid
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    … Na spomenutej 256 MiB partícii, ktorá používa filesystém „rootfs“ …
    To ale není filesystém, je to jenom speciální instance ramfs/tmpfs vytvořená proto, aby každý počítač měl vždy nějaký kořen. Pak se při bootu většinou postupuje tak, že se do něj rozbalí initramfs, nebo se přes rootfs namountuje opravdový root umístěný jinde.
    2.4.2010 09:22 andreeeeee
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    mate samozrejme pravdu, sice mi to bolo pri pisani clanku podozrive - ale nejak som na to potom zabudol...

    po nabootovani je sice root filesystem rootfs, ale je nan (podla mount) rovno do / namontovany ubifs z tej 256 particie.. dufam :)

    vyzera to takto:
    rootfs on / type rootfs (rw)
    ubi0:rootfs on / type ubifs (rw,bulk_read,no_chk_data_crc)
    
    2.4.2010 15:32 Kvakor
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    V dokumentaci jádra se na jednom místě dokonce píše, že ramfs namountovaný na / zjednodušuje kód, protože se nemusí nikdy testovat, jestli existuje nějaký souborový systém - je zaručeno, že vždy alespoň jeden existuje. Této technice se říká Slon v Káhiře podle série (nejen) programátorských vtipů, popisujících alghoritmus na hledání slonů v Africe .-)
    Ondřej Kuda avatar 2.4.2010 16:31 Ondřej Kuda | skóre: 27 | blog: obcasny_blog
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    MeeGo uz je dostupne a melo by behat i na N900. Ze by autor zrecenzoval i Meego na N900? ;-)
    The images available today are: Intel Atom-based netbooks, ARM-based Nokia N900, and Intel Atom-based handset (Moorestown). These images can be downloaded from http://meego.com/downloads
    Rezza avatar 2.4.2010 16:52 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    Aktualni Meego neni nic jineho, nez zaklad systemu, ktery nabootuje do konzole...
    andree avatar 2.4.2010 20:04 andree | skóre: 39 | blog: andreeeeelog
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    ak autor bude mat n900 do doby, ked meego bude bootovat a bude ako-tak pouzitelne, nevidi v tom problem :-))) zatial ale tam toho fakt moc na recenziu nie je asi :o))
    2.4.2010 17:43 chocholo
    Rozbalit Rozbalit vše Re: Nokia N900 – Maemo 5 pod povrchem
    Ted to nemohu najit, ale na nejakem Maemo related blogu jsem cetl o Meego od Nokie, ze to nebude uplne Meego, respektive bude, ale bude mit jiny zpusob konfigurace, jiny balickovaci system a par dalsich "nepodstatnych" rozdilu. Clanek je o tom, jak bude Meego roztristena znacka, protoze vsechno a nic nebude meego (verze pro mobily, verze (nekompatibilni) pro netbooky, verze pro notebooky, Nokia verze, vse Meego bez rozliseni).

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.