Linux sier farvel til støtte for Intel 486-prosessorer

Siste oppdatering: 14/04/2026
Forfatter: Isaac
  • Linux dropper støtte for Intel 486-prosessorer og flere tidlige 586-modeller ved å kreve TSC og CMPXCHG8B.
  • Pensjonering eliminerer tusenvis av linjer med eldre kode, forenkler kjernen og reduserer vedlikeholdsbyrden.
  • Virkningen på nåværende brukere er minimal; de som bruker retro-maskinvare må holde seg til eldre kjerner og distroer.
  • Endringen gjenspeiler et strategisk skifte: prioritering av moderne arkitekturer fremfor ekstrem bakoverkompatibilitet.

Linux dropper støtte for 486-prosessorer

Økosystemet for fri programvare forbereder seg på å lukke et kapittel som for mange nesten er over. Ren dataarkeologi: Linux kommer til å slutte å være kompatibel med gamle Intel 486-prosessorer.Den prosessorfamilien, lansert på slutten av 80-tallet og legendarisk på 90-tallet, hadde overlevd i flere tiår takket være miljøets besettelse av bakoverkompatibilitet. Men den tålmodigheten har en utløpsdato.

Med ankomsten av nye kjerneversjoner har utviklerne bestemt at det er på tide å ta drastiske tiltak: Offisiell støtte for 486-prosessorer forsvinner fra Linux-kjernen Og forresten, noen svært gamle Pentium-modeller og andre CPU-er som mangler visse moderne instruksjoner brukes også. Dette er ikke et innfall: å holde den maskinvaren i live representerer en enorm teknisk byrde, og knapt noen bruker den i den virkelige verden lenger.

Et farvel til et symbol på 90-tallets databehandling

Tretti og rundt år etter lanseringen har Intel 486-prosessorer gått fra å være et ekstremt eksempel på bakoverkompatibilitet til å bli en del av den offisielle historien til LinuxKjernen, som alltid har vært preget av sin evne til å kjøre på nesten hva som helst, vil slutte å inkludere støtte for denne arkitekturen som debuterte i 1989 og var nøkkelen til å popularisere personlig databehandling.

486, også kjent som i486 eller 80486, representerte et betydelig sprang fremover sammenlignet med 386, hovedsakelig fordi Den integrerte en flyttallsenhet (FPU) på selve brikken for første gang. Den ble omtalt i mange av modellene og ga klare forbedringer i ytelse og effektivitet. Designet var så vellykket at produksjonen fortsatte, i forskjellige sammenhenger og varianter, langt inn på 2000-tallet.

I nesten to tiår etter at den sluttet å være kommersielt relevant, opprettholdt Linux-kjernen kompatibilitet med denne CPU-familien, i tråd med filosofien om tilgjengelighet, allsidighet og støtte for eldre maskinvareMens andre operativsystemer kastet inn håndkleet tidlig, var Linux fortsatt der, og startet opp på maskiner som praktisk talt kunne vært på et museum.

Men selv i et prosjekt så konservativt med bakoverkompatibilitet, finnes det grenser. Kjerneutviklere har i årevis påpekt at kostnaden ved å fortsette å støtte 486 ikke lenger er verdt det.spesielt når vi snakker om maskinvare som sjelden sees utenfor private samlinger, svært gamle innebygde systemer eller hobbyprosjekter.

Hvilke tekniske endringer har blitt gjort i kjernen

Den underliggende avgjørelsen er klar: fremtidige versjoner av Linux-kjernen vil begynne å kreve maskinvarefunksjoner som 486, og noen av dens nære slektninger, rett og slett ikke har. Nyere kjerneversjoner, som 6.15-grenen og senere, hever standarden for minimumskrav til kompatible CPU-er.unntatt hele 486-familien og en rekke tidlige 586-prosessorer.

Hovedpoenget ligger i to funksjoner som nå anses som grunnleggende i enhver moderat moderne x86-prosessor: Tidsstempeltelleren (TSC) og CMPXCHG8B (CX8)-instruksjonenTSC er en syklusteller som brukes til høyoppløselige tidsmålinger, og CMPXCHG8B er en viktig instruksjon for å utføre atomoperasjoner på 64-bits data, uunnværlig for synkronisering i moderne programvare.

