Buna.<br><br>Daca am inteles bine ce faci tu, as avea o observatie: in &#39;vinit&#39; ar trebui sa-ti rezervi tot spatiul ce va reprezenta memoria virtuala, apoi sa manipulezi acest spatiu la nivel de pagina, folosindu-te in principiu de &#39;mprotect&#39;.
<br>N-ar trebui sa faci &#39;unmap&#39; decat la sfarsit, in &#39;vend&#39;.<br><br>Catalina<br><br><div class="gmail_quote">On Jan 8, 2008 1:34 PM, Liviu Ciortea &lt;<a href="mailto:liviuefer@gmail.com">liviuefer@gmail.com
</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Salut!<br><br>Pe Linux nu am reusit sa fac tema intr-un mod 100% safe. &nbsp;Metoda mea
<br>este urmatoarea: fac o rezervare initiala a intregului spatiu de<br>adrese necesar, apoi cand este nevoie sa aloc o pagina noua sau sa<br>aduc una din swap, o leg de o pagina fizica din fisierul ce simuleaza<br>memoria RAM. &nbsp;Problema este ca unmap sterge toate maparile existente,
<br>inclusiv rezervarea corespunzatoare, deci este nevoie de o<br>&quot;re-rezervare&quot;. &nbsp;Aceasta metoda imi pare a fi mai degraba un hack,<br>nefiind safe. &nbsp;Nimic nu-mi garanteaza ca adresa respectiva ramane<br>disponibila intre cele doua apeluri (poate fi mapata, spre exemplu,
<br>intr-un alt thread). &nbsp;Intrebarea mea este, se poate inlocui secventa<br>de instructiuni munmap/mmap pentru a fi total safe?<br><br>Pe Windows, VirtualAlloc si secventa de flaguri MEM_RESERVE,<br>MEM_COMMIT, MEM_DECOMMIT si MEM_RELEASE asigura o rezolvare safe (cu
<br>toate ca aici nu mai leg efectiv pagina virtuala de pagina fizica si<br>ma bazez pe functia de sincronizare RAM ca sa actualizez fisierul<br>corespunzator).<br><br>Care este &quot;pozitia oficiala&quot; fata de acest aspect? &nbsp;Impresia mea este
<br>ca riguros vorbind, prima solutie nu este corecta in forma descrisa,<br>dar nu am gasit alta metoda de rezolvare.<br><font color="#888888"><br>Liviu Ciortea<br>_______________________________________________<br>so mailing list
<br><a href="mailto:so@cursuri.cs.pub.ro">so@cursuri.cs.pub.ro</a><br><a href="http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so" target="_blank">http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so</a><br></font></blockquote>
</div><br>