But, what is Virtual Memory?

  Рет қаралды 206,272

Tech With Nikola

Tech With Nikola

Күн бұрын

🎬 Introduction to Virtual Memory 🎬
Let's dive into the world of virtual memory, which is a common memory management technique used in computer's operating system. It sits at the boundary of software and hardware, and it's the main reason why we can play video games and listen to the music at the same time without worrying about spotify crashing our Diablo 4.
🔑 Key Topics discussed in the video
📌 Understand the problems
📌 Understand the core principles behind virtual memory and how it solves these problems
📌 Understand how virtual memory is implemented
📌 Discuss various optimization techniques
🚀 If you found this video helpful, don't forget to like, share, and subscribe for more tech tutorials!
🔗 If you enjoy this video, please like, share, and subscribe for more enlightening tutorials.
📖 The Linux Programming Interface: Must read book about Linux kernel (affiliate link): www.amazon.com/Linux-Programm...
🌐 SiteGround: the hosting solution I like (affiliate link): www.siteground.com/index.htm?...
🔗 Connect with me:
Support me on patreon: / techwithnikola
LinkedIn: / nikola-stojiljkovic-67...
Join my discord: / discord
Visit my blog: techwithnikola.com
Follow me on Instagram: / techwithnikola
Follow me on Twitter: / techwithnikola
Timecodes
00:00 - Intro
00:19 - Problem: Not Enough Memory
01:17 - Problem: Memory Fragmentation
02:20 - Problem: Security
03:10 - Key Problem
04:42 - Solution: Not Enough Memory
05:58 - Solution: Memory Fragmentation
06:32 - Solution: Security
07:30 - Virtual Memory Implementation
09:49 - Page Table
10:40 - Example: Address Translation
11:54 - Page Faults
13:28 - Recap
14:18 - Translation Lookaside Buffer (TLB)
15:46 - Example: Address Translation with TLB
16:57 - Multi-Level Page Tables
18:48 - Example: Address Translation with Multi-Level Page Tables
19:58 - Outro

