[so] [Tema3][Linux] Probleme testele 4 și 5

Adrian Șendroiu molecula2788 at gmail.com
Tue Apr 16 15:45:39 EEST 2019


Salut,

Atât adresa (primul parametru) cât și offsetul trebuie să fie multipli
de pagină:

Din manual:

"MAP_FIXED: Don't interpret addr as a hint: place the mapping at
exactly that address.  addr must be a multiple of the page size."
respectiv
"offset must be a multiple of the page size as returned by
sysconf(_SC_PAGE_SIZE)"



On Tue, 16 Apr 2019 at 15:38, Paul-Stelian Olaru via so
<so at cursuri.cs.pub.ro> wrote:
>
> Nu văd unde specifică în acea pagină de manual că dimensiunea poate fi mai mică decât o pagină. Ba chiar, este imposibil ca mmap (sau echivalentul de pe orice sistem de operare cu memorie virtuală) să mapeze jumătăți de pagină – nu există suport hardware pentru așa ceva. mmap va mapa întotdeauna o pagină întreagă; tu folosește-l ca atare.
>
>
>
> Sent from Mail for Windows 10
>
>
>
> From: Valentin Mocanu via so
> Sent: Tuesday, April 16, 2019 3:35 PM
> To: so at cursuri.cs.pub.ro
> Subject: [so] [Tema3][Linux] Probleme testele 4 și 5
>
>
>
> Salut,
>
>
>
> Am niște probleme cu testele 4 și 5 și nu-mi dau seama ce se întâmplă.
>
> Am ales să încarc datele în memorie cu mmap. Conform [1], dacă folosim
>
> MAP_FIXED ar trebui să putem mapa date de dimensiune mai mică decât
>
> o pagină. În cazul bss, se poate apela mmap cu alți parametri.
>
>
>
> Am făcut debugging și paginile par populate corect.
>
> În cazul testului 4 execuția se termină cu SEGFAULT la adresa 0x28170000
>
> și nu am reușit să identific ce date ar trebui să fie la această adresă sau cine
>
> o citește/scrie.
>
> La testul 5 execuția se termină cu SEGFAULT la adresa 0x804a023 pe care
>
> ar fi trebuit să o prindă handler-ul, dar dintr-un motiv necunoscut mie, nu se
>
> întâmplă asta.
>
>
>
> [1]: http://man7.org/linux/man-pages/man2/mmap.2.html
>
>
>
> Mulțumesc!
>
>
>
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii


More information about the so mailing list