Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

i586 - i686

Om jag försöker installera en applikation med arkitekturen i686 men datorn skall köra i586 får jag varning, händer inget eller funkar det bara inte?

Vad är skillnaden mellan dessa arkitekturer egentligen?

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

hoths bild

i585 är den vanliga för Pentium. Den andra dök upp första gången (tror jag) när Pentium PRO lanserades. Nuvarande användning av dessa vet jag inte så noga, egentligen. har sett båda och det verkar inte spela någon större roll.

----
Linux växer snabbast!

----
Linux växer snabbast!

FoHs bild

Ska väl inte hända något. Det ska bara fungera. Är lite osäker på om applikationen inte kan interagera med bibliotek och andra program som kompilerats för i586-arkitekturen, men jag tror inte det ska vara några problem alls. Det är ju inte som 32 vs 64 bit.

Edit: Om du menar så som fsn skrev nedan så innebär det förmodligen problem. Jag tolkade det som att du menade att du ville köra i686-applikationer på ett Linux som i övrigt var i586.

fsns bild

Om jag förstod dig rätt så undrar du vad som händer om du försöker köra ett program kompilerat för i686 på en dator som är av i586-arkitektur. i686 har vissa funktioner och instruktioner, exempelvis SSE2-instruktionerna, som inte är implementerade på en i586, och om programmet nyttjar de instruktionerna kommer det att krascha.

dholms bild

i686 använder inte SSE2 eftersom inte alla i686 har det. Den kan däremot använda sig utav MMX.

-- I need this baby in a month send me nine women!

tufftuffs bild

Det finns två möjliga betydelser: i586 betyder att programmet använder instruktioner som endast finns i pentium och nyare eller programmet är optimerat för pentium. Det har tex varit vanligt att märka program som i586 pga optimeringen, trots att de är körbara på i386. Jag har inte riktigt koll på hur det är i dagsläget med olika distributioner.

dholms bild

Njaeh. Binärer markerade som i586 är kompilerade med en flagga som säger att kompilatorn får använda instruktioner som kräver minst den uppsättning som finns i tidiga generationer av Pentium. Detta innebär inte att kompilatorn skapar binärer som kräver i586 men den kan ha gjort det.

-- I need this baby in a month send me nine women!

tufftuffs bild

Det kanske vanligtvis är så, men förvirrande nog är det är inte alltid så.

valdermans bild

Det beror helt och hållet på om man kompilerat med -march=i586 eller -mtune=i586. -march tillåter utökad instruktionsuppsättning, medan -mtune bara påverkar optimeringen.

--
あるユーモアのないアホのため、シグナチャーをカエルことにした。カエルさん