Portál AbcLinuxu, 2. května 2025 05:57
Hadejte - 600MHz ARM, nebo nekolikajadrove iBuhvikolik na 3+ GHz? :)To první v mobilním segmentu, to druhé v desktopovém.
lunch
menu nabízí x86 build. Takže jsem možná kecal, večer to vyzkouším.
vbox_x86-eng
se nezkompiluje, full_x86-eng
ano. Chybí prebuilt jádro. generic_x86
a make installer_vdi
dokonce vytvoří obraz disku pro VirtualBox, ale nedá se dostat přes GRUB. Předpokládám, že kdyby někdo chtěl, asi by to do bootovatelného stavu dostal, já k tomu nemám důvod.
Zajímalo by mne, jak se do AOSP dostávají věci. Honeycomb (Android 3.0) v AOSP pořád chybí (takže je efektivně closed-source), i když už se prodává v zařízeních (no, v jednom zařízení) a je k disposici SDKčko. Naopak x86 port už v AOSP je, ale podpora se do SDK Tools teprve začíná dostávat a na trhu to ještě není.
Dobrou noc.
Nechci emulator mobilniho zarizeni - chci dany system provozovat nativne.Pořád jste psal o x86. Pokud chcete Android nativně, poohlédněte se po nějakém mobilním telefonu.
Nehodlate snad tvrdit, ze emulace je v pripade x86 efektivnejsi, nez nativni behEmulace může být snadno efektivnější, než nativní běh. Zkuste si emulovat DOSové prostředí nebo třeba Amigu nebo Commodore.
ze nastroje, pouzite pri portu pro x86, jsou tak nizke kvality, ze tento nesmyslny paradox zpusobujiNástroje použité při portu (lidé) nemusí být nízké kvality, prostě jenom třeba zatím neměli dost času nebo chuť kvalitní port udělat.
Kvalitni port na jinou architekturu by melo zajistovat pouhe pouziti HLL (heh), a predpokladam, ze architektura x86 neni tak minoritni, nerozsirena a neznama, aby dostupne kompilatory nedovedly generovat alespon pseudooptimalniTipoval bych, že na rychlosti odezvy GUI bude mít kvalita kompilátoru minimální vliv. Daleko podstatnější je třeba forma multitaskingu a jeho podpora v hardware, zpracování událostí apod. A to vám žádný automat nevyřeší, to taky může znamenat třeba úplně změnit architekturu nějaké části systému. Vzpomeňte si třeba na problémy s vícejádrovými procesory, které občas mohou způsobit zpomalení proti témuž systému s jedním jádrem. S takovými problémy nebo jejich variantami se potýká i Linux – a kompilátor to nezachrání.
Chci system nativne provozovat na nejrozsirenejsi hardwarove platforme - chci tak mnoho?To je jak do dubu... Android je OS pro mobilní zařízení. Na mobilních zařízeních má x86 minimální zastoupení. Takže ano, chceš toho celkem moc.
Emulace je vzdy maximalne STEJNE tak efektivni, jako nativni beh cehokoli, protoze je temi nativnimi instrukcemi v nejlepsim pripade 1:1 vykonavana (emulace plat. P na sobe same), jinak je VZDY pomalejsi vuci nativnimu vykonu host-platformy. Mrzi mne velmi, ze Vam toto musim vysvetlovat, a relevanci vasich argumentu to citelne snizuje.Zapomínáš na jednu důležitou věc - daná aplikace může být pro platformu výrazně hůře optimalizovaná, a tak se emulace může stát efektivnější.
Chci system nativne provozovat na nejrozsirenejsi hardwarove platforme - chci tak mnoho?A já na nejrozšířenější hardwarové platformě chci provozovat Watsona nebo sekačku na trávu.
Emulace je vzdy maximalne STEJNE tak efektivni, jako nativni beh cehokoli, protoze je temi nativnimi instrukcemi v nejlepsim pripade 1:1 vykonavana (emulace plat. P na sobe same), jinak je VZDY pomalejsi vuci nativnimu vykonu host-platformy. Mrzi mne velmi, ze Vam toto musim vysvetlovat, a relevanci vasich argumentu to citelne snizuje.Zmínka o DOSu, Amize a Commodoru vás mohla varovat, abyste se takhle neztrapňoval. Pokud nativní platformě trvá zpracování jedné instrukce 1 s, a spustíte aplikaci na emulátoru, který k emulaci 1 emulované instrukce potřebuje 10 svých instrukcí, ale emulátor poběží na platformě, která zpracuje 1000 instrukcí za sekundu, poběží pod emulátorem program (co se týče počtu zpracovaných instrukcí) 100krát rychleji, než nativně.
Rychlost odezvy GUI uzce souvisi s portovanim, protoze predpokladam, ze zrovna rendering jeho prvku by mel byt resen i v necem tak hruznem, jako javisticko-dalvisticky android, nativnim volanim. Pokud tak reseno neni, TIM HURE.Vykreslování prvků tvoří jen menší část toho, co vnímáme jako odezvu GUI. Jinak zrovna to vykreslování může být něco, v čem samotný procesor x86 pokulhává za nativní platformou pro Android – protože v tom mobilu může být snadno schovaný nějaký čip na zpracování OpenGL, jehož práci musí v Qemu pracně suplovat procesor. Neříkám, že zrovna tohle a s těmito technologiemi je případ Androidu, pouze to uvádím jako možnost, jak může pomalejší specializovaná platforma zvítězit výkonem nad obecnou rychlou.
Koneckoncu, Dalvik je POUHA aplikace, jako jakakoli jina virtualni masina, a tedy nevidim duvod, proc by melo byt jeji portovani zrovna na x86 obtizne :)Já ten důvod také nevidím, a právě proto nechápu, proč se tak tvrdošíjně bráníte vyzkoušet Dalvik a nějakou omáčku okolo (emulátor z SDK), a místo toho neustále trváte na testování portovaného jádra, knihoven a celého systému (port celého systému Android). Neboli místo spuštění Dalviku nad Linuxem pořád spouštíte Dalvik nad portem Linuxu na mobilní procesory portovaným znova zpět na x86.
Jina vec je ovsem ta, ze jde opet jen o dalsi formu JITu javovskeho, byt transformovaneho, classfile, takze puvodce neefektivity muze nevidet jen clovek, co zil poslednich 15 let v jinem, paralelnim vesmiru...S rychlostí toho JIT nikdo problém nemá. Problém máte jen vy, když spouštíte ten JIT na jakémsi pochybném portu portu Linuxu. Nepřikloním se k vašemu způsobu uvažování a nebudu tvrdit, že je to chyba Linuxu, naopak mi z toho celkem jasně vychází, že je to chyba toho portu.
snad se mi konecne splni sen a nekdo ze zastancu platformy Java mi osobne vysvetli, v cem tkvi jeji prinosPro vás v ničem.
snad se mi konecne splni sen a nekdo ze zastancu platformy Java mi osobne vysvetli, v cem tkvi jeji prinos :)
Její přínos je například v tom, že díky ní (a na ní navázané nepřeberné množství "nju technolodži" bullshitu) najde i takový exemplář "programátora", který sedí o kancelář vedle práci a nemusíš ho živit ze svejch daní...
Ja se bavim o pouzivani androidu (na x86, protoze tuto platformu povazuji za majoritni)Android pro x86 v současné době v produkční verzi neexistuje. Mimochodem, v mobilních telefonech x86 majoritní není ani náhodou.
Pokud je ve vyvojovem emulatoru Dalvik x86-nativni, a bezi uspokojive, pak se ptam, jak je mozne, ze tentyz x86-nativni Dalvik v x86 portu bezi takto katastrofalne neuspokojive.Jak jste přišel na to, že jste spouštěl tentýž x86-nativni Dalvik? Podle toho, co jste tady psal, jste spouštěl bůhvíco na bůhvíčem v Qemu. S Androidem to asi mnoho společného nemělo – například androidí zařízení nepoužívají myš, tudíž nemají ukazatel myši. Vy jste ale psal o pomalém překreslování kurzoru myši – takže bůhví, co jste měl spuštěné.
Vase argumentace je tedy bud spatne, nebo uplne spatneMoje argumenty jsou možná nepřesné, ale ty vaše jsou totálně mimo – pokoušíte se argumentovat nějakou subjektivní rychlostí či pomalostí, přitom jste Android ještě ani jednou nespustil.
Budou spokojenejsi jak oni, tak zakaznik.Pokud je zákazník zaopatřovací ústav pro x86 assembleristy, pak ano. Pokud chce získat určitý výsledek za co nejnižší cenu, pak spokojen nebude – je mu k ničemu, že za milion Kč mu aplikace poběží o 1 % rychleji, když větší zrychlení může získat nákupem paměti za dva tisíce.
A ja se ptam, jak je mozne, ze vsechny pokusy o port na x86 dopadaji tak tragickyZ vašeho jednoho pokusu je myslím trochu brzo dělat závěr o všech. Každopádně to, jak dopadají nějaké pokusy o port, nevypovídá o platformě nic. Když nešikovný soused při pokusu o opravu totálně zničí Porsche, asi taky hned nebudete tvrdit, že Porsche jsou hrozná auta.
kdyz jedina vec, co se skutecne portuje (rozumej, jeji ceckovy source po nezbytnych upravach prejede jinak targetovanym cross-gcc) , je POUHA VM.A celý ten systém okolo se portuje sám od sebe, jako že odejdete na oběd, a když se vrátíte, najdete to naportované, nebo jak si to představujete?
Jednomu by uz skoro doslo, ze spolecny jemnovatel problemu je efektivni vykonavani javovskeho bytecode.Společný jmenovatel problému je, že jste ještě nezjistil, co znamená platforma Android, a nejspíš jste ještě žádnou Dalvik VM neměl spuštěnu.
Jak dlouho jeste bude moderni vyhazovat vykon (dnes celkem solidni) HW panubohu do oken? A z jakeho duvodu, proc vubec?Už navždy. Protože se většina zadavatelů chová ekonomicky, a když můžou něco vyřešit zaměstnáním dalších drahých programátorů a prodloužením projektu na straně jedné, nebo nákupem levného HW na straně druhé, zvolí si výhodnější druhou variantu. Paradoxně to pak může vést i k menší „spotřebě“ výkonu – přebytek HW výkonu umožňuje používat virtualizaci (z té se vám taky musí zvedat žaludek, takové plýtvání výkonem), která pak umožní seskládat na jeden hardware různou zátěž s odlišnými špičkami, takže pak nepotřebujete rezervu na špičkový výkon pro každou aplikaci zvlášť, ale můžete tu rezervu sdílet pro více aplikací.
No a ten Linux pod tim je vyvijen pro x86 primarne, tj. zadny port netreba.Jenže tam právě není vanilkové jádro, ale upravené a portované jádro a spousta dalších programů. Podívejte se na architekturu Androidu. Vy pořád píšete jenom o tom žlutém obdélníčku, ale portovat se musí celý červený, zelený a žlutý rámeček + něco z aplikačního frameworku. Přičemž třeba správa napájení je v Androidu řešena úplně jinak, než ve vanilkovém jádru. Kdyby nic jiného, je toho docela dost, takže portace bude nějakou dobu trvat. A hlavně je k tomu potřeba mít nějaký důvod – a zatím jediný důvod byl „schválně, jestli půjde Android spustit i na x86 PC“. Snad uznáte, že to moc silný důvod není, takže se té portaci asi nikdo moc nevěnoval. Teď s nástupem tablet PC se situace změnila, pokud někdo chce dělat tablety s Androidem na x86, bude ten port muset udělat. Teprve teď k tomu někdo má dobrý důvod. A i tak je otázka, zda takový port půjde spustit na běžném PC, nebo zda bude svázán s omezenou množinou HW, která se bude v tablet PC používat.
Pokud jde o port, tak "spodek" nabiha svizne, problem nastane jakmile nastartuje dalvik.Nevěřte všemu, co vám někdo vyprávěl. Opravdu je velmi jednoduché si to vyzkoušet, v obchodu s mobily určitě na nějaký s Androidem narazíte.
kolik ze je rozliseni zminovanych handheldu dnes a barevna hloubka? rekneme ne vic nez 256x512 64k ...800x480 a 16M? A to přišlo dotyčné zařízení na trh asi před rokem.
S dovolenim Vasi diskuzi ukazi zitra studentum, jako ukazku toho, kterak se katastrofalne ztraci jakekoli povedomi o strojove urovni fungovani HW.Na vašem místě bych ji studentům neukazoval, nebo ztratíte poslední zbytky autority, jestli ještě nějakou vůbec máte.
Jmenujete systemy, ktere jsou samostatne - narozdil od Androida, coz je jen spoustitko javovskych nesmyslu na mirne osekanem Linuxu. Tedy tak trosku nebe a dudy.iOS má v základu Darwin. Je to afaik podobný vztah jako Android a Linux.
Chci system nativne provozovat na nejrozsirenejsi hardwarove platforme - chci tak mnoho?Průzkum jsem nedělal, ale myslím, že když sečtete všechny desktopy, servery, telefony, tablety, embedded zařízení, síťové prvky atd. Tak bude suveréně nejrozšířenější platformou právě ARM. To, že chcete mobilní OS provozovat na platformě, která je jakousi náhodou nejrozšířenější na desktopech a jinou náhodou je zoufale neefektivní - to už je váš problém.
Java je kvuli tomu znacne nepopularni.Zejména mezi uživateli, kteří Javu nikdy nespustili, nebo ji používají a neví o tom. Všechny ty vaše řeči o problémech s Dalvikem a s jeho výkonností poněkud kazí fakt, že jste v životě neběžel aplikaci běžící na Androidu. Z toho je bohužel evidentní, že jediný váš skutečný argument je „nemám rád Javu“. No tak nemějte, svět se kvůli tomu nezboří. Zůstaňte si u svého x86 assembleru, nemluvte do věcí, kterým nerozumíte, a všechno bude fajn.
ale proc ho za to trestame tim, ze musi lopotne jitovat transformovanou javu?Protože kdyby Google vývojářům mobilních aplikací řekl ať je píší v Céčku nebo assembleru, tak by se android nikdy nerozšíril - o bezpečnosti ani nemluvě, nějaká abstraktní vrstva (bytecode v sandboxu) je prostě potřeba z praktických důvodů. Navíc mi nešlo o konkrétní vlastnosti architektur, ale o to, že jestli chcete provozovat android na nejrozšířenější platformě tak stačí navštívit nejbližší obchod s telefony.
Napsat "muj nazor neni reelvantni" by bylo kratsi, ve vasem pripade :P.Napsat "máte pravdu", by bylo kratší ve vašem :).
V prvom rade je dôležité opýtať sa, či dochádza kvôli Jave k nejakému úbytku výkonu a či je ten úbytok dosť veľký na to, aby malo zmysel sa ním zaoberať.
Androidové telefóny rozhodne problém s výkonom nemajú a nepotrebujú výkonnejší HW oproti iOS alebo WP7 telefónom. Nechápem čo riešiš.
(A poznámkou o nasaditeľnosti jedného z najrozšírenejších jazykov zo seba len robíš o niečo väčšieho blbca než doteraz)
Python (a několik dalších jazyků) lze částečně použít přes Android Scripting Environment (ASE) (http://google-opensource.blogspot.com/2009/06/introducing-android-scripting.html, http://code.google.com/p/android-scripting/). ASE je ale určeno jen ke skriptování, s tím, že Pythonu zprostědkovává přístup k podmnožině API.
Jython použít nelze. U JVM jazyků vzniká problém v případě, že daný jazyk generuje bytecode za běhu (to tuším právě Jython dělá). Java bytecode se do dalvikovského konvertuje při vývoji. Pro použití takového jazyka by tedy bylo nutné, aby generoval přímo Dalvik bytecode.
A s novymi verziami vyzera byt vyvoj cim dalej tym zaujimavejsi. Napr. "you can now build an entire Android application without writing a single line of Java".
Mozno trocha zamrzi, ze podpora pre vyssie spominane je az od Androidu 2.3. Na druhu stranu pre starsie verzie sa da pouzit port sdl.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.