abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 23:15 | IT novinky
Firma Raptor Computing Systems, která stojí také za pracovní stanicí Talos II, představila levnější desku Blackbird s podporou jednoho 4-/8jádrového CPU POWER9 Sforza a formátem microATX; bližší specifikace jsou ve wiki výrobce.
Fluttershy, yay! | Komentářů: 0
včera 22:11 | Zajímavý projekt

Byla vydána verze 1.0 svobodné federalizované platformy pro sledování a sdílení videí, alternativy YouTube s podporou P2P, PeerTube (Wikipedie). Za vývojem PeerTube stojí nezisková organizace Framasoft snažící se mimo jiné nahradit svými svobodnými Frama službami služby společnosti Google (De-google-ify Internet).

Ladislav Hagara | Komentářů: 0
včera 19:44 | Zajímavý projekt

Společnost System76 prodávající počítače s Pop!_OS nebo Ubuntu plánuje prodej vlastního open source počítače s názvem Thelio. Informací je poskrovnu. Na Twitteru byla představena open source rozšířující deska (daughterboard), která by měla převzít funkce proprietárního softwaru na základní desce (motherboard).

Ladislav Hagara | Komentářů: 2
včera 00:22 | Nová verze

Google Chrome 70 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 70.0.3538.67 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 23 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 6
16.10. 22:44 | Komunita

Open source nástroj pro monitorování zabezpečení počítačových sítí Bro (Bro Network Security Monitor, Wikipedie) byl přejmenován na Zeek (Zeek Network Security Monitor). Nový název bez negativní konotace by měl být pro uživatele atraktivnější.

Ladislav Hagara | Komentářů: 11
16.10. 22:00 | Nová verze

Po dvou letech od vydání verze 0.4 byla vydána nová major verze 5 linuxové distribuce elementary OS (Wikipedie) vycházející z Ubuntu. Kódové jméno této nejnovější verze je Juno. Přehled novinek i s náhledy v příspěvku na Medium.

Ladislav Hagara | Komentářů: 0
16.10. 18:33 | Komunita

Svobodná decentralizovaná mikroblogovací platforma a sociální síť podobná Twitteru Mastodon (Wikipedie) slaví 2 roky. Krátkou historii a milníky shrnuje příspěvek na blogu.

Ladislav Hagara | Komentářů: 0
16.10. 11:11 | Zajímavý článek

Společnosti Microsoft, Google, Apple i Mozilla včera shodně oznámily, že z jejich webových prohlížečů Internet Explorer, Edge, Chrome, Safari a Firefox počátkem roku 2020 odstraní protokoly TLS 1.0 a TLS 1.1. Michal Špaček v článku Vypněte TLS 1.0 a 1.1 už dnes na svých stránkách informuje, že TLS 1.0 a 1.1 lze vypnout již dnes. Ověřit to lze například pomocí SSL Labs Server Testu.

Ladislav Hagara | Komentářů: 11
16.10. 05:55 | Humor

Banksy před několika dny šokoval umělecký svět svým obrazem, jenž se přímo v aukční síni po svém prodeji za více než 30 milionů korun sám částečně skartoval. Z obrazu Dívka s balónem vznikl obraz Láska v koši. Command Line Magic ukazuje, jak na podobného Banksyho z příkazového řádku.

Ladislav Hagara | Komentářů: 2
15.10. 16:55 | Komunita

Handshake, decentralizovaná certifikační autorita a peer-to-peer DNS aneb DNS v blockchainu, postupně rozděluje mezi svobodné a open source projekty celkově 10,2 milionu dolarů. V srpnu získalo 300 000 dolarů GNOME a 100 000 dolarů GIMP. Dnes oznámila nezisková organizace KDE e.V. zastupující komunitu kolem KDE v právních a finančních záležitostech, že od Handshake získala 300 000 dolarů, z čehož 100 000 dolarů je alokováno pro multiplatformní balík svobodných kancelářských a grafických aplikací Calligra.

Ladislav Hagara | Komentářů: 66
Přispíváte osobně k vývoji svobodného softwaru?
 (41%)
 (43%)
 (23%)
 (23%)
 (11%)
 (36%)
Celkem 230 hlasů
 Komentářů: 12, poslední včera 21:18
Rozcestník

Nokia N900 – Maemo 5 pod povrchem

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

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.