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.
@ECOMMUSK4 жыл бұрын
same here...
@sawyerbass46614 жыл бұрын
I've had the same experience. I'm amazed that professors are often so poor at actually teaching.
@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 Жыл бұрын
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!
@tkmushroomer5 жыл бұрын
This series on virtual memory is just so amazaingly put. It's incredible.
@carterliu41103 жыл бұрын
I have to say this is way better than my lecture in college
@rojaeswaran95615 жыл бұрын
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-md2pb5 жыл бұрын
Hey ISA means Industry standard Architecture bus only right. If it is still r we using ISA in PC's
@rojaeswaran95615 жыл бұрын
abhi shek Hey Abhi shek It means Instruction set architecture
@Abhishek-md2pb5 жыл бұрын
@@rojaeswaran9561 thank you brother
@apostolosmavropoulos1776 жыл бұрын
it took me a while to figure out you are using HEX-BCD represantation (silly me...)...now i finally get it thanks!
@infinicky2 жыл бұрын
Sir, you are a saint, thank you for this. My professors are better suited to research than teaching, unfortunately.
@avdd80 Жыл бұрын
Excellent series on virtual memory!! Very well explained.
@xploreHY6 жыл бұрын
Great job!!..I like your way of clarifying each and every topic..in simple . and understandible manner...
@morgard2114 жыл бұрын
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.
@Hentirion6 ай бұрын
maybe the teachers could just play these videos. the wheel doesn't need to be reinvented.
@swaminathbera_a1 Жыл бұрын
Thanks, really wanted to see go-through video for understanding. Amazing work
@robertcolvin51626 жыл бұрын
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.
@osagbemisunday4 жыл бұрын
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.
@undefBehav11 ай бұрын
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_7 жыл бұрын
This video is lagging unlike other videos... But content quality is still top notch ...
@Inspirtedmusic8 жыл бұрын
absolutely well thought out, well organized and explained. Thank you sir!
@cnikas8 жыл бұрын
Thank you so much I have been trying to figure this out for days.
@ssj4rit7 жыл бұрын
Oh my god dude you're a lifesaver, subscribed.
@赵伟昌9 жыл бұрын
I really appreciate your work! simple and clear
@inspirer44657 ай бұрын
Super well explained. Thanks.
@LeanBeefPattygoneDark4 жыл бұрын
thnak you so much man. thnK you so much !!! wish you t have a wonderful life
@kxiong40214 жыл бұрын
Thank you so much! You explained things really clear.
@danielbenisti36644 жыл бұрын
how do you know that the 204 is only 12 bits? 2:13
@junepaulcuajotor37774 жыл бұрын
yes same question please advice
@ismailkadrija37994 жыл бұрын
@@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.
@junepaulcuajotor37774 жыл бұрын
@@ismailkadrija3799 thank you
@bluex2179 жыл бұрын
So at 2:46 in the end was the PA 0006 or was it 0006204 ?
@marcelachapa10034 жыл бұрын
how did he get 0x0003204 for the first example of translating a virtual address? did he just pick that at random?
@adityagawali-ld3lt2 ай бұрын
If this translation is done in Hardware (MMU) why does a process (struct task_struct) hold a pointer to memory maps (struct mm) ?
@suneelabbigari2 жыл бұрын
Where this page table resides ?
@MyVip3r3 жыл бұрын
2:47 : Why the page offset is only the 204? and not like 3204 ? or 03204 ?? where do it come from?
@MyVip3r3 жыл бұрын
I only think that 204 is 3*4 = 12
@ohxmyxwowx5 жыл бұрын
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?
@pawanpikapin8 жыл бұрын
sir what does MAR send through databus physical address or logical
@jake53357 жыл бұрын
really excellent videos
@thlu3088 жыл бұрын
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.
@ImSaneperson3 жыл бұрын
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-hy1lm2rd9q6 ай бұрын
Really good video!
@ВладимирКазанцев-ц9т2 жыл бұрын
Hello. Is there a manual in Russian?
@AltafNeva1219 жыл бұрын
This was so simple and good explanation.... than what the heck is segment translation?
@nsanandkumarak2 жыл бұрын
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
@idontknow4723 жыл бұрын
Nice work. Thank you.
@sundarb66737 жыл бұрын
It was good , carry on with the rest! Thanks!!
@cl33757 жыл бұрын
Are the numbers 0x0003, 0x0004, 0x0006...0x00f6 arbitrary? would this be given information or is this the same information you will find always?
@thesickbeat6 жыл бұрын
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.
@mdlwlmdd2dwd304 жыл бұрын
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 Жыл бұрын
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
@dannydeveau8 жыл бұрын
Thanks for these! quite helpful
@Lisa-kk6go6 жыл бұрын
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-kk6go6 жыл бұрын
solved~
@shohidulhaque7592 жыл бұрын
great video.
@viveksharma10424 жыл бұрын
Nice review
@jimmy0008 жыл бұрын
why does the physical address only have 28bits and not 32bits?
@huanliu3587 жыл бұрын
see last video, it's an assumption. In order to demonstrate page fault (swap from disk).
@damejelyas6 жыл бұрын
watch Virtual Memory: 6 you will understand.
@damejelyas6 жыл бұрын
short answer because the RAM is only 255MB which needs only 28 bit to address
@muttakinahmed25066 жыл бұрын
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.
@nicolaszito45065 жыл бұрын
how do I know that 204 is 12 bits
@MurseGuy5 жыл бұрын
each number represents 4 bits
@jamesbotwina87445 жыл бұрын
amazing! thank you so much!
@UnconventionalPotato6 жыл бұрын
thanks 4 uploading!
@vortyx0908 жыл бұрын
Thanks, very nice
@LazarRedDevil959 жыл бұрын
You da real MVP
@ErenYaegerPhilosophy Жыл бұрын
4:04 it should be 64kb not 64kB 64kB is 19 bits.
@afrazsalim17488 жыл бұрын
nice video
@jihwan8166 жыл бұрын
Quality video
@alstarla Жыл бұрын
🎉
@jerryzhang71243 жыл бұрын
God's work ~
@mehdiip3 жыл бұрын
Thanks
@dungenwalkerr6193 жыл бұрын
Literally saved my ass.
@nat00414 жыл бұрын
yes....YES..... I AM A GOD NOW
@anvesh18917 жыл бұрын
thanks man
@OleguitoSwagbucks4 жыл бұрын
Oh-zum.
@Emmerie20086 жыл бұрын
Oscar Worthy
@mehdiip3 жыл бұрын
Aaa thanks
@TheSeiify9 жыл бұрын
I love you...
@TomtheS_AI7 жыл бұрын
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-schaffer2197 жыл бұрын
I'm sorry you found that distracting.
@TomtheS_AI7 жыл бұрын
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-schaffer2197 жыл бұрын
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!