Supporto No Execute in Linux

Intel e Red Hat rilasciano una patch che permette di sfruttare la tecnologia No Execute, già integrata nei processori Intel, AMD e VIA
di Fabio Boneschi pubblicata il 07 Giugno 2004, alle 10:44 nel canale Sistemi OperativiIntelAMD
34 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoPoiché gli x86-64 implementano questo flag col sistema di paginazione, per renderlo utilizzabile anche in modalità a 32 bit è necessario abilitare le PAE.
Scusa, ma è una argomentazione che non mi convince. Già in modalità "normale" (non pae) c'è il supporto per abilitazione in lettura e/o scrittura a livello di singola pagina; manca - ed è grave - l'abilitazione in esecuzione. Usare l'x86-64 in modalità "compatibile" non vuol dire per forza passare per il pae. Inoltre, da quello che si subodora leggendo in giro, credo che l'NX sarà introdotto anche nei processori a 32 bit puri (non solo amd).
Il pae è un brutto hack che non è mai piacuto a nessuno. Aggiungere un hack sull'hack per me è il modo più sbagliato di affrontare un problema. Se questa deve essere la soluzione, sarebbe stato meglio lasciare l'NX per i processori a 64 bit puri (il cui scopo principale è proprio buttare alle ortiche il pae).
Questo non ti libera dall'overhead aggiuntivo di utilizzare il pae, che prevede comunque una tabella di paginazione addizionale. Gli indirizzi usati dai programmi sono sempre e comunque di 32 bit, quarda ad es. qui
Scusa, ma è una argomentazione che non mi convince. Già in modalità "normale" (non pae) c'è il supporto per abilitazione in lettura e/o scrittura a livello di singola pagina; manca - ed è grave - l'abilitazione in esecuzione.
Questo l'ho già spiegato: si è sempre fatto uso della segmentazione, che offre restrizioni e privilegi molto più "fini".
Lo so, ma sarà quello che Amd ha deciso di fare nell'implementazione dell'x86-64 e delle conseguenti migliorie che "appaiono" anche in modalità a 32 bit.
Dovrebbero implementarlo i prossimi Prescott con 2MB di cache L2, se non erro.
Neppure a me.
Indubbiamente. Probabilmente hanno voluto semplificare il design, lasciandolo attivo sempre e soltanto col PAE attivo.
Veramente il PAE in modalità x86-64 dovrebbe essere sempre attivo, e l'unico modo disponibile per indirizzare la memoria.
Sì, ho visto. Questo è anche uno dei motivi per cui AMD ha aumentato le entrate nella cache TLB. D'altra parte, avendo sempre 4 livelli d'indirezione, era una scelta praticamente obbligata.
Comunque, penso che sia stata una scelta di comodo e di omogenità (in ogni caso si hanno 4 livelli di indirezione), quella di implementare il flag NX solo con il PAE attivo anche nella modalità a 32 bit. Si saranno fatti bene i conti: se già nella modalità a 64 bit bisogna per forza di cosa avere 4 livelli d'indirezione, tanto vale usarli anche in quella a 32 bit; l'aumento della cache TLB servirà a mitigare questo ulteriore passaggio.
E' una scelta che non condivido neppure io, ma fra il non avere una funzionalità, e averla un po' "castrata", meglio la seconda. Tanto più che chi avrà un processore a 64 bit passerà ancora poco tempo a utilizzare un s.o. a 32 bit...
Veramente il PAE in modalità x86-64 dovrebbe essere sempre attivo, e l'unico modo disponibile per indirizzare la memoria.
cioè l' unico modo consiste nel dare ai programmi 64 bit di address space virtuale, da trasformare in (se non ricordo male) 48 fisici, passando attraverso una gestione bank swapping a blocchi di 32?
magari ho capito male... LO SPERO vivamente
1) I registri indirizzo a 64 bit
2) Indirizzi virtuali utilizzabili 2^48 (in futuro sarà possibile estenderli, ovviamente)
3) Indirizzi fisici mappabili 2^40 (idem come sopra)
Non esiste nessun bank swapping, non ti preoccupare: c'è la "solita" catena dovuta alla traduzione dall'indirizzo virtuale all'indirizzo fisico, tramite "l'albero" delle page directory entry, che questa volta è 4 livelli, rispetto ai 3 necessari nella modalità a 32 bit normale (non PAE, che diventa a 4 livelli). D'altra parte, con 48 bit d'indirizzamento virtuale, almeno un livello in più doveva essere aggiunto...
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".