Newsgroup: it.comp.lang.c
Titolo: OT l'area di memoria occupata da sistema operativo viene paginata come gli altri processi?

come da oggetto
grazie

 Re: OT l'area di memoria occupata da sistema operativo viene paginata come gli altri processi?
Che cazzo combini coglione.

Addì  venerdì 08 gennaio 2010 11:06 neonano scrisse:

Mi scuso con gli altri iscritti al gruppo: ovviamente anche io 
ho fatto una coglionata.

Molto succinto eh???':-)
- hai dimenticato per quale processore ?
- che sistema operativo?
Per 'pagine' presumo intendi la mappatura della memoria
fisica via la MMU specifica del processore?
In questo caso, certo, il SO si prende un pezzo
di memoria via MMU come tutti gli altri processi.
Poi se il SO gira in uno degli spazi privilegiati
(kernel) e' un altro discorso :-)
8.

 grazie
Rispondo per gli x86 che conosco benino.
Innanzi tutto, in modalità protetta la memoria non paginata NON è
utilizzabile :-) per cui sì, deve essere paginata.
Sugli x86 hai 4 anelli di protezione, dallo zero al tre, in ordine di
restrizione. Per ogni pagina o directory di pagine puoi specificare
quali anelli di protezione possono o non possono accedere. Se il
processore sta girando codice in anello tre e prova ad accedere a
memoria di anello zero viene fatto scattare un interrupt (così come se
la memoria non è paginata)
OT - la cosa interessante è che questo sistema ad anelli, inventato
con il multics, inizialmente era fatto via software - OT
Cosa fanno la maggior parte dei sistemi operativi:
il kernel gira in ring 0, ha una sua directory di pagine settata a
ring 0.
solo per i microkernel i driver, essendo processi separati, possono
girare in ring 1 o 2
i processi utente vengono fatti girare in ring 3, e *ognuno* ha una
*propria* directory di pagine settata a ring 3.
Questo comporta che non solo un processo utente *non può* accedere
alla memoria del kernel, ma nemmeno a quella degli altri processi,
senza che il processore "trappi" un'eccezione.
Oltretutto ogni processo vede *tutto* lo spazio di memoria
disponibile, da 0 al massimo della memoria inidirizzabile (che dipende
da tante cose come il bittaggio del processore e i suoi flag interni,
ma non dalla memoria fisica disponibile) e non è assolutamente
possibile capire dove "fisicamente" sta scrivendo/leggendo.
N.B. Anche per il kernel vale lo stesso discorso solo che, per non
diventare pazzi, gli sviluppatori di kernel tendono a mappare parti
della memoria kernel 1 a 1, in maniera che lo stesso indirizzo fisico
corrisponda a quello virtuale (direttamente o con una facile
traslazione).
N.B.2. Di solito un pezzo importante del kernel è l'allocatore fisico,
che si occupa di resistuire pezzi fisici di memoria all'allocatore
virtuale, che si occupa di gestire le pagine virtuali. L'allocatore
fisico è ovviamente una delle prime cose che vengono fatte girare dopo
il bootloader.
Una shared-memory (ossia memoria condivisa tra più processi, o tra
processo e kernel) viene costruita dal kernel prendendo della memoria
fisica e mappandola due o più volte su ogni processo che deve
accedervi.
Spero di essere stato chiaro anche se conciso, visto che l'argomento
non è dei più semplici da spiegare e di certo non è fattibile in poche
righe!
Ciao!

neonano ha scritto:

prego?

 Ciao!
grazie

 prego?
Secondo te una persona normale con un newsreader 
normale riesce a leggere l'oggetto in una email quando è
più lungo di due righe?
E secondo te una persona normale scrive una lettera sull'
esterno della busta mettendo nella stessa busta un 
bigliettino con sopra scritto: "Leggi l'esterno della busta"?
plonk

  ...
Tutto molto interessante e corretto ma non vedo quale
attinenza possa avere la tua risposta con la domanda. 


dal ringraziamento direi che la risposta è stata gradita. Se non ho
centrato basta rifare la domanda in maniera più chiara (e magari in un
NG dove non questa sia OT).
Ciao!

neonano ha scritto:

si ma cosa c'entra questo con le offese da Lei proferite alla mia persona?
Lei mi da del "coglione", senza che io abbia fatto nulla di male, 
probabilmente uno di noi due ha qualche problema, forse il mio è quello 
di usare male il newsreader, il suo invece di non comprendere 
determinati limiti di educazione nell'uso del linguaggio.
Adesso Le faccio io una domanda
Secondo Lei è più anormale il modo in cui io uso 'male' un 
newsreader...o Lei che del 'coglione' ad una persona, cosi' come se non 
fosse nulla di strano?
Scelga bene le Sue prossime parole, perchè non è che sono cosi' 
impegnato, da non potermi recare presso l'ufficio della Polizia Postale 
di zona, non dimentichi che un'offesa o una minaccia seppur lanciata in 
rete dietro uno pseudonimo...è sempre perseguibile.
Buona giornata