Fórum Root.cz
Hlavní témata => Hardware => Téma založeno: nm 25. 07. 2016, 05:00:10
-
Už jsem slyšel, že jedna dost známá distribuce Linuxu (už si nevzpomínám která) prohlásila, že už nebude vydávat svojí distribuci pro 32bitové procesory. Napadlo mě, že i kernel verze 4 je více nakloněn 64-bitové architektuře, než 32-bitové. A tak se ptám. Je kernel verze 4 primárně vyvíjen pro 64-bitové procesory?
-
Čemu přesně říkáte 64bitový procesor? Pokud tím myslíte konkrétně AMD64 alias x86-64, pak máte samozřejmě pravdu, řekl bych dokonce, že je pravděpodobně v dohlednu doba, kdy podpora starého 32bitového x86 bude ukončena (přinejmenším v mainline kernelu).
Nedá se ale říct, že by kernel obecně předpokládal 64bitový procesor. Řada 32bitových architektur, zejména ARMv7, je stále aktuálních a jejich perfektní podpora v Linuxu je, a ještě dlouho bude, kriticky důležitým požadavkem.
-
Neexistuje žádný kernel verze 4. Aktuální verze linuxového jádra je 4.7, přičemž ta 7 roste o jedničku s každou vydanou verzí, a když je to číslo moc vysoké, tak Linus Torvalds zvedne to první číslo (4 → 5) a to druhé začne od nuly. Takže mezi verzemi 3.19 a 4.0 nebyl větší rozdíl než mezi verzemi 3.18 a 3.19 nebo 4.0 a 4.1.
Linuxové jádro podporuje desítky platforem, i386 a x86-64 jsou jen jedny z mnoha. Dokonce asi díky Androidu dnes ani platforma „PC“ (i386+x86-64) nebude mít většinu na počtu instalací. Jádro není vyvíjeno primárně pro 64-bitové procesory, je vyvíjeno pro všechny platformy současně. Ale většina přispěvatelů pravděpodobně jako svou primární platformu pro vývoj používá x86-64.
-
Neexistuje žádný kernel verze 4. Aktuální verze linuxového jádra je 4.7, přičemž ta 7 roste o jedničku s každou vydanou verzí, a když je to číslo moc vysoké, tak Linus Torvalds zvedne to první číslo (4 → 5) a to druhé začne od nuly. Takže mezi verzemi 3.19 a 4.0 nebyl větší rozdíl než mezi verzemi 3.18 a 3.19 nebo 4.0 a 4.1.
Linuxové jádro podporuje desítky platforem, i386 a x86-64 jsou jen jedny z mnoha. Dokonce asi díky Androidu dnes ani platforma „PC“ (i386+x86-64) nebude mít většinu na počtu instalací. Jádro není vyvíjeno primárně pro 64-bitové procesory, je vyvíjeno pro všechny platformy současně. Ale většina přispěvatelů pravděpodobně jako svou primární platformu pro vývoj používá x86-64.
OP pravděpodobně myslel kernely řady 4.x.
To, jakou platformu používá většina vývojářů jádra, je zajímavá otázka. X64-64 lze patrně považovat za "referenční" implementaci Linuxu, na druhou stranu největší uživatelská základna je na ARM...
-
Ano, měl jsem na mysli procesor x86_64 a ano měl jsem na mysli kernel verze 4.x.
Jo a jak jsou na tom vývojáři aplikací. Také už dávají přednost x86_64?
-
Ano, měl jsem na mysli procesor x86_64 a ano měl jsem na mysli kernel verze 4.x.
Jo a jak jsou na tom vývojáři aplikací. Také už dávají přednost x86_64?
Co si představujete pod pojmem "dávat přednost x86-64"? Nezpraseně napsaná aplikace lze zkompilovat pro x86 i x86-64 naprosto normálně. O optimalizace pro cílovou architekturu se postará kompilátor. Testovat se asi bude více na x86-64, protože takový stroj bude mít většina vývojářů (pokud tedy řešíme oblast serverů a desktopů), což ale podle mě nic moc neznamená.
-
Ona je taky otazka co presne se mysli tim 64bit. ILP64, LP64 anebo LLP64 ? Navic to "64bit" procesory jsou ve skutecnosti casto pouze 48bit resp. 56bit.
-
Ona je taky otazka co presne se mysli tim 64bit. ILP64, LP64 anebo LLP64 ? Navic to "64bit" procesory jsou ve skutecnosti casto pouze 48bit resp. 56bit.
Ono to nemá 64 bit registry? Ono to nemá instrukce pro 64 bit zpracování dat? :) Ono to nemá instrukce, které používají 64 bit adresaci? Počet "drátů" adresní sběrnice je omezen, protože to pro stav technologií prozatím stačí a není třeba fyzicky adresovat 16 EiB (2^64) paměti. Už 2^48 totiž znamená 256 TiB, viděl jste nějaký stroj, který by to fyzicky omezovalo? A nebo stroj, do kterého by šlo tolik paměti nasázet (k jednomu procesoru)?
-
Nezpraseně napsaná aplikace lze zkompilovat pro x86 i x86-64 naprosto normálně.
Což vůbec není pravda. Jsou spousty aplikací, které se nedají jen tak snadno překompilovat. Samozřejmě samostatnou kapitolou jsou aplikace, které obsahují nějaký JIT generátor, ale i u takových věcí, jako komprese, krypto, bignum výpočty apod. je dost důležité, jestli se mi do nativního slova vejde 32 nebo 64 bitů, dobrý kód může v obou případech vypadat dost jinak. A to nemluvím o úplně jiné ABI a volacích konvencích, které taky hrají svoji roli.
-
ABI a volací konvence dělají problémy jiným způsobem, pokud všechno přeložím stejným kompilátorem, neměl bych na problémy tohoto druhu narazit. High-performace kód, který řeší nativní velikost slova atp. se často stejně optimalizuje inline assembly a generická verze toho kódu půjde přeložit všude. Takže zbývá JIT. Jaké je ale procento aplikací, co JIT kompilace používají? Z těch běžnějších mě napadají akorát prohlížeče kvůli JS a runtimy věcí jako .NET a Java. Velká většina aplikací může být vůči architektuře CPU (témeř) zcela agnostická, pokud byl programátor při smyslech.
-
JA ako lopata defaultne davam vsade string. Nie som kernel programator ale stale je tu hromada (32bit?) ARMov.
Nezda sa mi ze by nejako prechadzalo v hotovom kode z int na long takze az take horuce to nie je.
V jave to iste akurat tam je long vzdy 64bit.
-
Ja ako lopata by som prosil 256 bitovy long.
bajt ho bitwise uadresuje
Int by mi vyhovoval 128bitovy. znamienkovy char ho uadresuje.
Ověření:
Doplňte nástroj k vyhazování hlíny (lopata)...:
-
Jsem cvičená opice
Lepič kódu, plakátů
V práci dělám s Office
Doma se hrám na tátu
-
Jsem cvičená opice
Lepič kódu, plakátů
V práci dělám s Office
Doma se hrám na tátu
Trollím s chutí, trollím rád,
na rootu jsem do noci,
javaman je kamarád,
nemohu si pomoci.
Keců mívám plné ústa,
všechno vím, a všechno znám,
hlava má je stále pustá,
do lopat vám vynadám.
Lopata je předmět skvělý,
jako nástroj, jako zbraň,
nezapomeň zůstat bdělý,
přede mnou si ústa chraň.
Ústa, nos i všechny údy,
ale hlavně mozeček,
utluču tě argumenty,
stejně jsi jen blbeček.
Nejlepší je vždy jen jeden,
to nesnese diskuzi,
ať je říjen, nebo leden,
seru na vás, soudruzi!