Ja ne laiskat ja oppimattomat jotka eivät jaksa lukea niin tässä teille lyhyt: Google Chrome OS:n ei kuulu toimia Ossin kokoonpanolla. Sen ei kuulu toimia kuin Netbookissa. Zero-projektin tarjoama levykuva ei kerro totuutta Google Chrome OS:n kehityksestä.
Kvarkki: “Kysyin tarkkoja laitteistovaatimuksia ja netbookin määritelmää.”
Google on ystäväsi kertomaan tuosta. Netbookin yleiset speksit löytää 10 vuotias lapsi muutamassa minuutissa. Kaivaa esille vielä mitkä prosessorit on suosituimmissa eri valmistajien malleissa ja mitkä piirisarjat, näytönohjaimet ym. 10 vuotias lapsi jopa löytää kuinka monta erilaista mallia Atomista on ja jopa niiden luokat. Löytyy teknisiä speksejä Netbookeissa käytetyissä prosessoreista sekä myös vielä kääntäjille vihjeitä miten tehdä sellaisille heikkotehoisille prosessoreille optimoitua koodia joka ei välttämättä toimi missään muualla. 10 vuotias lapsi olisi jo tiennyt että Google Chrome OS:n ei kuulu toimia Ossin kokoonpanossa. Mutta lapsissa onkin se ihmeellinen asia että monet heistä ovat todella nopeita oppimaan…
“Ja pieleen menee taas, koska 64-bit tuki ei sisälly x86:n. Intelkin nimeää sen EM64T:ksi. Tämänkin varmaan tajuat, mutta pakko vängätä?”
x86-64 on AMD:n x86-arkkitehtuurin laajennus 64bit. Intelillä oli aivan omat 64bit tekniikat. Lopulta Intel joutu hyväksymään AMD:n 64bit tekniikan omiin prosessoreihin. Ja x86-on vain arkkitehtuuri eikä mikään fakta että oikea x86-arkktehtuurin prosessori on vain esim 32bit. Intel oli valmis hylkäämään koko x86-arkkitehtuurin ongelmat Itanium sarjallaan jota se kutsui IA-64, joka oli Intelin näkemys miten tehdään jatkumu IA-32 (x86) arkkitehtuurille. AMD loi 64bit laajennuksen x86-arkkitehtuuriin ja monet valitsivat sen koska x86-arkkitehtuurille tehdyt ohjelmat saatiin toimimaan suoraan.
“Originally announced in 1999 with a full specification in August 2000,[1] the architecture was positioned by AMD from the beginning as an evolutionary way to add 64-bit computing capabilities to the existing x86 architecture, as opposed to Intel’s approach of creating an entirely new 64-bit architecture with IA-64.”
Ei kannata tehdä mitään Intelin markkinoinnin pohjalta johtopäätöksiä että x86-64 ei ole x86-arkkitehtuuria. Intel yritti aivan omaansa ja otti käyttöön sille IA-64 joten sitä ei voitu käyttää x86-64 vaan piti keksii uusi EM64.
“Since the basic instruction set is the same, there is almost no performance penalty for executing x86 code. This is unlike Intel’s IA-64, where differences in the underlying ISA means that running 32-bit code must be done either in emulation of x86 (making the process slower) or with a dedicated x86 core. However, on the x86-64 platform, 32-bit x86 applications may still benefit from a 64-bit recompile, due to the additional registers in 64-bit code, which a compiler can use for optimization.”
“The mode used by 16-bit (protected mode or real mode) and 32-bit operating systems. In this mode, the processor acts just like an x86 processor, and only 16-bit or 32-bit code can be executed. 64-bit programs will not run.”
Voit jatkaa selittämistä että x86-64 ei ole x86-arkkitehtuurin prosessori ja 64bit ei ole siihen laajennus. Intel yritti päästä IA-64:lla eroon CISC:sta ja saada RISC:n ja monet haluavat pitäytyä CISC:ssa minkä takia jo AMD:n 64bit laajennukset x86-arkkitehtuuriin otettiin mieluisasti vastaan.
Ja jotta vielä oppisit, niin tulevaisuudessa x86-64 tulee sulautumaan pelkäksi x86:ksi ilman että tarkennetaan että se on uudempi sukupolvi x86-arkkitehtuurista, aivan kuten aikaisemminkin kävi x86-32 ja x86-16 nimille kun 64bit hevonen on kuollut markkinoinnin osalta. x86-128 laajennusta ollaan jo suunnittelemassa vaikka sitä ei tulla pitkiin aikoihin tarvitsemaan jo niiden hyötyjen vuoksi mitä 64bit laajennus x86-arkkitehtuuriin toi. x86-arkkitehtuuri tarkoittaa että prosessorit pystyy suorittamaan 80386 prosessorin käskykannalla olevia binäärejä (uudempi arkkitehtuurin malli on taaksepäinyhteensopiva), aivan kuten x86-64 koska se ei ole mitään muuta kuin uusi laajennus x86-arkkitehtuuriin eikä eri prosessoriarkkitehtuuri kuten ARM tai PPC jotka eivät ole x86-arkkitehtuurin mukaisia.
Ja EM64T (Extended Memory 64 Technology) ei ole enää käytössä. Ensimmäiseksi oli IA-32e jonka jälkeen Intel alkoi käyttämään EM64T nimeä ja nykyisin se on hylätty ja käytetään Intel 64 nimeä joka on vastaisku AMD:n omalle AMD64 nimelle.
Ja Intel 64 eroaa vielä AMD64:sta:
* Intel 64′s BSF and BSR instructions act differently when the source is 0 and the operand size is 32 bits. The processor sets the zero flag and leaves the upper 32 bits of the destination undefined.
* AMD64 requires a different microcode update format and control MSRs while Intel 64 implements microcode update unchanged from their 32-bit only processors.
* Intel 64 lacks some model-specific registers that are considered architectural to AMD64. These include SYSCFG, TOP_MEM, and TOP_MEM2.
* Intel 64 allows SYSCALL and SYSRET only in IA-32e mode (not in compatibility mode). It allows SYSENTER and SYSEXIT in both modes.
AMD64 lacks SYSENTER and SYSEXIT in both sub-modes of long mode.
* Near branches with the 66H (operand size) prefix behave differently. Intel 64 clears only the top 32 bits, while AMD64 clears the top 48 bits.
More recent AMD64 processors support 1GB pages in addition to 4kB and 2MB.
Ja Intel 64 on toteutettuna seuraavissa Intelin prosessoriperheissä:
“Intel 64 is Intel’s implementation of x86-64. It is used in newer versions of Pentium 4, Pentium D, Pentium Extreme Edition, Celeron D, Xeon and Pentium Dual-Core processors, the Atom 230, 330, D510, and N450 and in all versions of the Core 2, Core i7, Core i5 and Core i3 processors.”
Ja mm. Asus 901 sisältää Atom N270 prosessorin ja 1000H taas N280 prosessorin. Intel 64 ominaisuudet jotka löytyy Core 2:sta ei ole tietenkään niissä Atomeissa jotka on useissa yleisimmissä Netbook-malleissa koska ei ole 64bit X86-arkkitehtuurin laajennusta käytössä ja 32bit koodiakin ajetaan eri tavalla Core 2 Duo:ssa kuin vanhemmissa Atomeissa.
“Ai oikein sekoilemaan ja kaatumaan? Tajuat varmasti että Atomilla on tasan yksi ja vain yksi etu ARM:n nähden: se tukee x86 ohjelmistoja. Jos se ei tukisi, se ainoa etu menisi eikä Atomia käyttäisi kukaan.”
Aivan kuten ei ole Core 2 Duo Netbookeissa, ei Google Chrome OS.n tarvitse toimia edes sellaisella prosessorilla. Kerrotko missä Netbookissa tai esim MDI laitteessa on Core 2 Duo prosessori johon Google Chorme OS on suunniteltu toimivaksi kun mukamas on kaikissa x86-arkkitehtuurin prosessoreissa suunniteltu toimivaksi? Aivan kuten Windows 7:n ei kuulu toimia ARM-tai PPC-arkkitehtuurin prosessoreilla koska niihin sitä ei ole sitä tehty. Aivan turhaa olisi haukkua Windows 7 surkeaksi sellaisen vuoksi. Mutta aivan sama asia tässäkin, sinä et vain huomaa että yrität väittää että Google Chrome OS:n kuuluisi toimia prosessorilla (/tietokoneella) johon Google Chrome OS:aa ei tulla optimoimaan vaan Netbookeihin joissa ei käytetä sellaisia osia mitä Ossilla on.
Muutenkin edelleen on kyse Zero-projektista joka tekee omat käännökset ja mahdollisesti omilla optimoinneilla ja laajennetuilla tuella. Virheitä syntyy siinäkin. Joten Zero-projektin levykuvan perusteella ei kannata tehdä yhtään mitään johtopäätöksiä missä tilanteessa on Googlen Chrome OS.
Googlen ei tarvitse lähdekoodeja paljastaa yhtään kenellekkään vielä. He voivat aivan rauhassa pitää kaikki muutokset piilossa ja optimoida Google Chrome OS:aa omassa haarassa (mitä varmana tekee).
“Oikeen 4.8 GHz, aika kovat kellot, en ihmettele jos tulee ongemia. Vesijäähyäkö käytät?”
Huomaa jälleen että sekoilet suoraan oikean kellotajuuden ja vastaavan kellotajuuden kanssa mitä AMD käytti Inteliä vastaan. Olisi ehkä pitänyt laittaa 4800+ että olisit ymmärtänyt (Pitäisikö vetää johtopäätökset että olet Intelin fani). Ajoin Google Chrome OS:aa sellaisella laitteistolla jossa oli x86-arkkitehtuurin prosessori, paljon suorituskykyisempi kuin mitä Netbookeissa on. Enemmän keskusmuistia (4x) joka on vielä nopeampaa, kaksi eri näytönohjainta käytössä ja paljon suurempi näyttö. Sinun logiikan mukaan Google Chrome OS:n pitäisi lentää tälläisellä kokoonpanolla koska kaikkien paperilla kerrottujen ominaisuuksien mukaan kokoonpanoni on merkittävästi nopeampi kuin mitä mm. Asus 901 ja 1000H Netbookeissa on. Joten logiikkasi mukaan Google Chrome OS ei voi mitenkään hidastella tai kaatua.
Kuten moni on yrittänyt sanoa ja todennut, ongelmia syntyy kun käytetään laitteistoa johon Google Chrome OS:n ei ole tarkoitus toimia. Eli kun käytetään laitteistoa johon koodi ei ole optimoitu niin koodin toiminta on ei-optimaalinen ja mitä tarkoittaa ei-optimaalinen? No sitä että se voi toimia tai se ei saata toimia ollenkaan.
“Ja oletko varma että vika on prosessorissa?”
Hohhoijaa… ylempänä (mm. minä) moni sanoi että ongelmat voivat löytyä piirisarjasta, näytönohjaimesta. Ja ongelmat eivät välttämättä ole edes Linux-käyttöjärjestelmässä prosessorin optimoinneilla vaan missä tahansa koodissa sen yläpuolella prosessorille tehtyjen optimointien vuoksi. Jopa itse Google Chromessa tai Googlen omassa ikkunointijärjestelmässä. Itse kieltäydyit edes harkitsemasta että vika voisi olla missään muualla ja rajasit kaikki muut pois paitsi prosessorin. Kun muut ovat yrittäneet sanoa että Ossin kokoonpano ei ole sellainen johon Google on kertonut Google Chrome OS:n tulevan optimoitu. Jos haluaa tarkemmin tietää niin siitä vain katsomaan mm. Linux-käyttöjärjestelmän säädöt käännöstä varten Googlen palvelimilta (eikä mistään Zero-projektista). Mutta silloinkaan et saa välttämättä kaikkia oikeita optimointeja koska Googlen ei ole tarvinnut koodia julkistaa kenellekkään.
“Laitteistovaatimuksethan ovat mitkä?”
Ylempänä on sanottu mitä Google on kertonut. Mitä jos lopetat inttämisen ja luet mitä sanotaan? Lue vielä Ossin kirjoitukset ja totea että onko Ossin kokoonpano juuri sellainen johon Google Chrome OS tullaan suunnittelemaan heti ensimmäiseksi toimimaan?
Laitetaan tähän vielä parin sekunnin googletus jotka kertoo _huhutut_ laitteistovaatimukset joita Google ei ole vahvistanut mitenkään, koska en usko että edes kykenet siihen:
“Display: 10.1 inch HD ready multit-touch screen
CPU: ARM-based processor
Storage: 64GB SSD
Memory: 2GB
Connectivity: WiFi, Bluetooth, 3G, Ethernet
I/O: USB, webcam, 3.5mm audio jack, flash card reader”
Kaikki tiedot on pelkkää huhua. Google on vain sanonut: “Google Chrome OS is an open source, lightweight operating system that will initially be targeted at netbooks. Later this year we will open-source its code, and netbooks running Google Chrome OS will be available for consumers in the second half of 2010.”
Ja sinä intät että sen täytyy toimia kaikilla henkilökohtaisilla tietokoneilla missä on x86-arkkitehtuurin prosessori koska Atom on x86. Ja Atom on yleisin käytetty prosessori Netbookeissa ja Netbook on se johon Google koko Google Chrome OS:n tulee optimoimaan. Ja sinä vaan intät ja intät kuin ammattitrolli.
“Mitä tulee kaatuiluun, silloin on ohjelmassa tai kääntäjässä vika koska Atomin käskykannassa ei ole mitään käskyjä joita ei olisi Core 2 Duo:ssa. Siten tuon kaatuiluhomman voit samantien unohtaa.”
Hohhoijaa… sinä et sitten ikinä ymmärrä. Kääntäjässä ei ole mitään vikaa kun se mahdollistaa ohjelman kääntämisen samasta lähdekoodista optimoiden sen jokaiselle erilaiselle prosessorille ja laitteistolle toimivaksi. Se on ohjelmoijan vika jos kääntää ohjelman väärin siten että se ei ole optimoitu juuri halutulle prosessorille.
Se on taas testaajan vika jos yrittää käyttää binääriä prosessorilla jolle sitä koodia ei ole optimoitu kääntäjällä vaan aivan toiselle. Jo nyt on suuri merkitys onko Linux-käyttöjärjestelmä käännetty Intelin Atom, Core2 tai AMD:n Athlon prosessoreille. Kääntäjässä voidaan myös ottaa asetukset missä vielä käytetään vain kyseisen valmistajan omia erikoisuuksia. Kaikilla optimoinneilla saadaan binääri sellaiseksi että se ei ole enää geneerinen joka x86-arkkitehtuurin (myös 64bit versiot) prosessorilla toimiva vaan aiheuttaa hidastumista ja kaatumista. Geneerisesti käännetty binääri ei hyödy mistään tietyn prosessorivalmistajan tai prosessoriperheen yksilöllisistä ominaisuuksista vaan ainoastaan takaa että se toimii.
“Joo, mutta kun sillä optimoinnilla pitäisi saavuttaa niin kammottava nopeustappio paremmilla prosessoreilla, ettei sitä saa ellei sitä tahallaan tee. Tuskin mikään kääntäjäkään siihen pystyy.”
Mikä on parempi prosessori? Onko Intelin prosessori parempi kuin AMD:n tai toisinpäin? Voidaan saada koodi matelemaan nopeamma uudella prosessorilla mutta vanhalla hitaammalla taas toimimaan kuten kuuluu. Et ole koskaan kuullutkaan tapauksista missä juuri tietylle prosessoriperheelle tai prosessorivalmistajan prosessoreille optimoitu koodi matelisi tai ei edes toimi oikein. Täällä intät “no kun Atom on x86 ja Core2 on x86 ja Core2 on parempi niin koodin pitää toimii aina paremmin”. Et vain halua hyväksyä faktaa että kun koodi optimoidaan vain tiettyyn laitteistoon niin hyvin toimivaksi kuin on vain mahdollista, niin se ei aina toimi missään muualla ja koskaan se ei toimi niin hyvin sellaisella raudalla johon sitä ei ole optimoitu kuin sillä johon se optimoidaan. Se on juuri optimoinnin idea että se saadaan toimimaan mahdollisimman tehokkaasti halutulla raudalla jossa sitä tullaan suorittamaan. Välittämättä edes että se saattaa tai ei saata toimia missäään muualla.
Nyt jokainen vähääkään viisas on jo kauan aikaa sitten tajunnut että Google Chrome OS on tarkoitettu ensimmäiseksi toimimaan Netbookeissa joissa se tulee olemaan OEM puolesta esiasennettuna. Sen ei ole tarkoitettu toimivan missään muussa henkilökohtaisten tietokoneiden luokitellussa mallissa vaan ainoastaan Netbookissa. Google voi vasta myyntiin laittamisen yhteydessä kertoa että missä se toimii, että mitä optimointeja laitetaan. Ja vasta silloin saadaan se oikea tieto. Sitä ennen Googlen ei tarvitse lähdekoodia julkaista, sen ei tarvitse kertoa yhtään tarkkoja tietoja. Ja minkään Zero-projektin kaltaisen valmiiksi käännetyn levykuvan käyttäminen ei kerro tilannetta Google Chrome OS:n tilasta ja saati että sitä vielä ajetaan kokoonpanolla joka ei ole sellainen johon Google on kertonut Google Chrome OS:n toimivan.
Ossin tuloksia voidaan pitää vain ja ainoastaan Ossin kokoonpanossa saatuina tuloksina kun käytettiin Zero-projektin luomaa valmista levykuvaa. Niistä tuloksista ei voi vetää minkäänlaisia johtopäätöksiä Google Chrome OS:n tilanteesta saati että mihin Google kiinnittää huomiota kehityksessä. Ainoa tapa olisi olla Googlen työntekijänä tuossa projektissa, mutta Google pysyy hiljaa kasvattaakseen hypeä ja se pelottaa Microsoftia ja sen faneja ja pitää alkaa levittelemään FUD:ia että Google Chrome OS tulee floppaamaan ja asiakkaat tulee palauttamaan koneita kauppaan jne jne.
Niin ja sekin vielä että on huvittavaa että väität että EM64T ei ole x86-arkkitehtuurin prosessori. Väität että Atomissa ei ole mitään sellaista mitä ei Core2Duo ajaisi. Väität vielä että prosessorioptimoinnilla ei saada mitään ongelmia esille ja vihjailet vielä että sellaiset löytyisi vain kun ylikellotetaan prosessoria tai kääntäjä on rikki.
Olen idiootti kun vänkään aina idioottien kanssa…