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.
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.
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!
wished my lecturers were like this. great one man, cheers
Greetings from Brazil Chris, just wanna say thank you, you're really helping me :)
you might also want to watch "Tech Instance" ua-cam.com/users/TechInstance
Thank you for making these lectures FREE!!
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 ua-cam.com/users/TechInstance
Thank you, Chris, I learned a lot from you!
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.
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.
Waiting for the next video in this series 😁😁
I found Y/T channel "Tech Instance" helpful too ua-cam.com/users/TechInstance
When someone on UA-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
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!
this is so good
Is it possible to use mmap which is huge pages backed ?
Yes, see the man page (MAP_HUGETLB and MAP_HUGE_2MB, etc)
This vedio solve my confusion!
你好兄弟
how many weeks does this course last for?
It's a 15 week course - I put a link to the schedule in the description.
where can i get the slides
0.75 speed is good.
LOL I used 1.5