Linus Torvalds denkt dat de i486-architectuur beter af zou zijn in een museum dan in de Linux-kernel

Linus Torvalds

Linus Benedict Torvalds is een Fins-Amerikaanse software-engineer, bekend van het starten en onderhouden van de ontwikkeling van de Linux-kernel,

Een paar dagen geleden Linus Torvalds maakte zijn mening bekend over het beëindigen van de steun voor processorarchitectuur i486 in de Linux-kernel. De oude architectuur werd een paar dagen geleden besproken in een thread waarin werd bekeken hoe de kernel beter kon omgaan met lijsten met het minst recent gebruik (LRU), een manier om geheugenpagina's bij te houden.

Terwijl Torvald heeft de code onderzocht van de medewerkers, lijkt gefrustreerd te zijn geraakt door de noodzaak om oplossingen op te nemen geschikt voor oudere CPU's. Daarom stelde hij voor om de ondersteuning voor de oude kit te beëindigen, wat een gemakkelijkere manier zou kunnen zijn om geheugenproblemen op te lossen.

“We hebben i386-ondersteuning in 2012 afgeschaft. Misschien is het tijd om i486-ondersteuning in 2022 te laten vallen? Linus Torvalds zegt:

Dat doen we al (toegegeven: niet SMP-veilig, dat wil zeggen dat het prima werkt, zelfs bij gelijktijdige toegang vanuit meerdere uitvoeringsthreads, maar SMP Class 486-machines werden nooit ondersteund, ook al bestonden ze technisch)

Er moet aan worden herinnerd dat de i486 CPU-serie werd uitgebracht in 1989 en momenteel blijven zeer weinig Linux-distributies zoals Gentoo, Slackware en KNOPPIX deze architectuur ondersteunen.

Volgens Torvalds, de problemen die worden veroorzaakt door het ondersteunen van verouderde architecturen die maar weinig mensen gebruiken ze zijn misschien gemakkelijker op te lossen door hun ondersteuning te verwijderen. LRU-geheugenbeheer van oudere processors zou ook zo'n geval zijn. 

Eerlijk gezegd zou ik het niet erg vinden om de minimumvereisten te upgraden naar ten minste M586TSC, waarbij ik ook enkele van die vroege "nep Pentium" -klonen achterlaat. Omdat 'rdtsc' waarschijnlijk een nog erger probleem is dan CMPXCHG8B.

En het komt allemaal neer op cmpxchg8b, een instructie die vergelijkt en vervolgens acht bytes verwisselt (of 64 bits) informatie in het geheugen van de computer. Peter Zijlstra, lid van de mailinglijst, suggereerde dat Linux alleen processors zou moeten ondersteunen die dit kunnen, 486-bits i32 achterlatend en inhoudend dat nieuwere Linux-kernels op P5-hardware of nieuwer zouden draaien.

De cmpxchg8b instructie is de boosdoener van de 'F00F'-fout van de originele Pentium, waarin een getroffen CPU zonder beperking van het besturingssysteem stopte met werken totdat hij opnieuw werd opgestart toen hem werd gevraagd om de instructie uit te voeren.

Eigenlijk begrijp ik helemaal niet waarom de huidige kernels op een i486 draaien, aangezien het eruit ziet als exit_to_user_mode_prepare -> arch_exit_to_user_mode_prepare, en uiteindelijk een onvoorwaardelijke 'rdtsc'-instructie heeft.

Ik neem aan dat je het niet hebt ingeschakeld.RANDOMIZE_KSTACK_OFFSET*? Met andere woorden, onze niet-Pentium media zijn op dit moment ACTIEF DEFECT EN GEBROKEN.

Volgens hem, het is zeer twijfelachtig of de i486-hardware nog steeds relevant is. Het lijdt geen twijfel dat er nog steeds zulke vastberaden mensen in de wereld zijn, die geloven dat de resulterende problemen gemakkelijk kunnen worden overwonnen, maar vanuit het oogpunt van kernelontwikkeling is deze positie niet echt relevant. 

“Dus ik denk niet dat hardware van de i486-klasse meer relevant is. Ja, ik weet zeker dat die er zijn (Maciej is een voorbeeld), maar vanuit het perspectief van kernelontwikkeling denk ik niet dat ze echt relevant zijn. Op een gegeven moment hebben mensen ze als museumstukken. Ze zouden ook kernen van musea kunnen beheren.

Het moet gezegd worden dat de architectuur i486 debuteerde in 1989 en werd in 1993 vervangen door Intel's Pentium. Intel heeft de i486 in 2007 van de hand gedaan en tegenwoordig bevat de beroemde Ark-productdetaildatabase geen melding van de processorfamilie.

Degenen die de apparaten lang geleden nog gebruiken, hebben zich erbij neergelegd om dat zonder ondersteuning te doen, zonder de mogelijkheid een nieuwe kit aan te schaffen of dat de softwareontwikkelaars aan het platform dachten.

Voor meer details, de Intel 80486 (i486, 486) is een microprocessor van de x86-familie, vervaardigd door Intel. Het werd uitgebracht in 1989. Qua processorarchitectuur lijkt de 80486 erg op zijn directe voorganger, de Intel 80386, met de toevoeging van een paar extra instructies. Het is dus een CISC-architectuur.

Vanuit micro-architecturaal oogpunt was er destijds een grote verbetering: een geïntegreerde uniforme instructie- en datacache, een optionele geïntegreerde Floating Point Processing Unit (FPU) en een verbeterde businterface.

Tot slot noemt hij voor de gebruikers met systemen met i486-processors kunnen de LTS-versies van de kernel gebruikendie nog vele jaren zal duren.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   kwaadhack02 zei

    Ondersteuning voor oudere modellen van processors en apparaten kan om verschillende redenen uit de Linux-kernel worden verwijderd, zoals het vereenvoudigen en optimaliseren van de code, het verminderen van de complexiteit en het onderhoud van de kernel, of het focussen op modernere en populaire apparaten. Enkele voorbeelden van oude modellen die uit de Linux-kernelondersteuning kunnen worden verwijderd, zijn:

    Oudere processors: zoals de Intel i386, i486 of sommige oudere AMD-processors. Deze processors zijn erg oud en ondersteunen niet de nieuwste functies van de Linux-kernel.

    Oude randapparatuur: zoals tapedrives, floppydrives of enkele oude geluids- of videokaarten. Deze apparaten komen tegenwoordig minder vaak voor en daarom kan de ondersteuning ervoor worden ingetrokken om de complexiteit van de kernel te verminderen.

    Verouderde technologieën: zoals ondersteuning voor het IPX-netwerkprotocol, dat decennia geleden veel werd gebruikt in computernetwerken. Naarmate technologieën vorderen en veranderen, kan ondersteuning voor verouderde technologieën uit de kernel worden ingetrokken.