But, what is Virtual Memory?

  Рет қаралды 327,337

Tech With Nikola

Tech With Nikola

Күн бұрын

Пікірлер
@therelatableladka
@therelatableladka 9 ай бұрын
Hey if you are seeing this, let me tell you, this is the best video in KZbin if you want to understand the concept of virtual memory, and others in simple and sweet. Perfect! ❤ Edit: Coming back after long time. Writing a blog, and really needed an low level and mostly complete explanation of virtual memory. Also, following windows internals part-1 book. This video is still gold.
@TechWithNikola
@TechWithNikola 9 ай бұрын
Thank you! :)
@siegfriedbarfuss9379
@siegfriedbarfuss9379 8 ай бұрын
Not really. He forget that OS claims RAM too
@Chemest_a
@Chemest_a 7 ай бұрын
@@siegfriedbarfuss9379 3:54
@Hyp3r8Sniper
@Hyp3r8Sniper 7 ай бұрын
​​​​@@siegfriedbarfuss9379 Why is that relevant to this demonstration? You could just generalise an OS as another program? It's also shown at 3:58...
@viking420
@viking420 8 ай бұрын
Fantastic video. I'm taking a OS course at university and we have a virtual memory assignment. The hand out documents left me feeling confused and a bit lost, but then this 20-minute video made all concepts clear as day. Thank you for putting effort into making these videoes, you earned a new subscriber!
@TechWithNikola
@TechWithNikola 8 ай бұрын
I’m glad it was helpful. You’re welcome, and thank you for taking the time to comment.
@ddosan4108
@ddosan4108 4 ай бұрын
Start with the problem to understand the solution !!!!! Again and again I’ve seen explanation that detail the concepts without starting with the why. If you don’t understand the problem you’ll never truly get the solution. If you can’t put your finger on the problem… that’s the reason you’re having a hard time understanding. Don’t try to skip this step. Excellent job! Amazing video.
@TechWithNikola
@TechWithNikola 4 ай бұрын
Thanks a lot for taking the time to comment. It means a lot to hear from people that it was worth it! Exactly. I always like to start with the problem first. It makes everything much easier
@AvikNayak_
@AvikNayak_ 2 ай бұрын
because the people who are teaching you that way themselves have only memorised the concept.
@jansustar4565
@jansustar4565 Жыл бұрын
Thank you for the video. The explanation was clear, structured and concise, better than most other explanations on youtube.
@TechWithNikola
@TechWithNikola Жыл бұрын
Thanks a lot for the kind words and for taking the time to leave the comment. I'm so happy to hear that you've liked the video!
@BigBoiTurboslav
@BigBoiTurboslav 8 ай бұрын
Holy crap. KZbin algorithm finally came through. This is some amazing content.
@TechWithNikola
@TechWithNikola 8 ай бұрын
Thank you :-)
@jay_wright_thats_right
@jay_wright_thats_right 7 ай бұрын
Diet
@antoniofuller2331
@antoniofuller2331 7 ай бұрын
It sure did
@Roekelly-j3x
@Roekelly-j3x 5 ай бұрын
yooo W disco elysium pfp
@diegorodriguezv
@diegorodriguezv 7 ай бұрын
This is amazing! More detail than most Operating System courses in 20 minutes. Awestruck!
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thanks. Glad you think so! I’ll try to make more videos on similar topics in the future.
@TendresseExige
@TendresseExige 7 ай бұрын
This might be the best content I have found on KZbin this year. You explained these concepts in ways my teachers couldn’t, and you did it for free too ! You have my respect , and subscription haha !
@TechWithNikola
@TechWithNikola 7 ай бұрын
I’m so glad that you like my content. It means a lot to me when people leave comments and subscribe, so thank you.
@shubhamg9495
@shubhamg9495 28 күн бұрын
Videos like these are the only reason I cannot stop using KZbin. You are such a great explainer, dude!
@TechWithNikola
@TechWithNikola 28 күн бұрын
Thanks a lot! It means a lot to me when I receive such comments.
@dusanstojancevic-creativel5309
@dusanstojancevic-creativel5309 Жыл бұрын
Amazing explanation, always wanted to know core knowledge. Thanks, keep up with these videos!
@TechWithNikola
@TechWithNikola Жыл бұрын
Thank you Dusan. I'm glad you've enjoyed it :)
@adnaneachahbar287
@adnaneachahbar287 7 ай бұрын
I had a course back when i was in engineering school, the professor did a horrible job explaining memory and virtual memory, I ended up hating the class and i never really understood how it worked. until this day when I watched your video, you did an excellent job, I wish youtube had something like this before. Fast forward today, I work as a sysadmin/infra engineer and i really didn't have an idea how virtual memory works, again until I watched your video, thank you for the effort you put here, I am sure many will watch it and gain valuable informations.
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thank you for the comment. I’m glad you’ve found it useful!
@69k_gold
@69k_gold 8 ай бұрын
There's a quite good reason 4 KB is used as a standard page size. In most disk partitioning software the minimum data you can read/write to is 4KB, so it can move it in one swoop
@ethos8863
@ethos8863 8 ай бұрын
yeah i figured this was the reason and was wondering why he didn't say so
@TechWithNikola
@TechWithNikola 8 ай бұрын
Thanks. I didn’t know that. Do you have any material or references that provide motivation for 4KB page size? I read some articles that suggest it was chosen empirically long time ago, but I’d like to learn more about it.
@mc-not_escher
@mc-not_escher 7 ай бұрын
This is simply untrue if you grew up during the 80’s or 90’s (or, shoot, even later). Research something called a “filesystem”. Also while you’re at it, check out an article on “Solid State Drives” or “Flash Memory” or “NVRAM” if you’re wondering why 4K is the block size. 😂😂😂
@rodrigodoh
@rodrigodoh 7 ай бұрын
@@TechWithNikola They probably choose it because 0x1000 is pretty nice to type. ARM macs use 16kb pages I think.
@yaroslavpanych2067
@yaroslavpanych2067 7 ай бұрын
It has nothing to do with disc sector/cluster size, like at all. And yeah, 64 bit osses use 32k pages.
@IreshDissanayakaM
@IreshDissanayakaM Ай бұрын
At 8:12, can someone explain how does "one entry for every word" differ from "one entry for every virtual address" ? Are they the same? What does 2^32 addresses per each byte = 2^30 words mean? Edit on Sun Oct 27 01:22:37 PM +0530 2024: After some thinking and search, self understanding is, What's meant by "2^32 addresses per each byte" is each memory address holds 1 byte of actual data and, a word is 4 bytes (32 bits), So the CPU actually access 4 bytes of data at a time, therefore 4 memory locations at a time. So, 2^32 addresses (each addressing one byte / byte addressable) means 2^30 words (each addressing 4 bytes / word addressable). Therefore 2^30 entries not 2^32 entries because 1 entry per 4 addresses. ((2^32)/4)=2^30.
@austinmusiku778
@austinmusiku778 Ай бұрын
Thank you so much, sir. I was also struggling to wrap my head around where 2^30 came from.
@harshilldaggupati
@harshilldaggupati 9 ай бұрын
That's a very good, high quality production with a top notch explanation! Keep making more.
@TechWithNikola
@TechWithNikola 9 ай бұрын
Thanks :)
@dieelectrick1406
@dieelectrick1406 Ай бұрын
This is the single greatest explanation of virtual memory I've ever seen, thank you so much.
@HarshYadav-cy4it
@HarshYadav-cy4it 3 ай бұрын
I'm amazed at how someone can explain things with such clarity, just like you did. You just earned a subscriber. Thank you so much.
@ShaunYCheng
@ShaunYCheng 4 ай бұрын
Found your channel from KZbin recommendation. Nice work. Dude you have a huge overlap of interests as me. I was a math major and now a SW engineer for over 10 yrs, play chess, plays basketball, plays games (not sure what game you play but I mostly play an old game called StarCraft 2). I recently started to play soccer as well.
@TechWithNikola
@TechWithNikola 4 ай бұрын
Hey dude, nice to hear that. I’ve played SC2 a looot as well 😀 got to diamond 1 but never broke to masters…
@ShaunYCheng
@ShaunYCheng 4 ай бұрын
@@TechWithNikola nice! I always start the game with a cannon rush. Currently stuck in M2 for two years because of my mediocre apm. Considering how much time I spend on the game, I probably need a real StarCraft coach to break my current bottleneck. My two most watched genre of videos on KZbin are C++ stuff and StarCraft 2 games. Somehow they just feel comforting. I also feel that StarCraft 2 is like C++ and StarCraft 1 is like C programming. In SC 1 everything is so manual.
@TechWithNikola
@TechWithNikola 4 ай бұрын
@@ShaunYChengvery cool. I got stuck with sc2 when I had to keep up with all the build changes between seasons. I haven’t player in 5-6 years. I watch Rust videos lately, but I’ve used C++ the most throughout mu career :-)
@muhammedhalilovic8561
@muhammedhalilovic8561 Ай бұрын
Brat objasnio u 20 minuta content sa tri predavanja System Level Programiranja na faksu. Svaka cast!
@OhNoooooooooo
@OhNoooooooooo Жыл бұрын
Svaka cast burazeru. Ovo sam na faksu radio, ali si dosta bolje objasnio.
@TechWithNikola
@TechWithNikola Жыл бұрын
Hvala :) Drago mi je sto cujem da je dobro objasnjeno.
@subashs1884
@subashs1884 2 ай бұрын
At 10:00 the page 2 in both virtual memory and physical memory is 8kb instead of 4kb. This is the great explanation video right now!
@kristabellesarcon4191
@kristabellesarcon4191 4 ай бұрын
I need this resource for my OS assignment about virtual memory this week. So glad I find this video. This helps me understand the concept of virtual memory in 20 mins more than I have ever understand from the 20 chapters we have been task to read for 4 weeks now. LOL. Thank you for this.
@knode1993
@knode1993 Жыл бұрын
please never stop, really good video
@TechWithNikola
@TechWithNikola Жыл бұрын
Thank you! I'm glad you've enjoyed it. I'll keep making them for sure :)
@jamaluddin9158
@jamaluddin9158 Жыл бұрын
Wow! Clear, concise and very neat animations! Subscribing to a channel after a long time!
@TechWithNikola
@TechWithNikola Жыл бұрын
Thank you for the sub!
@yash-xx2pu
@yash-xx2pu 9 ай бұрын
the graphics really helped me visualize how this works! youre a lifesaver ^^
@TechWithNikola
@TechWithNikola 8 ай бұрын
I'm glad! Graphics are a great tool for explain IMO :-)
@godnyx117
@godnyx117 7 ай бұрын
​@@TechWithNikola It's not just your opinion. It's a FACT! Graphics for complicated ideas are a must! And thank you, your video was amazing!
@marwanradwan7727
@marwanradwan7727 7 ай бұрын
I wanna thank the youtube algorithm for recommending this video. This is absolute gem for explaining the Virtual Memory concept.
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thank you!
Жыл бұрын
An excellent, succint and illustrative explanation :)
@TechWithNikola
@TechWithNikola Жыл бұрын
Thanks a lot Andrej!
@clodomirvianna6350
@clodomirvianna6350 7 ай бұрын
Thank you for this amazing video! It's truly refreshing to encounter such well-scripted and nicely illustrated content. It makes really enjoyable trying to learn such complex concepts.
@myhandle370
@myhandle370 15 күн бұрын
Great video, brilliantly explaining the concept in details ! Thank you so much!
@hariomkuntal9520
@hariomkuntal9520 5 ай бұрын
Best explanation of virtual memory ever seen. Thanks for putting this together, you are awesome.
@omarbenjelloun5534
@omarbenjelloun5534 19 күн бұрын
Thank you very much! I finally understand how virtual memory works. If only university professors could be structured like this...
@antwanwimberly1729
@antwanwimberly1729 6 ай бұрын
Ahh…the swap file in Linux!!! I used to allocate a portion of my hard drive for swapping!! Wow!!! Such a refresher !!
@ashutoshvaidya
@ashutoshvaidya 4 ай бұрын
This is amazing. I am slowly realizing I am a visual learner. It was always hard to grasp content when it just a text. Worth a Sub... :)
@TechWithNikola
@TechWithNikola Ай бұрын
Thank you :)
@griesjm
@griesjm 3 ай бұрын
Brilliant videos with great explanations. You’re a natural when it comes to teaching
@huxinzhao3689
@huxinzhao3689 Жыл бұрын
11:38 I’m wondering when you copy the last 12bits to the physical memory, why the number changes from 0110 0111 1000 to 010110011110
@TechWithNikola
@TechWithNikola Жыл бұрын
Oh that’s a good catch! It’s a bug in the animation. Sorry about that. It should remain unchanged.
@huxinzhao3689
@huxinzhao3689 Жыл бұрын
@@TechWithNikola Thank you very much! Your videos are really helpful!!!
@tatigsarti
@tatigsarti 6 ай бұрын
The variety of content provided is much appreciated.
@boatengjeff
@boatengjeff 6 ай бұрын
wow!! never felt like a computer science before. learned a lot on this clip. keep them coming
@amj864
@amj864 Жыл бұрын
This is awesome, made things so clear to me. Thank you.
@TechWithNikola
@TechWithNikola Жыл бұрын
You're welcome. Glad it helped!
@soumendudedas4893
@soumendudedas4893 6 ай бұрын
This is the BEST explanation i have had about this topic. I am a newbie to such concepts and you have explained in such an elegant way. Liked n subbed
@RazDorNV
@RazDorNV 6 ай бұрын
the second part is a bit more complex but I love the visuals + explanation nonetheless. thanks for the effort put into making this one!
@danielabildgaard6137
@danielabildgaard6137 7 ай бұрын
Wow, I was really surprised! I was just relaxing on KZbin to fall asleep and came across your video. I thought it might be trash, but it turned out to be very good with excellent detail and explanation. Great job! Best video on youtube so fare 🎉🎉🎉
@jameslai322
@jameslai322 7 ай бұрын
Excellent description on how cpu/memory/os are working together! Well done!
@shadyabhi
@shadyabhi 29 күн бұрын
Thanks for the content. You really have a talent, keep this going.
@RichardCorongiu
@RichardCorongiu 7 ай бұрын
Im just sitting here fascinated...and it makes sense.. knowing just the basics... nice work...a dumb thing to say but this is relaxing...straight to the point ..ask a question ...then answer it... terrific
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thanks. I’m glad you like this style.
@penciltwirler5829
@penciltwirler5829 2 ай бұрын
thank you so much for this video! I'm learning about hugepages right now, and i wanted a recap on how normal pages work.
@threshhold8278
@threshhold8278 7 ай бұрын
This video is really good, the way that you simplified Virtual Memory is amazing!
@TechWithNikola
@TechWithNikola 7 ай бұрын
Glad it was helpful!
@vishalkarna3763
@vishalkarna3763 7 ай бұрын
Wonderful illustration of Virtual Memory. Good Job !
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thanks
@availableusernamesha
@availableusernamesha 6 ай бұрын
Good explanation and yes 4kb is the optimal size to move , its similar like why the size of a page node of a BTree in a database is of 1024 because its optimal for I/O. But I also would like to see the explanation of exactly what does MMU do here.
@agustin2881
@agustin2881 4 ай бұрын
great video. is it posible that there is a mistake in 11:39 when the animation copies the offset bits from the virtual adress to the physical adress? they arent the same first 12 bits
@TechWithNikola
@TechWithNikola 4 ай бұрын
Thanks :) Yeah, there is a mistake in the animation. Sorry about that.
@duduwe8071
@duduwe8071 7 ай бұрын
Great video ! I am preparing for my master degree and found this gold in KZbin. I believe I can ace my upcoming OS class. I have liked your video and subscribed to your channel. Thanks a lot for the video. Greatly appreciate it.
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thanks a lot for taking the time to comment, as well as like and sub. It means a lot to me. I’m glad that the video was helpful. Good luck with acing your classes!
@roz1
@roz1 14 күн бұрын
Such a Beautiful Explanation. Thanks a lot Man. This is the Best explanation, it removed all the confusions I had for the last 6 years on this OS chapter
@emeraldcn
@emeraldcn 5 ай бұрын
hi, what does 0x0010 in "2nd level entry" column mean at 19:28? it doesn't seem to be used in the process of finding the physical address.
@godnyx117
@godnyx117 7 ай бұрын
I have to words! That video is amazing! You won yourself a new subscriber, my friend! ❤
@TechWithNikola
@TechWithNikola 7 ай бұрын
Welcome aboard! I’m glad you’ve liked it, and thank you for taking the time to comment.
@godnyx117
@godnyx117 7 ай бұрын
@@TechWithNikola My pleasure! Have a lovely day!
@Ajay-zmngn
@Ajay-zmngn Ай бұрын
Correction - At 10:50, page size is 4kb(kilobytes) then last 15 bits(not 12 as mentioned in the video) of the both the Virtual address and the Physical Address should be the same. Otherwise, if you mean to be 12 then in the video you should say kilobits instead of kilobytes.
@bruceinraleigh9999
@bruceinraleigh9999 8 ай бұрын
Finally ... a proper explanation! I say this because countless self-made experts get it wrong. You see, Microsoft seems to have invented the misuse of the term "virtual memory" around the time of Windows 95. They used the term VM to describe what is really demand paging. Microsoft publications at the time did NOT make this mistake. (See Jeff Richter's excellent book describing the internals of Windows NT, published at the time.) But in the settings UI ... I guess "virtual memory" sounded more appealing to Microsoft than "demand paging". So they misused the term ... and misled generations of self-made CS people who subsequently grew up unaware of the misuse. They often claim that VM size can be adjusted. (It cannot be.) They believe that the disk swap/paging space is virtual memory. (It is not.) You see, virtual memory was created as a MAPPING PROCEDURE that solved the long-standing problem of mapping a program binary into the run-time address space of a computer. It was preceded by address space paging (remember the early 80x86 paging registers?). This was present in minicomputers as far back as the late 1960s. Paged memory was, in turn, preceded by run-time relocation ... a tedious run-time editing of a binary to "patch" all of the code addresses and data addresses within a program binary before execution could begin. VM is superior to both of those methods. Meanwhile some systems implemented something called swapping ... a predecessor of demand paging. When swapping, a program's ENTIRE memory consumption is swapped to disk to make way for another program. This mechanism allows the system to get around memory size limitations ... but it performs a lot of disk swapping! Demand paging goes one better by swapping only small blocks of memory. And even better, it loads only portions of a program when needed. No need to load an entire program when most of that program code won't be executed any time soon. It's all quite efficient. Virtual memory is not demand paging, and demand paging is not virtual memory. And you don't have to use VM with demand paging. And you don't have to use demand paging with VM. But the two appeared at a similar time in computing history ... and they work hand in hand to improve performance. So you always see both of them together. This video correctly presents a unified view of demand paged/virtual memory. Nice work!
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thanks a lot for taking to time to write such a good comment. I agree, and I’m also very happy to hear that this video met your expectations. Apologies for the late reply.
@tahir95soyalcom
@tahir95soyalcom 11 ай бұрын
Thank you for providing such valuable content. The examples you shared have greatly enhanced my understanding of the working principles of virtual memory.
@TechWithNikola
@TechWithNikola 11 ай бұрын
I’m very happy to hear that. Thank you for taking the time to comment.
@chopper3lw
@chopper3lw 8 ай бұрын
What an excellent overview. Nice job. It clarified a few things i was unclear about.
@TechWithNikola
@TechWithNikola 8 ай бұрын
Thanks a lot. Glad it clarified things :-)
@tomhekker
@tomhekker 8 ай бұрын
Thanks! You explained this better than any professor did when I was still in university. Much appreciated, will be sending this video to people who ask me about this 😅
@TechWithNikola
@TechWithNikola 7 ай бұрын
Glad to hear that you’ve found it useful, and thank you for sharing the video :-)
@impaglg
@impaglg 5 ай бұрын
Thank you very much for this video, it was very detailed and very well explained!
@SahilGupta-qc4jx
@SahilGupta-qc4jx 5 ай бұрын
you just earned a subscriber within a few minutes of this video!!
@Krishna-y5j6o
@Krishna-y5j6o 2 ай бұрын
Fantastic explanation expecting more videos from you🎉
@Usopper.D
@Usopper.D 11 ай бұрын
Wooow this video is awesome! Great work on the animations and examples 🤝😎
@TechWithNikola
@TechWithNikola 11 ай бұрын
Thank you so much! I'm glad to hear that you've liked it.
@MissPiggyM976
@MissPiggyM976 4 ай бұрын
Very time I watch it, I learn something new, many thanks!
@ryanpatel2001
@ryanpatel2001 3 ай бұрын
Great video. But I would like an explanation regarding the mapping of the physical translated hex value into binary - the hex to binary conversion doesn’t seem correct, even assuming a left or right 0 padding to fill in the extra 17th and 18th bit. Could you explain this please, thanks
@TechWithNikola
@TechWithNikola Ай бұрын
Hi, there is a mistake in animation in one part. I don't know if that's what you are referring to? When the offset is kept, I accidentally used wrong values for the final result.
@RamsesAldama
@RamsesAldama 9 ай бұрын
Great video. So you mention that physical address is the "memory RAM". You also mention the "page tables" are store in the "memory RAM" and how there are difference level of page tables and some can be store in disk. Is virtual memory also store in the "memory RAM"?. I know I have to rewatch this video and keep studying to fully understand and that I have gaps in my knowledge. So in a high level the OS has to do a mapping between virtual memory and page tables. And then between page tables and physical address? Thanks.
@TechWithNikola
@TechWithNikola 8 ай бұрын
Hi, apologies for the late response. So virtual memory on its own doesn’t exist really. It’s just a number, for example from 0 to 2^32-1. As such, it is not stored anywhere. It only becomes interesting when we talk about translating that number to its physical counterpart. This translation is stored in page tables, and page tables are stored in RAM. It you rewatch the video you will see the exact details on how the translation works, but in a nutshell the first part of the address is remapped via page tables, and the last 10 bits are copied (called an offset). The mapping is actually happening in the MMU (memory management unit) which you can think of as a small chip on the CPU. You are right that OS plays an important role, and specifically, OS programs the memory management unit and specifies how to do the mapping. Does that make sense?
@RamsesAldama
@RamsesAldama 8 ай бұрын
Yes, thanks for the reply
@maxsadler7231
@maxsadler7231 4 ай бұрын
18:03 would it not be 256 chunks? (4096 Pages / Chunk) x (256 Chunks) x (4096 Bytes / Page) = 2^32 Bytes ?
@XueYlva
@XueYlva 6 ай бұрын
absolute banger of a tech channel thanks, will watch again -IGN
@avivb4598
@avivb4598 7 ай бұрын
Thank god I found this gem before my exam!
@tylercoombs1
@tylercoombs1 7 ай бұрын
Dude, you're videos are so helpful, thanks so much!!!
@TechWithNikola
@TechWithNikola 7 ай бұрын
Glad you like them! Thanks for taking the time to comment.
@abraham4124
@abraham4124 2 ай бұрын
I don’t know to laugh, cry or to be mad. I had heard about the book What Makes it Page in this subject written by an unknown software engineer from Italy. Due to one of the cybersecurity researchers’ recommendation, I always wanted to learn this book. So, about more or less 3-4 days ago, I gave it a shot. After a couple of days into it, I can assert that the text could be written more cohesively and simply; however, the journey I started is kind of amazing. The harder it gets, the slower you get reading the text, the more enjoyable it becomes. I’m writing this not to say only that but about a dumb-looking guy who were reading with me. We spent HOURS to learn a chapter and now when I looked at him found out that he didn’t learn a piece of shirt!
@kamism770
@kamism770 8 ай бұрын
This is a very good, concise and clear explanation, please keep the work's up, I really enjoyed it : ) PS: can you make a video about how compression algorithms work?
@TechWithNikola
@TechWithNikola 8 ай бұрын
Glad to hear that, and you thank you for taking the time to comment. :-) Yeah, some compression algorithms are in my queue, but it will take a while before I get some free time to make them. Stay tuned!
@kamism770
@kamism770 7 ай бұрын
@@TechWithNikola I'll be waiting 4 sure :3
@samson10077
@samson10077 7 ай бұрын
Thank you for your high quality work. 👏👏👏
@ravisaraswat2452
@ravisaraswat2452 Ай бұрын
Hi @Tech With Nikola, Either your Virtual to Physical address calculations are wrongly animated OR the calculative number is wrong (0x4321678) at 11:48 time stamp with 30 bits. it should be like as shown => (00,0100,0011,0010,0001,0110,0111,1000) , but yours (0000,0100,0011,0010,0001,0110,0111,10), Wondering, if it depends on Endianness of the system, please let me know. Thanks !
@TechWithNikola
@TechWithNikola Ай бұрын
Hey, yeah, unfortunately I made a mistake in animation -- it used some old numbers when it moved. They are supposed to remain the same. This doesn't depend on Endianness of the system.
@bingtingwu8620
@bingtingwu8620 9 ай бұрын
Very clear! It helps a lot, thank you very much!😀
@TechWithNikola
@TechWithNikola 8 ай бұрын
You’re welcome! :-)
@nalanpandi5932
@nalanpandi5932 4 ай бұрын
Everything was nice thanks for your effort.But in multi paging,the first page table contains 1024 entries which maps to 1024 second page tables ,The address range for 1024 entries is 0x000 to 0x3FF
@iPhoneCyric
@iPhoneCyric Жыл бұрын
watched the first video in this channel, subbed!
@TechWithNikola
@TechWithNikola Жыл бұрын
Thank you for the sub. I'm so glad to hear that you've liked it!
@carloshenriquedesouzacoelho
@carloshenriquedesouzacoelho 7 ай бұрын
From Aritmetic concepts , the virtual memóry obeys bijective function (injective and surjective ) about Domain and Image . It is unbelievable !
@jamespilcher5287
@jamespilcher5287 7 ай бұрын
I've written some 6502 assembler for the BBC Master, where the most complicated it got was having to write to a memory-mapped hardware register to switch banks of RAM so that you can access 128Kb with a 16bit address bus. It's a bit mind-boggling to think about all this indirection that goes on in modern memory systems. All this back and forth would bring 8bit systems to their knees!
@waynehawkins654
@waynehawkins654 7 ай бұрын
This was great. I'm a bit lost (11:09 in) how virtual has 12 to 31 bits left and we somehow fit this in physical address that is 12 to 29. So we are missing 2 bits. What is happening with the last two bits. What did we do with it or are they ignored and we hit a limit of virtual because the size of the physical
@niter43
@niter43 4 ай бұрын
CPU/MMU doesn't do any kind of math to figure out physical address (so we're not cramming 20 bits in 18 somehow), it just does a look up in /page mapping table/ and gets one of: 1) **completely arbitrary** physical address that's points to start of that page 2) some special result to indicate "sorry, it was swapped to the disk", explained right after at 11:54 3) (?) some special result to indicate that page was never allocated by the program in the first place So there's no reason why physical address couldn't be shorter than virtual. If program uses all addressable virtual memory, then most pages in mapping table would contain 2nd case of "it's on disk" and OS would juggle them around as needed transparently to the program.
@shappp1
@shappp1 6 ай бұрын
that music player & video game example is hilarious to think about
@khalidhussien6764
@khalidhussien6764 4 ай бұрын
I don't get the Security problem, isn't one of the most important services of an Operating System is to not allow that scenario to even occur? Like Segmentation Faults(if I understand correctly...?).
@Keawydev
@Keawydev Ай бұрын
this is gold, thank you so much
@TheAluminus
@TheAluminus 7 ай бұрын
10:39 All pages are 4096 long except Pages 2, is that a correct?
@WhitEagle7
@WhitEagle7 5 ай бұрын
1:15 programs used to crash in 1950s? What programs?
@matepozzo
@matepozzo 11 ай бұрын
clear as water, thanks!
@TechWithNikola
@TechWithNikola 11 ай бұрын
Great to hear that :) Thank you!
@mostafam3701
@mostafam3701 2 ай бұрын
Thanks a lot about this simple explanation
@saravanasai2391
@saravanasai2391 Ай бұрын
Hey, that is a great explanation. I'd like to congratulate you on your work. Keep up the good work. Now I understand how computer memory works. I am trying to understand how the database works on saving the pages. How does the computer with 8GB ram can sort 10GB of data.
@ilushamain4740
@ilushamain4740 7 ай бұрын
Your explanations are amazing Thank you, I hope to see more
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thank you. Yeah, definitely, I’ll try to find some time to make more videos soon
@su5k
@su5k Жыл бұрын
is there a chance that a virtual page does not map to eithjer the disk or the physical page? what happens in that case? 12:45
@TechWithNikola
@TechWithNikola Жыл бұрын
Yes, that's technically possible. Virtual page doesn't really say the data is on DISK. Instead, it has a bit that says whether the mapping is valid or not, valid meaning it's somewhere in RAM. When it's invalid, the MMU will raise a page fault. For invalid mappings, the OS can use the remaining bits to store additional information that will help find the data on a device. It's up to the kernel to interpret these bits, which may mean the data is on SSD, USB flash, or somewhere else, and then load the data back into RAM. So we can use any device as a backing storage. Linux has a struct called swap_info which stores information about devices used for paging. Actually, it has an array of such structs, each identifying a device (potentially the same) and some metadata. Linux then uses PTEs to store an index into this array, as well as some other metadata. I'm not too familiar with the internals of how linux does this myself, but this is the general idea.
@prasenjit134
@prasenjit134 5 ай бұрын
When you are taking the 12 LSBs ( 0x678), and putting those 12 bits of offset, why are you removing bit 0 and 1?
@rohithbhandari7836
@rohithbhandari7836 8 ай бұрын
@12:17 He says cpu does not know how to read it from RAM should not it be Disk ?
@TechWithNikola
@TechWithNikola 8 ай бұрын
Good catch. I think that my intent was to say “CPU cannot read it from RAM” (because it’s not there), but you’re also right that CPU doesn’t know how to read it from disk
@charliesumorok6765
@charliesumorok6765 Жыл бұрын
1:00 Wouldn't the memory address wrap around and not crash immediately?
@TechWithNikola
@TechWithNikola Жыл бұрын
I don’t think so but I could be wrong. I guess it depends on the implementation details and I can see both being done during the time before virtual memory was a thing. In either case, neither behaviour is ideal. I would argue that crashing is potentially better than wraparound because it highlights a problem whereas wraparound would continue working with a potentially silent error. Have you come across any references that discuss this? I’m interested to learn more
@charliesumorok6765
@charliesumorok6765 Жыл бұрын
@@TechWithNikola Ben Eater's 65c02 based computer has the most significant address bit (A15) disconnected, causing a wraparound behavior.
@TechWithNikola
@TechWithNikola Жыл бұрын
Got it, thank you for that. I’ll read more about it.
@shubhambhardwaj6475
@shubhambhardwaj6475 2 ай бұрын
You're a blessing!
@badnaf207
@badnaf207 10 ай бұрын
bro you are amazing, love your energy
@TechWithNikola
@TechWithNikola 10 ай бұрын
Thanks. I appreciate that!
@farid8902
@farid8902 4 ай бұрын
Thank you for this videos , it is reali amazing❤
@soumyajitdas4433
@soumyajitdas4433 7 ай бұрын
Is Page Table update and TLB update treated as 1 atomic operation? If yes, how do we maintain atomicity? If no, how do we handle scenarios where the TLB has stale entry?
@krituos
@krituos 6 ай бұрын
Amazing video, wish I saw it while still in college 😊
@jimmy1681000
@jimmy1681000 7 ай бұрын
Wow, good video. Good job and thanks for sharing.
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thank you! You’re welcome.
@chaitanyaagrawal6534
@chaitanyaagrawal6534 7 ай бұрын
Can you also call a programm a process with threads etc. or are those two seperat things?
@Serhii_Volchetskyi
@Serhii_Volchetskyi 8 ай бұрын
0:35 As far as I understand, 4Gb of memory means less than 4Gb of RAM. CPU thinks that ROM and south bridge devices are memory as well.
@vinayak6564
@vinayak6564 4 ай бұрын
excellent explanation!! one doubt isn't the page table size 16MB as there 2^22 pages and we uses word size for each page. so 4*2^22 16MB?
@vinayak6564
@vinayak6564 4 ай бұрын
32MB considering map between virtual address and physical address
@Bagrat-III
@Bagrat-III 5 ай бұрын
Amazing explanation
What's Virtual Memory? - Computerphile
22:40
Computerphile
Рет қаралды 180 М.
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН
What is virtual memory? - Gary explains
11:28
Android Authority
Рет қаралды 316 М.
How GIT works under the HOOD?
16:01
Tech With Nikola
Рет қаралды 208 М.
Mastering Dynamic Programming - How to solve any interview problem (Part 1)
19:41
WHY IS THE HEAP SO SLOW?
17:53
Core Dumped
Рет қаралды 284 М.
16.2.2 Basics of Virtual Memory
12:20
MIT OpenCourseWare
Рет қаралды 52 М.
Why Are Threads Needed On Single Core Processors
16:07
Core Dumped
Рет қаралды 187 М.
How Cache Works Inside a CPU
9:20
BitLemon
Рет қаралды 25 М.
100+ Linux Things you Need to Know
12:23
Fireship
Рет қаралды 1,4 МЛН
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН