Arkitektura e Linux Kernel x32 mund të ndërpritet

Linux Kernel 4.19

kohët e fundit u lëshua një email përmes listës së postave të Linux Kernel dhe ky email ka si objektiv kryesor hiqni kodin nga implementimi i nën-arkitekturës x32 (të mos ngatërrohet me x86 IA-32).

E cila ju lejon të përdorni modelin e adresimit të kujtesës 32-bit (hibrid x86 dhe x86_64) në sistemet x86 64-bit.

Çfarë është arkitektura x32?

Importantshtë e rëndësishme të përmendet se nën-arkitektura x32 është një ABI hibrid x86_64, i cili lejon që një model 32-bit adresimi i kujtesës të përdoret në sistemet 64-bit (procesori operon në modalitetin 64-bit, por përdor tregues 32-bit dhe operacione aritmetike).

ABI X32 lejon që aplikacionet të përfitojnë plotësisht nga arkitektura x86_64, siç janë regjistrat shtesë dhe udhëzimet më të shpejta, PIC ABI.

Në të njëjtën kohë, ABI X32 mbështet treguesit e kujtesës 32-bit, i cili kursen memorien, kontribuon në mbushjen më efikase të memorjes së procesorit dhe ka një efekt pozitiv në shpejtësinë e përgjithshme të ekzekutimit të kodit.

Kufizimi i ABI X32 është pamundësia e drejtimit të më shumë se 4 GB memorie nga aplikacioni.

Mbështetja X32 ka qenë pjesë e Kernel Linux që nga lëshimi i tij 3.4, i formuar në maj 2012.

Zhvilluesit do të debatojnë nëse do të vazhdojnë me mirëmbajtjen e kësaj arkitekture apo jo

Sipas zhvilluesit që propozon heqjen e teknologjisë x32 nuk është justifikuar dhe nuk ka gjetur një zbatim praktik në faqosjet moderne industriale.

Përveç kësaj, dheKodi x32 përdor metodë mjaft të diskutueshme për të punuar me thirrjet e sistemit, i cili krijon rrezikun e ndërprerjes së funksionimit normal pas përpunimit të zbatimeve të thirrjeve të sistemit.

Linus Torvalds tha se ai do të pranonte të hiqte x32 nëse nuk paraqiten argumente ose nëse nuk paraqiten sistemet në të cilat është aplikuar nënarkitektura x32.

Linus gjithashtu vuri në dukje se përdorimi i arkitekturës x32 ishte dukshëm i kufizuar në testimin ekstrem të performancëss, pasi mbështetja për këtë nënarkitekturë shoqërohet me një sërë komplikimesh në mirëmbajtjen e shpërndarjeve dhe mjedisit të zhvillimit.

Posta:

Pershendetje te gjitheve.

Unë jam seriozisht duke menduar të paraqes një copë toke për të hequr mbështetjen x32 nga Linux. Këtu janë disa çështje me këtë:

  1. Nuk është plotësisht e qartë se ka përdorues. Me sa di unë, ajo mbështetet në Gentoo dhe Debian
  2. Mënyra se si funksionon sistemi i thirrjes është shumë e çuditshme. Shumica e sykalimeve në x32 hyjnë përmes * vendlindjes * (d.m.th. jo COMPAT_SYSCALL_DEFINE) me pikën e hyrjes, dhe kjo është e qëllimshme.

Për shembull, adjtimex () përdor hyrjen amtare, jo hyrjen compat, sepse x32 struktura timex përputhet me paraqitjen x86_64. Por një pjesë e syscall-eve kanë pika të veçanta hyrëse - këto janë syscall-et që fillojnë në 512.

Këto hyjnë përmes pikave të hyrjes COMPAT_SYSCALL_DEFINE.

X32 syscall që * nuk janë * në intervalin 512 shkelin çdo pamje të konventës syscall të kernelit.

Në mbajtësit e syscall, in_compat_syscall () kthehet e vërtetë, por hyrja COMPAT_SYSCALL_DEFINE nuk thirret, kjo është e çmendur dhe rrezikon të prishësh gjëra kur njerëzit refaktorizojnë zbatimet e tyre syscall.

Dhe mbi të gjitha, askush nuk i provon këto gjëra.

Në një rast Kur testoi x32, një nga zhvilluesit e Gentoo arriti në përfundimin se përmirësimi i performancës kur kaloni në ABI x32 nuk është aq i madh sa tregojnë testet sintetike Nga prodhuesit e ABI x32:

përparim i dukshëm shihet vetëm kur krahasohet me arkitekturën e mëparshme x86, por kur krahasohet me arkitekturën aktuale x86-64, fitimi është i papërfillshëm (testet SPEC nga krijuesit e x32 treguan nxitim deri në 40% krahasuar me testet klasike ABI x86_64 me kodikun H.264 tregoi një nxitim prej 15-20%).


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.