Пікірлер: 240
@therelatableladka
@therelatableladka 3 ай бұрын
Hey if you are seeing this, let me tell you, this is the best video in KZfaq if you want to understand the concept of virtual memory, and others in simple and sweet. Perfect! ❤
@TechWithNikola
@TechWithNikola 3 ай бұрын
Thank you! :)
@siegfriedbarfuss9379
@siegfriedbarfuss9379 Ай бұрын
Not really. He forget that OS claims RAM too
@Chemest_a
@Chemest_a Ай бұрын
@@siegfriedbarfuss9379 3:54
@Hyp3r8Sniper
@Hyp3r8Sniper Ай бұрын
​​​​@@siegfriedbarfuss9379 Why is that relevant to this demonstration? You could just generalise an OS as another program? It's also shown at 3:58...
@BigBoiTurboslav
@BigBoiTurboslav Ай бұрын
Holy crap. KZfaq algorithm finally came through. This is some amazing content.
@TechWithNikola
@TechWithNikola Ай бұрын
Thank you :-)
@jay_wright_thats_right
@jay_wright_thats_right 25 күн бұрын
Diet
@antoniofuller2331
@antoniofuller2331 22 күн бұрын
It sure did
@viking420
@viking420 2 ай бұрын
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 Ай бұрын
I’m glad it was helpful. You’re welcome, and thank you for taking the time to comment.
@jansustar4565
@jansustar4565 7 ай бұрын
Thank you for the video. The explanation was clear, structured and concise, better than most other explanations on youtube.
@TechWithNikola
@TechWithNikola 7 ай бұрын
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!
@69k_gold
@69k_gold Ай бұрын
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 Ай бұрын
yeah i figured this was the reason and was wondering why he didn't say so
@TechWithNikola
@TechWithNikola Ай бұрын
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 Ай бұрын
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 Ай бұрын
@@TechWithNikola They probably choose it because 0x1000 is pretty nice to type. ARM macs use 16kb pages I think.
@yaroslavpanych2067
@yaroslavpanych2067 24 күн бұрын
It has nothing to do with disc sector/cluster size, like at all. And yeah, 64 bit osses use 32k pages.
@diegorodriguezv
@diegorodriguezv Ай бұрын
This is amazing! More detail than most Operating System courses in 20 minutes. Awestruck!
@TechWithNikola
@TechWithNikola Ай бұрын
Thanks. Glad you think so! I’ll try to make more videos on similar topics in the future.
@ThePsychoMessiah
@ThePsychoMessiah Ай бұрын
"Programs used to crash in the 1950s or so"? Calm down, it hasn't been that long since Windows XP would ask you to "send an error report".
@TendresseExige
@TendresseExige Ай бұрын
This might be the best content I have found on KZfaq 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 Ай бұрын
I’m so glad that you like my content. It means a lot to me when people leave comments and subscribe, so thank you.
@adnaneachahbar287
@adnaneachahbar287 Ай бұрын
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 Ай бұрын
Thank you for the comment. I’m glad you’ve found it useful!
@dusanstojancevic-creativel5309
@dusanstojancevic-creativel5309 7 ай бұрын
Amazing explanation, always wanted to know core knowledge. Thanks, keep up with these videos!
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thank you Dusan. I'm glad you've enjoyed it :)
@clodomirvianna6350
@clodomirvianna6350 Ай бұрын
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.
@jameslai322
@jameslai322 Ай бұрын
Excellent description on how cpu/memory/os are working together! Well done!
@harshilldaggupati
@harshilldaggupati 3 ай бұрын
That's a very good, high quality production with a top notch explanation! Keep making more.
@TechWithNikola
@TechWithNikola 3 ай бұрын
Thanks :)
@marwanradwan7727
@marwanradwan7727 Ай бұрын
I wanna thank the youtube algorithm for recommending this video. This is absolute gem for explaining the Virtual Memory concept.
@TechWithNikola
@TechWithNikola Ай бұрын
Thank you!
@jamaluddin9158
@jamaluddin9158 7 ай бұрын
Wow! Clear, concise and very neat animations! Subscribing to a channel after a long time!
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thank you for the sub!
@danielabildgaard6137
@danielabildgaard6137 27 күн бұрын
Wow, I was really surprised! I was just relaxing on KZfaq 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 🎉🎉🎉
@soumendudedas4893
@soumendudedas4893 19 күн бұрын
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
@antwanwimberly1729
@antwanwimberly1729 10 күн бұрын
Ahh…the swap file in Linux!!! I used to allocate a portion of my hard drive for swapping!! Wow!!! Such a refresher !!
@knode1993
@knode1993 7 ай бұрын
please never stop, really good video
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thank you! I'm glad you've enjoyed it. I'll keep making them for sure :)
@threshhold8278
@threshhold8278 Ай бұрын
This video is really good, the way that you simplified Virtual Memory is amazing!
@TechWithNikola
@TechWithNikola Ай бұрын
Glad it was helpful!
7 ай бұрын
An excellent, succint and illustrative explanation :)
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thanks a lot Andrej!
@yash-xx2pu
@yash-xx2pu 3 ай бұрын
the graphics really helped me visualize how this works! youre a lifesaver ^^
@TechWithNikola
@TechWithNikola Ай бұрын
I'm glad! Graphics are a great tool for explain IMO :-)
@godnyx117
@godnyx117 Ай бұрын
​@@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!
@chopper3lw
@chopper3lw Ай бұрын
What an excellent overview. Nice job. It clarified a few things i was unclear about.
@TechWithNikola
@TechWithNikola Ай бұрын
Thanks a lot. Glad it clarified things :-)
@samson10077
@samson10077 22 күн бұрын
Thank you for your high quality work. 👏👏👏
@tylercoombs1
@tylercoombs1 Ай бұрын
Dude, you're videos are so helpful, thanks so much!!!
@TechWithNikola
@TechWithNikola Ай бұрын
Glad you like them! Thanks for taking the time to comment.
@amj864
@amj864 7 ай бұрын
This is awesome, made things so clear to me. Thank you.
@TechWithNikola
@TechWithNikola 7 ай бұрын
You're welcome. Glad it helped!
@Usopper.D
@Usopper.D 5 ай бұрын
Wooow this video is awesome! Great work on the animations and examples 🤝😎
@TechWithNikola
@TechWithNikola 5 ай бұрын
Thank you so much! I'm glad to hear that you've liked it.
@OhNoooooooooo
@OhNoooooooooo 7 ай бұрын
Svaka cast burazeru. Ovo sam na faksu radio, ali si dosta bolje objasnio.
@TechWithNikola
@TechWithNikola 7 ай бұрын
Hvala :) Drago mi je sto cujem da je dobro objasnjeno.
@shappp1
@shappp1 13 күн бұрын
that music player & video game example is hilarious to think about
@duduwe8071
@duduwe8071 Ай бұрын
Great video ! I am preparing for my master degree and found this gold in KZfaq. 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 Ай бұрын
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!
@bingtingwu8620
@bingtingwu8620 2 ай бұрын
Very clear! It helps a lot, thank you very much!😀
@TechWithNikola
@TechWithNikola Ай бұрын
You’re welcome! :-)
@vishalkarna3763
@vishalkarna3763 Ай бұрын
Wonderful illustration of Virtual Memory. Good Job !
@TechWithNikola
@TechWithNikola Ай бұрын
Thanks
@godnyx117
@godnyx117 Ай бұрын
I have to words! That video is amazing! You won yourself a new subscriber, my friend! ❤
@TechWithNikola
@TechWithNikola Ай бұрын
Welcome aboard! I’m glad you’ve liked it, and thank you for taking the time to comment.
@godnyx117
@godnyx117 Ай бұрын
@@TechWithNikola My pleasure! Have a lovely day!
@avivb4598
@avivb4598 Ай бұрын
Thank god I found this gem before my exam!
@obaydasarahneh236
@obaydasarahneh236 Ай бұрын
Can u make a video for registers, What are they used for… in a way that we can understand the assembly language
@themodernshoe2466
@themodernshoe2466 3 күн бұрын
Thanks, crazy good vid 👏
@ilushamain4740
@ilushamain4740 Ай бұрын
Your explanations are amazing Thank you, I hope to see more
@TechWithNikola
@TechWithNikola Ай бұрын
Thank you. Yeah, definitely, I’ll try to find some time to make more videos soon
@tomhekker
@tomhekker Ай бұрын
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 Ай бұрын
Glad to hear that you’ve found it useful, and thank you for sharing the video :-)
@user-kw5qv6zl5e
@user-kw5qv6zl5e Ай бұрын
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 Ай бұрын
Thanks. I’m glad you like this style.
@bruceinraleigh9999
@bruceinraleigh9999 Ай бұрын
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 Ай бұрын
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.
@krituos
@krituos 10 күн бұрын
Amazing video, wish I saw it while still in college 😊
@tahir95soyalcom
@tahir95soyalcom 5 ай бұрын
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 5 ай бұрын
I’m very happy to hear that. Thank you for taking the time to comment.
@XueYlva
@XueYlva 15 күн бұрын
absolute banger of a tech channel thanks, will watch again -IGN
@ssahillppatell
@ssahillppatell 3 күн бұрын
Can't thank enough for this
@iPhoneCyric
@iPhoneCyric 7 ай бұрын
watched the first video in this channel, subbed!
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thank you for the sub. I'm so glad to hear that you've liked it!
@kanario99
@kanario99 5 ай бұрын
thank you, this video was very clarifying.
@TechWithNikola
@TechWithNikola 5 ай бұрын
You’re welcome. I’m glad to hear that.
@carloshenriquedesouzacoelho
@carloshenriquedesouzacoelho Ай бұрын
From Aritmetic concepts , the virtual memóry obeys bijective function (injective and surjective ) about Domain and Image . It is unbelievable !
@Foreverexhailingegodeath
@Foreverexhailingegodeath 7 ай бұрын
I like this video, shows the more "technical side" of virtual memory and how it does its thing. Thanks.
@TechWithNikola
@TechWithNikola 7 ай бұрын
I'm glad you've liked it, and you're welcome! :)
@lhard123l
@lhard123l Ай бұрын
Oh Juniors, 1GB is huuuuge for old-school guys
@godnyx117
@godnyx117 Ай бұрын
I still consider it a lot of memory and I think that modern software (especially closed source and web browsers) are unoptimized garbage!
@user-yr1uq1qe6y
@user-yr1uq1qe6y Ай бұрын
Starting off with the “bad old days” only being 4GB definitely lets me know I’m old! Just like running out of 32bit address space “must” have been back in the 1950s or something 😂
@jimmy1681000
@jimmy1681000 Ай бұрын
Wow, good video. Good job and thanks for sharing.
@TechWithNikola
@TechWithNikola Ай бұрын
Thank you! You’re welcome.
@dreamdrunk539
@dreamdrunk539 Ай бұрын
8:06 Correction: A word is two bytes in size, not 4. A double word (DWORD) is 4 bytes. And cpu's don't work with words necessarily, but general purpose registers of x32 bit cpu's are 32 bits in size. And 64 bits for x64 gprs.
@bleesev2
@bleesev2 Ай бұрын
The size of a word depends on the architecture, there is no "correct" word size. For example you are correct that a word in an x86 processor is 2 bytes, but a word in an ARM processor is 4 bytes.
@dreamdrunk539
@dreamdrunk539 Ай бұрын
@@bleesev2 Didn't know that thank you :)
@kamism770
@kamism770 Ай бұрын
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 Ай бұрын
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 Ай бұрын
@@TechWithNikola I'll be waiting 4 sure :3
@badnaf207
@badnaf207 3 ай бұрын
bro you are amazing, love your energy
@TechWithNikola
@TechWithNikola 3 ай бұрын
Thanks. I appreciate that!
@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.
@feazysil2707
@feazysil2707 4 ай бұрын
such a good video, you are the man !
@TechWithNikola
@TechWithNikola 4 ай бұрын
Thank you!
@ahmedghallab5342
@ahmedghallab5342 Ай бұрын
شكرا thanks 👍 it was helpful
@TechWithNikola
@TechWithNikola Ай бұрын
Glad to hear that!
@matepozzo
@matepozzo 4 ай бұрын
clear as water, thanks!
@TechWithNikola
@TechWithNikola 4 ай бұрын
Great to hear that :) Thank you!
@_VishalPrajapati
@_VishalPrajapati Ай бұрын
Superb...! Love it..❤
@TechWithNikola
@TechWithNikola Ай бұрын
Thanks a lot 😊
@Yazan_Majdalawi
@Yazan_Majdalawi 5 ай бұрын
Liked, subbed, turned on all notifications.
@TechWithNikola
@TechWithNikola 5 ай бұрын
Thank you! :)
@obaydasarahneh236
@obaydasarahneh236 Ай бұрын
I'm already at about 10 minutes and have about 80% understanding. What do you recommend I look for? Or if you have some resource/s I would be grateful
@ismaelgrahms
@ismaelgrahms Ай бұрын
Very well explained
@TechWithNikola
@TechWithNikola Ай бұрын
Thank you :-)
@jamespilcher5287
@jamespilcher5287 26 күн бұрын
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!
@reanwithkimleng
@reanwithkimleng Ай бұрын
Very helpful ❤❤
@TechWithNikola
@TechWithNikola Ай бұрын
I’m glad ❤️
@ankitatripathi1548
@ankitatripathi1548 7 ай бұрын
Greate Video. Thanks
@TechWithNikola
@TechWithNikola 7 ай бұрын
Glad you liked it!
@I2ealTuber
@I2ealTuber Ай бұрын
Can you next teach us about deditated WAM?
@samirneupane7563
@samirneupane7563 3 ай бұрын
Thank a lot.
@TechWithNikola
@TechWithNikola 3 ай бұрын
You’re welcome!
@shakepudding3902
@shakepudding3902 Ай бұрын
nice video bro!
@TechWithNikola
@TechWithNikola Ай бұрын
Thanks!
@waynehawkins654
@waynehawkins654 21 күн бұрын
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
@huxinzhao3689
@huxinzhao3689 6 ай бұрын
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 6 ай бұрын
Oh that’s a good catch! It’s a bug in the animation. Sorry about that. It should remain unchanged.
@huxinzhao3689
@huxinzhao3689 6 ай бұрын
@@TechWithNikola Thank you very much! Your videos are really helpful!!!
@whtiequillBj
@whtiequillBj Ай бұрын
@0:54 and before that there were 16 bit CPUs that could only address which was only 64 Kilobytes. In the early days it was more around the problem with memory collisions rather then accessing something that is out of range. In the 1960s you wouldn't find the kind of problem you're talking about because the processing power was too expensive to have that kind of problem. Paper Tape and Punch Cards don't have the same problems with accessing memory out of range.
@soumyajitdas4433
@soumyajitdas4433 Ай бұрын
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?
@RamsesAldama
@RamsesAldama 3 ай бұрын
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 Ай бұрын
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 Ай бұрын
Yes, thanks for the reply
@dims5647
@dims5647 Ай бұрын
Truly amazing
@TechWithNikola
@TechWithNikola Ай бұрын
Thanks!
@poiofrito4722
@poiofrito4722 4 ай бұрын
thank you man
@TechWithNikola
@TechWithNikola 4 ай бұрын
You're welcome!
@oneloveafrica8860
@oneloveafrica8860 23 күн бұрын
it was so good
@theomoreau8282
@theomoreau8282 Ай бұрын
Bravo !
@kmalnasef1512
@kmalnasef1512 Ай бұрын
Perfect. you did great job here, this topic became very easy after that sweet explanation but I need u to correct my info if I am wrong! in old days we know that byte is 8 bits word is 2 bytes = 16 bits dword is double words = 4 bytes = 32 bits so, is it changed those days as you claim in this video here 8:08 !!! is word become 32-bits ? thank you
@tarikabdelhadibenaouda
@tarikabdelhadibenaouda Ай бұрын
Well explained
@TechWithNikola
@TechWithNikola Ай бұрын
Thanks
@gappujimast
@gappujimast 3 ай бұрын
great video. i didnt get 2^32 adreess for each byte = 2 ^ 30 words
@TechWithNikola
@TechWithNikola 3 ай бұрын
Thanks. I’ll try to elaborate. There are 2^32 addresses. Each address references one byte of memory, which is 4GB in total. Now, a CPU works with so called words. 32-bit CPU works with 4-byte long words. How many 4-byte words are there in 4GB RAM? We can divide 2^32 bytes (4GB) by 4, which gives us 2^30 words. Hopefully this makes more sense. Let me know if it’s still unclear.
@gappujimast
@gappujimast 3 ай бұрын
@@TechWithNikola got it thanks 😊
@chaitanyaagrawal6534
@chaitanyaagrawal6534 29 күн бұрын
Can you also call a programm a process with threads etc. or are those two seperat things?
@Serhii_Volchetskyi
@Serhii_Volchetskyi Ай бұрын
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.
@naruhitoabiku9451
@naruhitoabiku9451 3 ай бұрын
you are a legend
@TechWithNikola
@TechWithNikola 3 ай бұрын
Thanks :-)
@RafaelRodrigues-ug1lt
@RafaelRodrigues-ug1lt Ай бұрын
Me traga mais sugestões assim de canal algoritmo do KZfaq, very good
@su5k
@su5k 7 ай бұрын
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 7 ай бұрын
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.
@krishnapraveen777
@krishnapraveen777 Ай бұрын
Hey man, can you make same video with gpu and cpu? Your explanation is so good
@TechWithNikola
@TechWithNikola Ай бұрын
Hey, thanks for the suggestion. This is one of the topics in my queue, but since I do this as a hobby I don’t get much free time to work on videos. I will be working on this but cannot promise that it will be soon
@krishnapraveen777
@krishnapraveen777 Ай бұрын
@@TechWithNikola Thanks man, you are doing god’s work
@Mike-kq5yc
@Mike-kq5yc 10 күн бұрын
Actually GiB refers to Gibibyte which is a power of 2. And Gigabyte is a power of 10 :)
@user-mr3mf8lo7y
@user-mr3mf8lo7y Ай бұрын
Quite good video. Just a minor comment. You use the word 'Security' in sections but I would call it 'Liability'. Thanks,.
@abdullah.alkheshen
@abdullah.alkheshen 7 ай бұрын
Your channel is a masterpiece! The Discord link is invalid or expired. Would you please comment it here? Thank you
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thank you. Ah sorry about that. I've updated it now and set to never expire: discord.gg/cEjDP4WK
@overpercent
@overpercent Ай бұрын
Subscribed immediately 👍🏾🫡… thank you sir
@art4eigen93
@art4eigen93 Ай бұрын
KZfaq suggesting me at 2 am here. thank god it did. I can sleep well now.
@TechWithNikola
@TechWithNikola Ай бұрын
Glad I could help :-)
@stachowi
@stachowi 2 ай бұрын
Very good
@TechWithNikola
@TechWithNikola Ай бұрын
Thanks
@omegahaxors3306
@omegahaxors3306 3 күн бұрын
I guess this is the system that downloading ram uses, bc I always wondered how you could get more ram from a website.
@lightbringer9940
@lightbringer9940 22 күн бұрын
Good video but one thing that seems wrong or unclear to me is the address translation. You say the last 12 bits are copied into the physical address space for the offset. Isn't this odd? Sounds like you are overwriting data that is in physicsl memory already. Would it not be better to compute the offset from virtual page address and just add it to the physical address you've just read from the map. That extra animation step of copying the physical address and offset into physical address is throwing me off. Maybe someone can clarify for me.
@suyogpatil-cb7td
@suyogpatil-cb7td 29 күн бұрын
How to make (edit ) this type of content? Can anybody share software name or any youtube playlist to learn
@user-ku4me6nl4j
@user-ku4me6nl4j 5 ай бұрын
how to make this animation?
@TechWithNikola
@TechWithNikola 4 ай бұрын
Hi, which one are you referring to exactly? I have used a combination of powerpoint, keynote, Manim (python library) to make all these animations. Hope that helps!
@TheAluminus
@TheAluminus Ай бұрын
10:39 All pages are 4096 long except Pages 2, is that a correct?
@kurosshyu2621
@kurosshyu2621 7 ай бұрын
subbed.
@TechWithNikola
@TechWithNikola 7 ай бұрын
Thank you!
@zuowang5185
@zuowang5185 5 ай бұрын
does page table also handle swap, putting memory onto hard disk?
@TechWithNikola
@TechWithNikola 5 ай бұрын
Hi, the page table itself doesn't handle swaps. Swapping is done by the OS. For example, if a program wants to access some (virtual) memory address, but that address is on disk (which can indicated by some bits in the address), the OS moves the inactive page to disk. If the page is needed again, the OS loads the page from disk into RAM.
@nitilpoddar
@nitilpoddar 7 ай бұрын
Kindly make part 2 for DP
@TechWithNikola
@TechWithNikola 7 ай бұрын
I'm working on it, it just takes time to figure out what to speak about, but I'm hoping to have it in a couple of weeks.
Virtual Memory: 8 Page Faults
6:31
David Black-Schaffer
Рет қаралды 177 М.
Understanding B-Trees: The Data Structure Behind Modern Databases
12:39
Они убрались очень быстро!
00:40
Аришнев
Рет қаралды 3 МЛН
When someone reclines their seat ✈️
00:21
Adam W
Рет қаралды 26 МЛН
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 176 МЛН
What's Virtual Memory? - Computerphile
22:40
Computerphile
Рет қаралды 173 М.
How GIT works under the HOOD?
16:01
Tech With Nikola
Рет қаралды 186 М.
Linux Internals: Memory Management
37:56
DJ Ware
Рет қаралды 28 М.
How are Microchips Made? 🖥️🛠️ CPU Manufacturing Process Steps
27:48
Branch Education
Рет қаралды 1,7 МЛН
The Most Important Algorithm in Machine Learning
40:08
Artem Kirsanov
Рет қаралды 262 М.
How does Computer Memory Work? 💻🛠
35:33
Branch Education
Рет қаралды 3,7 МЛН
Linux File System/Structure Explained!
15:59
DorianDotSlash
Рет қаралды 4 МЛН
How Does Linux Boot Process Work?
4:44
ByteByteGo
Рет қаралды 536 М.
КОПИМ НА АЙФОН В ТГК АРСЕНИЙ СЭДГАПП🛒
0:59
Купил этот ваш VR.
37:21
Ремонтяш
Рет қаралды 200 М.
How To Unlock Your iphone With Your Voice
0:34
요루퐁 yorupong
Рет қаралды 22 МЛН