486 mangler begge deler, og noen veldig tidlige Pentium-maskiner, samt alternative brikker som IDT WinChip eller AMD Elan implementerer dem heller ikke, eller gjør det ufullstendig.Frem til nå har kjernen inkludert flere kodestier og emuleringsmekanismer for å kompensere for disse manglene, men dette kommer med en enorm kostnad i kompleksitet og vedlikehold.

  Ubuntu sier farvel til GNU: The transition to a Rust-powered future

Med den nye tilnærmingen, Det rimeligste minimumskravet for å kjøre en moderne kjerne blir i det minste en første Pentium "av den ekte typen"Det vil si en CPU som er nesten tre tiår gammel, men som inneholder instruksjonene og tellerne som Linux nå tar for gitt. Forresten, mer eksotiske plattformer basert på 486-kloner eller ekstremt gamle 32-bits x86 innebygde prosessorer faller også ved siden av.

En av de mest synlige endringene i koden er fjerningen av den gamle matematikkemuleringsbibliotek (math-emu)Denne komponenten ble brukt til å simulere en FPU i prosessorer uten flyttallsprosessor. Den tillot modeller som 486SX, eller noen Pentium-prosessorer med kjente FPU-problemer (som den beryktede FDIV-feilen), å utføre flyttallsoperasjoner, om enn med svært dårlig ytelse.

Holdningen til Linus Torvalds og kjernevedlikeholderne

Linus Torvalds, skaperen og hovedutvikleren av Linux-kjernen, hadde antydet en stund at levetiden til 486 ikke kunne forlenges mye lenger. I e-poster til utviklernes e-postliste var han ganske direkte: «Det er ingen grunn til å fortsette å holde ut med det lenger»Han gikk så langt som å slå fast at det ikke gir mening å dedikere ressurser til en arkitektur som praktisk talt ingen bruker lenger.

Torvalds har ved flere anledninger påpekt at noe lignende ble gjort med for 386 år siden. I 2012 sluttet kjernen å støtte den enda eldre generasjonen, og siden den gang har det vært mistanke om at Det neste logiske steget var å også legge 486-en bak seg.Forskjellen er at spranget i dette tilfellet skjer når 32-bit x86-økosystemet generelt også begynner å miste relevans sammenlignet med 64-bit arkitekturer.

Ved siden av Torvalds har veteranutviklere som Ingo Molnar bygget det tekniske argumentet: Å opprettholde kompatibilitet med svært gamle CPU-er krever en mengde emuleringsmekanismer og unntak. som knapt brukes og som av og til forårsaker feil som er vanskelige å spore opp. All den innsatsen investeres i å lappe hull som rammer en liten brøkdel av brukerne.

Molnar forklarte at x86-32-arkitekturen akkumulerer en stor mengde eldre kode for å dekke særegenhetene til arkaiske prosessorer, og at Disse «kompatibilitetshullene» kan skape problemer som tar opp utviklingstiden. som ville være mer nyttig å sette av til forbedring av ytelse, sikkerhet og stabilitet i nåværende utstyr.

I en e-post som skapte mye diskusjon i miljøet, ble ideen sterkt forsvart om at Det er på tide å slutte å kaste bort enda et sekund med krefter på i486 i moderne kjerneversjoner. Den underliggende filosofien er ikke å se bort fra klassisk maskinvare, men å erkjenne at hovedkjernen ikke kan bære vekten av personlig databehandlings historie for alltid.

Hva betyr kodeopprydding i tall?

Utover det symbolske aspektet har denne endringen svært konkrete effekter på kjernens interne virkemåte. Fjerningen av støtte for 486 og visse eldre 586 CPU-er innebærer fjerne tusenvis av linjer fra kodetreet som er dedikert utelukkende til demNoen oppdateringer nevner at mer enn 14 000 eller 15 000 linjer ble ryddet opp samtidig.

