It is also worthwhile to test that the system does what the documentation seems to imply it should do. Try mmap on a large file using different flags, see what happens when the file is cashed in main memory.
That is one method of implementing VM. There are multiple methods. Not all hardware has the came features which limits sometimes which techniques are used and can even force you to think outside the box which programmers should do anyway.
Great video, thanks. One question: when source is compiled & linked into an ELF file , this file doesn't have any virtual address but local offsets. So , I guess, someone and sometime translate those local offsets to virtual adresses . Is the code (.text, .data ) stored into real memory modified ( by someone ) with virtual address references ? Or code stored into real memory still has got offsets ?
(i am no expert, just writing what i just learned from web) * every process only "sees" virtual memory. * a static linked ELF contains no symbols and is ready to run with a fixed entry point address. * an ELF that uses dynamic libraries contains symbols and needs dynamic linking which is done by the loader ( ld-linux ) In my current Arch Linux the dynamic linker/loader ld-linux is: ld-linux-x86-64.so.2 coming from the glibc 2.36 library package. (it itself is a statically linked ELF executable)
It’s a joke that this is available online for free. Absolute gold. Love every minute!
Thank you for making these lectures FREE!!
wished my lecturers were like this. great one man, cheers
Thank you professor for these lectures.💌
Greetings from Brazil Chris, just wanna say thank you, you're really helping me :)
you might also want to watch "Tech Instance" th-cam.com/users/TechInstance
Boy, do I love when a native english speaker who actually knows the topic well presents a technical topic this well. Thanks for being you!
thanks I learned some things today again! (I knew this earlier but it's interesting every program or library exists as a file)
give "Tech Instance" a try too th-cam.com/users/TechInstance
Thank you, Chris, I learned a lot from you!
This is really good.
It is also worthwhile to test that the system does what the documentation seems to imply it should do.
Try mmap on a large file using different flags, see what happens when the file is cashed in main memory.
Wonderful explanations, thank you!
That is one method of implementing VM. There are multiple methods. Not all hardware has the came features which limits sometimes which techniques are used and can even force you to think outside the box which programmers should do anyway.
Waiting for the next video in this series 😁😁
I found Y/T channel "Tech Instance" helpful too th-cam.com/users/TechInstance
When someone on TH-cam compress your 4 hour lecture into 20mns :D
Great video, thanks. One question: when source is compiled & linked into an ELF file , this file doesn't have any virtual address but local offsets. So , I guess, someone and sometime translate those local offsets to virtual adresses . Is the code (.text, .data ) stored into real memory modified ( by someone ) with virtual address references ? Or code stored into real memory still has got offsets ?
(i am no expert, just writing what i just learned from web)
* every process only "sees" virtual memory.
* a static linked ELF contains no symbols and is ready to run with a fixed entry point address.
* an ELF that uses dynamic libraries contains symbols and needs dynamic linking which is done by the loader ( ld-linux )
In my current Arch Linux the dynamic linker/loader ld-linux is: ld-linux-x86-64.so.2 coming from the glibc 2.36 library package. (it itself is a statically linked ELF executable)
Thank you!
cool
this is so good
This vedio solve my confusion!
你好兄弟
Is it possible to use mmap which is huge pages backed ?
Yes, see the man page (MAP_HUGETLB and MAP_HUGE_2MB, etc)
where can i get the slides
0.75 speed is good.
LOL I used 1.5
how many weeks does this course last for?
It's a 15 week course - I put a link to the schedule in the description.