El Sun, 12 Nov 2000, escribiste:
> El S�b 11 Nov 2000 12:20, escribiste:
> > > Pero cuando ocurre un page fault sobre una p�gina de c�digo, de donde
> > > la levanta? Del archivo original, o del swap?
> >
> > Perdon la ignorancia si me equivoco , pero el kernel maneja un �rea cache
> > para esto que no es swap.
>
> Expandime �sto. Lo que yo digo es lo siguiente:
>
> Cuando se arranca un proceso con execve, puede iniciarse con s�lo 1 p�gina
> de c�digo, 1 p�gina de datos y 1 p�gina de pila, (creo), el resto se carga
> bajo demanda, es decir cuando se trata de referenciar una instrucci�n que
> no est� en memoria, el n�cleo carga la p�gina faltante y ah� prosigue la
> ejecuci�n. Se supone que, por tanto, si la carga del c�digo a partir del
> archivo ejecutable es progresiva, hay dos alternativas:
> Tener un locking sobre el archivo, como hace Windows.
> No tener locking sobre el archivo. Linux no lockea el archivo, lo cual es
> coherente con la sem�ntica tradicional de los fs de Unix (no?), pero �sto
> permitir�a hacer un desastre si cambio el archivo mientras est� corriendo,
> sin embargo no sucede.
>
> Ahora bien, est�s hablando de un cach� que no es parte del swap...
> Entonces, que es? :-) La verdad no tengo idea al respecto, si ten�s ganas
> de desburrarme, adelante.

Tengo entendido que un area de memoria funciona de cache para las partes del 
que tienen que bajarce a disco. Ahora bien, si esto es asi, un cambio en el 
archivo en el momento de ejecuci�n no altera al proceso que esta corriendo. 
De esta forma el cambio se realizara cuando se ejecute nuevamente el archivo 
y los datos que no estan cargados del proceso se toman del area cacheada.
Un proceso cuando se ejecuta no se mantiene toalmente en memoria, solo la 
parte necesaria, pero el resto tiene que estar protegida de alguna manera, si 
no un cambio mal realizado mataria al proceso, y esto en la practica no lo he 
visto.

Intuitivamente supongo que esto funciona as�. Puedo equivocarme ya que no lo 
he visto al 100 %.

Saludos.
-- 
--
Sebasti�n D. Criado - [EMAIL PROTECTED]
L.U.G.R.o - http://www.lugro.org.ar
Linux Registered User # 146768
-------------------------------------------------------------------
"Si el Universo fuera un programa estar�a hecho en C, y correr�a sobre
un sistema UNIX"
                                                   An�nimo.

                        

Responder a