Mye av den koden var rettet mot emulere maskinvarefunksjoner som ikke finnes i disse CPU-eneFra den nevnte FPU-emuleringen til alternative utførelsesbaner for å håndtere fraværet av TSC eller CMPXCHG8B, inkludert alle slags betingelser for å håndtere feil som er spesifikke for bestemte modeller.

  Slik lister du opp en pakkes avhengigheter i Linux uten å ødelegge systemet

Med den støtten borte, er kjernen forenklet. Mindre gammel kode betyr færre stier å teste, færre sjeldne scenarier å vedlikeholde Og generelt sett et renere grunnlag å bygge videre på. I det lange løp hjelper dette både ytelse og sikkerhet ved å redusere den potensielle feiloverflaten.

Det sender også et klart budskap for fremtiden: Absolutt kompatibilitet med alt som en gang var x86 er ikke lenger en prioritet.Fra nå av er det rimelig å forvente at tempoet i utfasingen av svært gammel maskinvare vil akselerere, spesielt innen 32-bits-sfæren, hvor mange produsenter og distributører allerede kutter ned på alternativer.

Hvorfor tas denne avgjørelsen akkurat nå?

Det åpenbare spørsmålet er: hvis 486 praktisk talt hadde vært utryddet i så mange år, Hvorfor har det tatt så lang tid å kutte støtten?Svaret har flere lag. På den ene siden har Linux-samfunnet alltid vært veldig forsiktige med å ikke ødelegge marginale konfigurasjoner uten god grunn. Mange industrielle miljøer og innebygde systemer var avhengige av eldre maskinvare og dro nytte av den tålmodigheten.

Men med tidens gang, Det faktiske antallet aktive installasjoner av 486 har blitt ubetydelig.De fleste av disse systemene har blitt erstattet, migrert eller rett og slett lagt ned. Det virker ikke lenger forsvarlig å opprettholde spesifikk kode for en håndfull påslåtte maskiner i private samlinger eller ekstremt sjeldne installasjoner.

På den annen side har kjernen i økende grad tatt i bruk optimaliseringer og mekanismer som forutsetter tilstedeværelsen av visse maskinvareegenskaper. Å fortsette å dra unntak for CPU-er som ikke har dem, straffer alle andre., enten i form av mer kompleks kode, mindre tydelige utførelsesstier eller manglende evne til å forenkle visse deler av kjernen.

Det er også en sammenligningskomponent med andre systemer. Microsoft droppet praktisk støtte for 486 med Windows XP.Windows ble lansert i 2001 og ble ansett som foreldet av Windows-verdenen. Linux har holdt det i live i over tjue år til, men selv i fri programvare finnes det en rimelig grense for slik kunstig forlengelse.

Med alt dette på bordet har utviklerne konkludert med at Dette er riktig tidspunkt å avslutte 486-syklusenDen faktiske påvirkningen på brukerne er minimal, fordelen med kjerneopprydding er stor, og det gjør at innsatsen kan konsentreres om nåværende arkitekturer, enten det er x86-64 eller alternativer som ARM, RISC-V og andre.

Innvirkning på brukere, distribusjoner og retro-maskinvare

For den gjennomsnittlige Linux-brukeren er den praktiske effekten av dette trekket, ærlig talt, praktisk talt null. Det er veldig sjeldent i disse dager at noen har sin vanlige datamaskin kjørende på en 486....eller til og med på en tidlig Pentium-prosessor som mangler minimumsinstruksjonene som kreves av den moderne kjernen. Enhver stasjonær eller bærbar datamaskin fra de siste to tiårene overgår disse kravene med letthet.

Der endringen er merkbar er i retro-scenen og i visse svært spesifikke innebygde systemerDe som bruker klassiske maskiner utelukkende av kjærlighet, for samling eller for eksperimentering, vil oppdage at de, fra og med visse kjerneversjoner, ikke lenger vil kunne kompilere eller starte moderne Linux på disse maskinene. Enkelt sagt vil kjernen anta et CPU-nivå som maskinene deres ikke kan nå.

Dette betyr imidlertid ikke at disse maskinene er døde. Muligheten til å forbli på eldre kjerneversjoner eller eldre distribusjoner vil alltid eksistere. som fortsatt inkluderer støtte for 486. Lette distribusjoner, minimale utgaver eller LTS-utgivelser fra år tilbake kan fortsatt være perfekt funksjonelle for å fikse med gammel maskinvare.

