Virtual Memory: 7 Address Translation Example Walkthrough

  Рет қаралды 258,234

David Black-Schaffer

David Black-Schaffer

Күн бұрын

Пікірлер: 94
@unigraz1493
@unigraz1493 5 жыл бұрын
I love you man. And I mean this. I had like 3 professors and 6 tutors try to explain who virtual memory works and I didn't get it. So naturally, I assumed I was slow. And after watching your virtual memory playlist I finally get it. And it's so simple. Thank you for doing this.
@ECOMMUSK
@ECOMMUSK 4 жыл бұрын
same here...
@sawyerbass4661
@sawyerbass4661 4 жыл бұрын
I've had the same experience. I'm amazed that professors are often so poor at actually teaching.
@ale-hl8pg
@ale-hl8pg Жыл бұрын
Similar experience 2 years later, I always thought I was way too dumb for this topic but this entire series literally explained it and alleviated most of the questions I had for the topic
@brandon.duffany
@brandon.duffany Жыл бұрын
I am a software engineer trying to refresh myself on how this stuff works, after having not really grasped it very strongly back when I was in college. This lecture series makes it *super* easy to understand. Thank you!
@tkmushroomer
@tkmushroomer 5 жыл бұрын
This series on virtual memory is just so amazaingly put. It's incredible.
@carterliu4110
@carterliu4110 3 жыл бұрын
I have to say this is way better than my lecture in college
@rojaeswaran9561
@rojaeswaran9561 5 жыл бұрын
Never did I know ISA uses virtual memory until I watch your video and so were my friends. My professor would always say, "If you don't know how to explain to others what you learned, then you really don't understand things clearly", I admire your way of explaining the concepts very elegantly, thank you :)
@Abhishek-md2pb
@Abhishek-md2pb 5 жыл бұрын
Hey ISA means Industry standard Architecture bus only right. If it is still r we using ISA in PC's
@rojaeswaran9561
@rojaeswaran9561 5 жыл бұрын
abhi shek Hey Abhi shek It means Instruction set architecture
@Abhishek-md2pb
@Abhishek-md2pb 5 жыл бұрын
@@rojaeswaran9561 thank you brother
@apostolosmavropoulos177
@apostolosmavropoulos177 6 жыл бұрын
it took me a while to figure out you are using HEX-BCD represantation (silly me...)...now i finally get it thanks!
@infinicky
@infinicky 2 жыл бұрын
Sir, you are a saint, thank you for this. My professors are better suited to research than teaching, unfortunately.
@avdd80
@avdd80 Жыл бұрын
Excellent series on virtual memory!! Very well explained.
@xploreHY
@xploreHY 6 жыл бұрын
Great job!!..I like your way of clarifying each and every topic..in simple . and understandible manner...
@morgard211
@morgard211 4 жыл бұрын
Imagine, you're a professor and you studied teaching for years, yet you can't do that one single job, you terribly suck at it but you don't care - they won't do anything to you as long as you show up and "teach". Than this guy shows up and absolutely nails it, actually doing the job we're paying the professor to do. Having to sit through it in the school and then finally learning it on KZbin is wasting our energy, time and money which could've been better spent giving it to KZbin tutors who do almost all the work. The education system is funny.
@Hentirion
@Hentirion 6 ай бұрын
maybe the teachers could just play these videos. the wheel doesn't need to be reinvented.
@swaminathbera_a1
@swaminathbera_a1 Жыл бұрын
Thanks, really wanted to see go-through video for understanding. Amazing work
@robertcolvin5162
@robertcolvin5162 6 жыл бұрын
Great video, subscribed. Only thing I would have done differently would be to explain how you got the number of offset bits when you first mentioned it rather than at the end. I wasted time pausing the video and researching when you explained it easily at the end! Regardless, very clear and easy tutorial.
@osagbemisunday
@osagbemisunday 4 жыл бұрын
Thank you, David, for these tutorials. I will assume some of the values are arbitrary values, for example, how did you decide the page offset or how does a 12bits equal 783? Correction on how to find decide offset 3:57: To find offset, I assume from the videos that you need to convert the page size to byte then find the bits. Also, the 3 least significant bits of the hex is 12 bits, this makes 12 bits equal 783 in the example.
@undefBehav
@undefBehav 11 ай бұрын
You don't need to convert the page size to bytes at all. If you assume each page holds 4kiB of data, that means it can address a total of 4096 bytes in memory. You can count from 0 to 4095 using 12 bits in binary, and 3 digits in hexadecimal. That's why we're interested in the least significant 3 digits to figure out the page offset.
@igniculus_
@igniculus_ 7 жыл бұрын
This video is lagging unlike other videos... But content quality is still top notch ...
@Inspirtedmusic
@Inspirtedmusic 8 жыл бұрын
absolutely well thought out, well organized and explained. Thank you sir!
@cnikas
@cnikas 8 жыл бұрын
Thank you so much I have been trying to figure this out for days.
@ssj4rit
@ssj4rit 7 жыл бұрын
Oh my god dude you're a lifesaver, subscribed.
@赵伟昌
@赵伟昌 9 жыл бұрын
I really appreciate your work! simple and clear
@inspirer4465
@inspirer4465 7 ай бұрын
Super well explained. Thanks.
@LeanBeefPattygoneDark
@LeanBeefPattygoneDark 4 жыл бұрын
thnak you so much man. thnK you so much !!! wish you t have a wonderful life
@kxiong4021
@kxiong4021 4 жыл бұрын
Thank you so much! You explained things really clear.
@danielbenisti3664
@danielbenisti3664 4 жыл бұрын
how do you know that the 204 is only 12 bits? 2:13
@junepaulcuajotor3777
@junepaulcuajotor3777 4 жыл бұрын
yes same question please advice
@ismailkadrija3799
@ismailkadrija3799 4 жыл бұрын
@@junepaulcuajotor3777 Each digit of a hexadecimal number can be represented by 4 digit of a binary number. Just look up the conversion from hexadecimal to binary. In our case 204 is the hexadecimal number so for 2 we write -0010 for 0-0000 and for 4-0100 so 204(hexadecimal)=0010 0000 0100(binary) thus we need 12bits.
@junepaulcuajotor3777
@junepaulcuajotor3777 4 жыл бұрын
@@ismailkadrija3799 thank you
@bluex217
@bluex217 9 жыл бұрын
So at 2:46 in the end was the PA 0006 or was it 0006204 ?
@marcelachapa1003
@marcelachapa1003 4 жыл бұрын
how did he get 0x0003204 for the first example of translating a virtual address? did he just pick that at random?
@adityagawali-ld3lt
@adityagawali-ld3lt 2 ай бұрын
If this translation is done in Hardware (MMU) why does a process (struct task_struct) hold a pointer to memory maps (struct mm) ?
@suneelabbigari
@suneelabbigari 2 жыл бұрын
Where this page table resides ?
@MyVip3r
@MyVip3r 3 жыл бұрын
2:47 : Why the page offset is only the 204? and not like 3204 ? or 03204 ?? where do it come from?
@MyVip3r
@MyVip3r 3 жыл бұрын
I only think that 204 is 3*4 = 12
@ohxmyxwowx
@ohxmyxwowx 5 жыл бұрын
How can there be a page offset value when a VA translates to disk? With the example 0x00000783, the 0x00000 part in the PT lets us know that the data is in memory, but then there's still there 783 page offset. How do we know where this offset is in disk?
@pawanpikapin
@pawanpikapin 8 жыл бұрын
sir what does MAR send through databus physical address or logical
@jake5335
@jake5335 7 жыл бұрын
really excellent videos
@thlu308
@thlu308 8 жыл бұрын
You have a talent for making complex concepts simple. I wish you were my professor back in college. Thanks for sharing your knowledge with us! However, I am a bit confused about this example. Is it common to have the virtual address size less than the physical address size? Why wouldn't I just reduce my virtual address space to be the same as the physical address in that case? I can never access more addresses than physically available.
@ImSaneperson
@ImSaneperson 3 жыл бұрын
you still need Virtual memory as there maybe processes loaded into the RAM , yet you need to load one more Process in the RAM , but your RAM is exhausted right, so you can't load any more processes in it. Here comes the need of Virtual Memory. True that if a single process is running you don't need virtual memory .
@user-hy1lm2rd9q
@user-hy1lm2rd9q 6 ай бұрын
Really good video!
@ВладимирКазанцев-ц9т
@ВладимирКазанцев-ц9т 2 жыл бұрын
Hello. Is there a manual in Russian?
@AltafNeva121
@AltafNeva121 9 жыл бұрын
This was so simple and good explanation.... than what the heck is segment translation?
@nsanandkumarak
@nsanandkumarak 2 жыл бұрын
Hi David , you explained very well, firstly Thank you so much I have an doubt , who is deciding that in page table, some portion of page should be in RAM and remaining should be in DISK . and based on what ? Thanks, Follower
@idontknow472
@idontknow472 3 жыл бұрын
Nice work. Thank you.
@sundarb6673
@sundarb6673 7 жыл бұрын
It was good , carry on with the rest! Thanks!!
@cl3375
@cl3375 7 жыл бұрын
Are the numbers 0x0003, 0x0004, 0x0006...0x00f6 arbitrary? would this be given information or is this the same information you will find always?
@thesickbeat
@thesickbeat 6 жыл бұрын
They are arbitrary, that's the whole point behind virtual memory. You create a layer of indirection, so that the physical memory does not correspond to the virtual memory. The page table maps a virtual page (chunk of memory) to a physical page. So virtual page 0x00000 can map to any physical page that the page table wants to point to.
@mdlwlmdd2dwd30
@mdlwlmdd2dwd30 4 жыл бұрын
how does 64k become 2^16 bits? I just would like to know how it is calculated. byte=8 bits and kb=8000bits 64kb= 64*8000bits=512,000bits? just little confused in this coversion
@stevenlynch3456
@stevenlynch3456 Жыл бұрын
64k = 64KiB = 64*2^10 Bytes = 2^6*2^10 Bytes = 2^16 Bytes. Taking log_base2(2^16), you get 16 bits needed to address every individual byte. Yes, one byte is always equal to 8 bits. Though 1 kB (not kb as you said, which is kilobits and not kiloBytes) equals 8000 bits, he actually means kiB (kibiBytes). Oftentimes, when somebody uses "kB" or "KB" (kiloBytes), they actually mean "kiB" or "KiB" (kibiBytes). Kilo, Mega, Giga, Tera, ... use powers of ten but -ibiBytes or -ebiBytes use powers of 2: KiloByte = 10^3 Bytes. MegaByte = Kilo of KiloBytes = 10^3 * 10^3 Bytes = 10^6 Bytes = 1Million Bytes KibiByte = 2^10 Bytes, MebiByte = Kibi of KibiBytes = 2^10 Bytes * 2^10 Bytes = 2^20 Bytes
@dannydeveau
@dannydeveau 8 жыл бұрын
Thanks for these! quite helpful
@Lisa-kk6go
@Lisa-kk6go 6 жыл бұрын
Someone help~ Do we only have 2^8 entries for the page table(2^8=2^20/2^12)? But in the graph, we have 0xfffff entries.
@Lisa-kk6go
@Lisa-kk6go 6 жыл бұрын
solved~
@shohidulhaque759
@shohidulhaque759 2 жыл бұрын
great video.
@viveksharma1042
@viveksharma1042 4 жыл бұрын
Nice review
@jimmy000
@jimmy000 8 жыл бұрын
why does the physical address only have 28bits and not 32bits?
@huanliu358
@huanliu358 7 жыл бұрын
see last video, it's an assumption. In order to demonstrate page fault (swap from disk).
@damejelyas
@damejelyas 6 жыл бұрын
watch Virtual Memory: 6 you will understand.
@damejelyas
@damejelyas 6 жыл бұрын
short answer because the RAM is only 255MB which needs only 28 bit to address
@muttakinahmed2506
@muttakinahmed2506 6 жыл бұрын
Can anyone help me out, what will be the number of entries in a page table for a vm of MIPS with 8KB of Page size.
@nicolaszito4506
@nicolaszito4506 5 жыл бұрын
how do I know that 204 is 12 bits
@MurseGuy
@MurseGuy 5 жыл бұрын
each number represents 4 bits
@jamesbotwina8744
@jamesbotwina8744 5 жыл бұрын
amazing! thank you so much!
@UnconventionalPotato
@UnconventionalPotato 6 жыл бұрын
thanks 4 uploading!
@vortyx090
@vortyx090 8 жыл бұрын
Thanks, very nice
@LazarRedDevil95
@LazarRedDevil95 9 жыл бұрын
You da real MVP
@ErenYaegerPhilosophy
@ErenYaegerPhilosophy Жыл бұрын
4:04 it should be 64kb not 64kB 64kB is 19 bits.
@afrazsalim1748
@afrazsalim1748 8 жыл бұрын
nice video
@jihwan816
@jihwan816 6 жыл бұрын
Quality video
@alstarla
@alstarla Жыл бұрын
🎉
@jerryzhang7124
@jerryzhang7124 3 жыл бұрын
God's work ~
@mehdiip
@mehdiip 3 жыл бұрын
Thanks
@dungenwalkerr619
@dungenwalkerr619 3 жыл бұрын
Literally saved my ass.
@nat0041
@nat0041 4 жыл бұрын
yes....YES..... I AM A GOD NOW
@anvesh1891
@anvesh1891 7 жыл бұрын
thanks man
@OleguitoSwagbucks
@OleguitoSwagbucks 4 жыл бұрын
Oh-zum.
@Emmerie2008
@Emmerie2008 6 жыл бұрын
Oscar Worthy
@mehdiip
@mehdiip 3 жыл бұрын
Aaa thanks
@TheSeiify
@TheSeiify 9 жыл бұрын
I love you...
@TomtheS_AI
@TomtheS_AI 7 жыл бұрын
I am listening to​ 2x speed and it's mind-numbing how you just keep saying the same thing over, and over, and over...
@davidblack-schaffer219
@davidblack-schaffer219 7 жыл бұрын
I'm sorry you found that distracting.
@TomtheS_AI
@TomtheS_AI 7 жыл бұрын
David Black-Schaffer No, I should be apologizing. I had been studying for 4 days straight when I made that comment. I think a bunch of people get some great knowledge from your videos, thanks for taking the time to make them and share your knowledge. I got what I needed from your video and then for some reason felt the need to criticize you just because your teaching style isn’t what my ADHD brain likes but honestly probably needs. Repetition helps people remember and understand. Sorry I was so rude. Again, thanks for this video.
@davidblack-schaffer219
@davidblack-schaffer219 7 жыл бұрын
That was a very kind reply. Thank you for taking the time to write. Your comment is, however, dead-on. Unfortunately I find that in-class students struggle with these concepts even after having seen them repeatedly. (So clearly repeating it over and over isn't the solution.) Cheers!
@ahmadbelhaj1756
@ahmadbelhaj1756 7 жыл бұрын
stop repeating your self too much
@davidblack-schaffer219
@davidblack-schaffer219 7 жыл бұрын
Ahmad, I'm sorry you found that distracting.
@brightontandabantu
@brightontandabantu 3 жыл бұрын
@@davidblack-schaffer219 Found it helpful!
Virtual Memory: 8 Page Faults
6:31
David Black-Schaffer
Рет қаралды 183 М.
Virtual Memory: 6 Address Translation
7:34
David Black-Schaffer
Рет қаралды 373 М.
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 44 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 25 МЛН
Virtual Memory: 11 TLB Example
4:26
David Black-Schaffer
Рет қаралды 259 М.
What is virtual memory? - Gary explains
11:28
Android Authority
Рет қаралды 315 М.
Paging (OS)
29:12
Casey Cole
Рет қаралды 86 М.
How to STUDY so FAST it feels like CHEATING
8:03
The Angry Explainer
Рет қаралды 2,2 МЛН
CO51 - Logical to physical address translation
22:09
EZCSE
Рет қаралды 11 М.
16.2.2 Basics of Virtual Memory
12:20
MIT OpenCourseWare
Рет қаралды 51 М.
But, what is Virtual Memory?
20:11
Tech With Nikola
Рет қаралды 323 М.
What's Virtual Memory? - Computerphile
22:40
Computerphile
Рет қаралды 180 М.
Virtual Memory: 13 TLBs and Caches
8:00
David Black-Schaffer
Рет қаралды 146 М.
How a Clever 1960s Memory Trick Changed Computing
20:05
LaurieWired
Рет қаралды 450 М.
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19