Faktisk brukte mange retrodatamaskinentusiaster allerede svært gamle versjoner av Debian, Ubuntu eller andre distribusjoner av nettopp den grunn: De er mer i tråd med CPU- og minnekapasiteten til disse maskinenePrisen du må betale er tydelig: du gir opp på sikkerhetsforbedringer, ytelse og moderne funksjoner.

  AnduinOS: hva denne Linux-distribusjonen er og hva som gjør den annerledes

Innen alternative systemer finnes det fortsatt alternativer. Prosjekter som FreeDOS eller ArcaOS (en kommersiell utvikling av OS/2) forblir fullt levedyktige på 486, i likhet med visse høyspesialiserte lettvektssystemer. De har også blitt sett eksperimenter for å kjøre sterkt nedskalerte versjoner av Windows i disse CPU-ene, selv om det å koble dem til Internett i dag rett og slett er en dårlig idé fra et sikkerhetssynspunkt.

Innen alternative operativsystemer finnes det fortsatt alternativer. Prosjekter som FreeDOS og ArcaOS (en kommersiell utvikling av OS/2) er fortsatt fullt levedyktige på 486-systemer, i likhet med visse høyspesialiserte lette systemer. Det har også blitt observert eksperimenter med kraftig nedskalerte versjoner av Windows XP på disse CPU-ene, selv om det rett og slett er en dårlig idé å koble dem til internett i dag fra et sikkerhetssynspunkt.

Rollen til andre arkitekturer og fremtiden til eldre x86

Pensjoneringen av 486 skjedde ikke i et vakuum; det er en del av en bredere trend. I de senere årene har Linux konsolidert sin tilstedeværelse i mer moderne arkitekturer, spesielt x86-64 på stasjonære datamaskiner og servere, ARM på mobiler og enheter, og RISC-V som et fremvoksende alternativVekten til den gamle 32-biters x86 synker gradvis.

Innenfor den konteksten gir det mening at Eldre 32-bit x86-CPUer begynner å miste prioritetDet ville ikke være overraskende om det i fremtiden blir en fortsatt gradvis tilbaketrekking av støtte for brikker som ikke oppfyller visse minimumsstandarder for ytelse eller funksjoner, etter et mønster som ligner på det som har påvirket 486.

Dette betyr ikke at x86-32-støtten vil forsvinne over natten, men det betyr at fellesskapet antar at Du kan ikke dra hele historien til PC-arkitektur med deg i det uendelige.På et tidspunkt må det trekkes en grense mellom hva som er rimelig å fortsette å vedlikeholde i hovedkjernen og hva som ganske enkelt bør henvises til historiske versjoner.

Samtidig åpner opprydding av eldre kode døren for mer aggressive optimaliseringer for nåværende maskinvareÅ frigjøre kjernen fra CPU-begrensninger som hindrer den i å for eksempel utføre visse atomære instruksjoner, forenkler synkroniserings-, timing- og samtidighetshåndteringsalgoritmer.

Oppsummert kan beslutningen om å forlate 486 best forstås som en satse på Linux-prosjektets langsiktige helse noe som blir sett på som et svik mot ånden bakoverkompatibilitet. Historien og hengivenheten til gamle maskiner er fortsatt der, men kjernen i moderne databehandling må se fremover.

Med dette trekket avslutter Linux et svært viktig kapittel: Den tar farvel med en av prosessorene som bidro til å popularisere PC-er på nittitallet. Og som i flere tiår forble levende takket være fri programvares engasjement for å nå alle hjørner. Fra nå av vil 486-er og lignende systemer være reservert for de som ønsker å fortsette å fikle med gamle kjerner og veterandistribusjoner, mens hovedutviklingen fokuserer på moderne, raskere og mye sikrere arkitekturer.

Relatert artikkel:
Den ultimate guiden for bruk av DOSBox: emulering, konfigurasjon og triks for å gjenoppleve retro MS-DOS-spill og -programmer