But, what is Virtual Memory?

  Переглядів 143,137

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

КОМЕНТАРІ: 185
@BigBoiTurboslav
@BigBoiTurboslav 21 день тому
Holy crap. UKposts algorithm finally came through. This is some amazing content.
@TechWithNikola
@TechWithNikola 20 днів тому
Thank you :-)
@therelatableladka
@therelatableladka 2 місяці тому
Hey if you are seeing this, let me tell you, this is the best video in UKposts if you want to understand the concept of virtual memory, and others in simple and sweet. Perfect! ❤
@TechWithNikola
@TechWithNikola 2 місяці тому
Thank you! :)
@siegfriedbarfuss9379
@siegfriedbarfuss9379 21 день тому
Not really. He forget that OS claims RAM too
@Chemest_a
@Chemest_a 16 днів тому
@@siegfriedbarfuss9379 3:54
@Hyp3r8Sniper
@Hyp3r8Sniper 13 днів тому
​​​​@@siegfriedbarfuss9379 Why is that relevant to this demonstration? You could just generalise an OS as another program? It's also shown at 3:58...
@diegorodriguezv
@diegorodriguezv 13 днів тому
This is amazing! More detail than most Operating System courses in 20 minutes. Awestruck!
@viking420
@viking420 Місяць тому
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 26 днів тому
I’m glad it was helpful. You’re welcome, and thank you for taking the time to comment.
@jansustar4565
@jansustar4565 6 місяців тому
Thank you for the video. The explanation was clear, structured and concise, better than most other explanations on youtube.
@TechWithNikola
@TechWithNikola 6 місяців тому
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!
@adnaneachahbar287
@adnaneachahbar287 9 днів тому
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.
@TendresseExige
@TendresseExige 14 днів тому
This might be the best content I have found on UKposts 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 !
@69k_gold
@69k_gold 21 день тому
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 20 днів тому
yeah i figured this was the reason and was wondering why he didn't say so
@TechWithNikola
@TechWithNikola 19 днів тому
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 14 днів тому
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 13 днів тому
@@TechWithNikola They probably choose it because 0x1000 is pretty nice to type. ARM macs use 16kb pages I think.
@marwanradwan7727
@marwanradwan7727 13 днів тому
I wanna thank the youtube algorithm for recommending this video. This is absolute gem for explaining the Virtual Memory concept.
@dusanstojancevic-creativel5309
@dusanstojancevic-creativel5309 6 місяців тому
Amazing explanation, always wanted to know core knowledge. Thanks, keep up with these videos!
@TechWithNikola
@TechWithNikola 6 місяців тому
Thank you Dusan. I'm glad you've enjoyed it :)
@jameslai322
@jameslai322 5 днів тому
Excellent description on how cpu/memory/os are working together! Well done!
@threshhold8278
@threshhold8278 8 днів тому
This video is really good, the way that you simplified Virtual Memory is amazing!
@tylercoombs1
@tylercoombs1 14 днів тому
Dude, you're videos are so helpful, thanks so much!!!
@harshilldaggupati
@harshilldaggupati 2 місяці тому
That's a very good, high quality production with a top notch explanation! Keep making more.
@TechWithNikola
@TechWithNikola 2 місяці тому
Thanks :)
@tomhekker
@tomhekker 19 днів тому
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 😅
@jamaluddin9158
@jamaluddin9158 6 місяців тому
Wow! Clear, concise and very neat animations! Subscribing to a channel after a long time!
@TechWithNikola
@TechWithNikola 6 місяців тому
Thank you for the sub!
@vishalkarna3763
@vishalkarna3763 6 днів тому
Wonderful illustration of Virtual Memory. Good Job !
@duduwe8071
@duduwe8071 7 днів тому
Great video ! I am preparing for my master degree and found this gold in UKposts. 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.
@godnyx117
@godnyx117 9 днів тому
I have to words! That video is amazing! You won yourself a new subscriber, my friend! ❤
@ilushamain4740
@ilushamain4740 16 днів тому
Your explanations are amazing Thank you, I hope to see more
@user-kw5qv6zl5e
@user-kw5qv6zl5e 6 днів тому
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
@amj864
@amj864 6 місяців тому
This is awesome, made things so clear to me. Thank you.
@TechWithNikola
@TechWithNikola 6 місяців тому
You're welcome. Glad it helped!
@yash-xx2pu
@yash-xx2pu 2 місяці тому
the graphics really helped me visualize how this works! youre a lifesaver ^^
@TechWithNikola
@TechWithNikola 26 днів тому
I'm glad! Graphics are a great tool for explain IMO :-)
@godnyx117
@godnyx117 10 днів тому
​@@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!
@knode1993
@knode1993 6 місяців тому
please never stop, really good video
@TechWithNikola
@TechWithNikola 6 місяців тому
Thank you! I'm glad you've enjoyed it. I'll keep making them for sure :)
@avivb4598
@avivb4598 2 дні тому
Thank god I found this gem before my exam!
@chopper3lw
@chopper3lw 21 день тому
What an excellent overview. Nice job. It clarified a few things i was unclear about.
@TechWithNikola
@TechWithNikola 20 днів тому
Thanks a lot. Glad it clarified things :-)
@jimmy1681000
@jimmy1681000 9 днів тому
Wow, good video. Good job and thanks for sharing.
6 місяців тому
An excellent, succint and illustrative explanation :)
@TechWithNikola
@TechWithNikola 6 місяців тому
Thanks a lot Andrej!
@OhNoooooooooo
@OhNoooooooooo 6 місяців тому
Svaka cast burazeru. Ovo sam na faksu radio, ali si dosta bolje objasnio.
@TechWithNikola
@TechWithNikola 6 місяців тому
Hvala :) Drago mi je sto cujem da je dobro objasnjeno.
@ahmedghallab5342
@ahmedghallab5342 9 днів тому
شكرا thanks 👍 it was helpful
@Usopper.D
@Usopper.D 4 місяці тому
Wooow this video is awesome! Great work on the animations and examples 🤝😎
@TechWithNikola
@TechWithNikola 4 місяці тому
Thank you so much! I'm glad to hear that you've liked it.
@carloshenriquedesouzacoelho
@carloshenriquedesouzacoelho 5 днів тому
From Aritmetic concepts , the virtual memóry obeys bijective function (injective and surjective ) about Domain and Image . It is unbelievable !
@bingtingwu8620
@bingtingwu8620 Місяць тому
Very clear! It helps a lot, thank you very much!😀
@TechWithNikola
@TechWithNikola 26 днів тому
You’re welcome! :-)
@_VishalPrajapati
@_VishalPrajapati 16 днів тому
Superb...! Love it..❤
@reanwithkimleng
@reanwithkimleng 11 днів тому
Very helpful ❤❤
@shakepudding3902
@shakepudding3902 17 днів тому
nice video bro!
@lhard123l
@lhard123l 16 днів тому
Oh Juniors, 1GB is huuuuge for old-school guys
@godnyx117
@godnyx117 9 днів тому
I still consider it a lot of memory and I think that modern software (especially closed source and web browsers) are unoptimized garbage!
@kanario99
@kanario99 4 місяці тому
thank you, this video was very clarifying.
@TechWithNikola
@TechWithNikola 4 місяці тому
You’re welcome. I’m glad to hear that.
@iPhoneCyric
@iPhoneCyric 6 місяців тому
watched the first video in this channel, subbed!
@TechWithNikola
@TechWithNikola 6 місяців тому
Thank you for the sub. I'm so glad to hear that you've liked it!
@badnaf207
@badnaf207 2 місяці тому
bro you are amazing, love your energy
@TechWithNikola
@TechWithNikola 2 місяці тому
Thanks. I appreciate that!
@feazysil2707
@feazysil2707 3 місяці тому
such a good video, you are the man !
@TechWithNikola
@TechWithNikola 3 місяці тому
Thank you!
@obaydasarahneh236
@obaydasarahneh236 9 днів тому
Can u make a video for registers, What are they used for… in a way that we can understand the assembly language
@kamism770
@kamism770 17 днів тому
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 17 днів тому
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 15 днів тому
@@TechWithNikola I'll be waiting 4 sure :3
@tarikabdelhadibenaouda
@tarikabdelhadibenaouda 13 днів тому
Well explained
@tahir95soyalcom
@tahir95soyalcom 4 місяці тому
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 4 місяці тому
I’m very happy to hear that. Thank you for taking the time to comment.
@matepozzo
@matepozzo 3 місяці тому
clear as water, thanks!
@TechWithNikola
@TechWithNikola 3 місяці тому
Great to hear that :) Thank you!
@krishnapraveen777
@krishnapraveen777 6 днів тому
Hey man, can you make same video with gpu and cpu? Your explanation is so good
@dims5647
@dims5647 10 днів тому
Truly amazing
@ismaelgrahms
@ismaelgrahms 17 днів тому
Very well explained
@TechWithNikola
@TechWithNikola 17 днів тому
Thank you :-)
@HateFuckingMinors
@HateFuckingMinors 6 місяців тому
I like this video, shows the more "technical side" of virtual memory and how it does its thing. Thanks.
@TechWithNikola
@TechWithNikola 6 місяців тому
I'm glad you've liked it, and you're welcome! :)
@Yazan_Majdalawi
@Yazan_Majdalawi 4 місяці тому
Liked, subbed, turned on all notifications.
@TechWithNikola
@TechWithNikola 4 місяці тому
Thank you! :)
@theomoreau8282
@theomoreau8282 16 днів тому
Bravo !
@user-yr1uq1qe6y
@user-yr1uq1qe6y 18 днів тому
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 😂
@gappujimast
@gappujimast 2 місяці тому
great video. i didnt get 2^32 adreess for each byte = 2 ^ 30 words
@TechWithNikola
@TechWithNikola 2 місяці тому
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 2 місяці тому
@@TechWithNikola got it thanks 😊
@samirneupane7563
@samirneupane7563 2 місяці тому
Thank a lot.
@TechWithNikola
@TechWithNikola 2 місяці тому
You’re welcome!
@poiofrito4722
@poiofrito4722 3 місяці тому
thank you man
@TechWithNikola
@TechWithNikola 3 місяці тому
You're welcome!
@ankitatripathi1548
@ankitatripathi1548 6 місяців тому
Greate Video. Thanks
@TechWithNikola
@TechWithNikola 6 місяців тому
Glad you liked it!
@RamsesAldama
@RamsesAldama 2 місяці тому
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 19 днів тому
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 19 днів тому
Yes, thanks for the reply
@obaydasarahneh236
@obaydasarahneh236 9 днів тому
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
@dreamdrunk539
@dreamdrunk539 18 днів тому
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 16 днів тому
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 16 днів тому
@@bleesev2 Didn't know that thank you :)
@kmalnasef1512
@kmalnasef1512 17 днів тому
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
@soumyajitdas4433
@soumyajitdas4433 6 днів тому
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?
@naruhitoabiku9451
@naruhitoabiku9451 2 місяці тому
you are a legend
@TechWithNikola
@TechWithNikola 2 місяці тому
Thanks :-)
@abdullah.alkheshen
@abdullah.alkheshen 6 місяців тому
Your channel is a masterpiece! The Discord link is invalid or expired. Would you please comment it here? Thank you
@TechWithNikola
@TechWithNikola 6 місяців тому
Thank you. Ah sorry about that. I've updated it now and set to never expire: discord.gg/cEjDP4WK
@art4eigen93
@art4eigen93 15 днів тому
UKposts suggesting me at 2 am here. thank god it did. I can sleep well now.
@whtiequillBj
@whtiequillBj 5 днів тому
@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.
@I2ealTuber
@I2ealTuber 13 днів тому
Can you next teach us about deditated WAM?
@user-mr3mf8lo7y
@user-mr3mf8lo7y 5 днів тому
Quite good video. Just a minor comment. You use the word 'Security' in sections but I would call it 'Liability'. Thanks,.
@bruceinraleigh9999
@bruceinraleigh9999 18 днів тому
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!
@su5k
@su5k 6 місяців тому
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 6 місяців тому
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.
@huxinzhao3689
@huxinzhao3689 5 місяців тому
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 5 місяців тому
Oh that’s a good catch! It’s a bug in the animation. Sorry about that. It should remain unchanged.
@huxinzhao3689
@huxinzhao3689 5 місяців тому
@@TechWithNikola Thank you very much! Your videos are really helpful!!!
@kurosshyu2621
@kurosshyu2621 6 місяців тому
subbed.
@TechWithNikola
@TechWithNikola 6 місяців тому
Thank you!
@RafaelRodrigues-ug1lt
@RafaelRodrigues-ug1lt День тому
Me traga mais sugestões assim de canal algoritmo do UKposts, very good
@stachowi
@stachowi Місяць тому
Very good
@TechWithNikola
@TechWithNikola 26 днів тому
Thanks
@IvanGeorgiev
@IvanGeorgiev 2 місяці тому
Can you recommend some books that deep dive into how Linux works with CPU, memory and disc access
@TechWithNikola
@TechWithNikola 2 місяці тому
I’ve personally learned a lot from the Linux Programming Interface. There are other books out there but I’ve only read this one. Let me know if you come across any other good reads.
@zuowang5185
@zuowang5185 4 місяці тому
does page table also handle swap, putting memory onto hard disk?
@TechWithNikola
@TechWithNikola 4 місяці тому
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.
@Serhii_Volchetskyi
@Serhii_Volchetskyi 17 днів тому
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.
@nitilpoddar
@nitilpoddar 6 місяців тому
Kindly make part 2 for DP
@TechWithNikola
@TechWithNikola 6 місяців тому
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.
@TheAluminus
@TheAluminus 7 днів тому
10:39 All pages are 4096 long except Pages 2, is that a correct?
@rohithbhandari7836
@rohithbhandari7836 19 днів тому
@12:17 He says cpu does not know how to read it from RAM should not it be Disk ?
@TechWithNikola
@TechWithNikola 19 днів тому
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
@sumitdhiman9026
@sumitdhiman9026 17 днів тому
@overpercent
@overpercent 16 днів тому
Subscribed immediately 👍🏾🫡… thank you sir
@jooonmantv
@jooonmantv 2 місяці тому
amazing
@TechWithNikola
@TechWithNikola 2 місяці тому
Thanks!
@nickcooley8358
@nickcooley8358 4 місяці тому
amazing. u say program. is this referring to a process?
@TechWithNikola
@TechWithNikola 4 місяці тому
Thanks. Yes, I mean process.
@nickcooley8358
@nickcooley8358 4 місяці тому
thnx not trying to be anal, just #justschoolthingz @@TechWithNikola
@charliesumorok6765
@charliesumorok6765 4 місяці тому
1:00 Wouldn't the memory address wrap around and not crash immediately?
@TechWithNikola
@TechWithNikola 4 місяці тому
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 4 місяці тому
@@TechWithNikola Ben Eater's 65c02 based computer has the most significant address bit (A15) disconnected, causing a wraparound behavior.
@TechWithNikola
@TechWithNikola 4 місяці тому
Got it, thank you for that. I’ll read more about it.
@user-ku4me6nl4j
@user-ku4me6nl4j 4 місяці тому
how to make this animation?
@TechWithNikola
@TechWithNikola 3 місяці тому
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!
@silloo2072
@silloo2072 4 дні тому
Commenting for the algorithm 😅
@rohithbhandari7836
@rohithbhandari7836 19 днів тому
Is TLB same as cache ?
@TechWithNikola
@TechWithNikola 19 днів тому
It depends on what do you mean by “same as cache”. Let me try to elaborate. TLB is a special type of memory cache that stores recent translations of virtual memory to physical memory addresses. Its primary role is to speedup this translation. However, this is different from the common usage of word cache which refers to a memory layer that stores copies of data and instructions closer to CPU. Usually, we refer to them as L1, L2, L3 caches. Hopefully this makes sense.
@aryakadam7892
@aryakadam7892 4 місяці тому
great
@TechWithNikola
@TechWithNikola 4 місяці тому
Thank you
@user-eo7qk7jm9e
@user-eo7qk7jm9e 12 днів тому
where are you from? just for the accent. (English learner)
@obaydasarahneh236
@obaydasarahneh236 9 днів тому
same question
@verdibahnsen
@verdibahnsen 9 днів тому
Isn’t a word 16bits and a dword 32?
@TraceursMonkey
@TraceursMonkey 6 місяців тому
Discord link is invalid
@TechWithNikola
@TechWithNikola 6 місяців тому
Thanks. Sorry about that, I've updated it now and set to never expire: discord.gg/cEjDP4WK
@daessell4671
@daessell4671 4 місяці тому
@@TechWithNikola link expired again '-'
@TechWithNikola
@TechWithNikola 4 місяці тому
Thanks@@daessell4671 . I must have forgotten to use the permanent link on this video. The one in the basic channel info is permanent. I have now updated it for this video as well.
@mc-not_escher
@mc-not_escher 14 днів тому
Good meme video was enjoyable. I must be getting too old for kids to be shitposting in a shitpostable thread.
@derczaja
@derczaja Місяць тому
@charliesumorok6765
@charliesumorok6765 4 місяці тому
4:50 The virtual memory system doesn't know that it is on disk, it just knows that it is inaccessable to the program.
@TechWithNikola
@TechWithNikola 4 місяці тому
Correct. It actually knows a bit more than that. I have written some additional info in one of the comments. I’ll copy the contents here (let me know if this seems wrong): From another comment: 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 in theory. 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.
@faza210
@faza210 17 днів тому
W
@anantchitranshi6137
@anantchitranshi6137 5 днів тому
DMA
@bottlewisp
@bottlewisp 14 днів тому
so virtual memory is not virtual memory. got it :)
@ThePsychoMessiah
@ThePsychoMessiah 5 днів тому
"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".
@donwald3436
@donwald3436 20 днів тому
You had 32 bit CPUs in the 1950's? wtf is this lol.
Linux File System/Structure Explained!
15:59
DorianDotSlash
Переглядів 3,9 млн
Understanding B-Trees: The Data Structure Behind Modern Databases
12:39
Spanning Tree
Переглядів 153 тис.
Teenagers Show Kindness by Repairing Grandmother's Old Fence #shorts
00:37
Fabiosa Best Lifehacks
Переглядів 34 млн
Новая технология! РАССЫПНОЙ ПОДШИПНИК
00:35
The mind behind Linux | Linus Torvalds | TED
21:31
TED
Переглядів 6 млн
Bug Hunting is easy if you KNOW this
8:23
Bug Hunter Labs
Переглядів 14 тис.
What is virtual memory? - Gary explains
11:28
Android Authority
Переглядів 291 тис.
How do computers read code?
12:01
Frame of Essence
Переглядів 3 млн
i cant stop thinking about this exploit
8:40
Low Level Learning
Переглядів 219 тис.
How a Computer Works - from silicon to apps
42:32
Improbable Matter
Переглядів 1,2 млн
Mastering Dynamic Programming - How to solve any interview problem (Part 1)
19:41
Best OS for programming? Mac vs Windows vs Linux debate settled
8:40
Introduction to Hash Maps
11:45
Tech With Nikola
Переглядів 9 тис.
Apple ХОЧЕТ, чтобы iPhone ЛОМАЛИСЬ чаще?
0:47
ÉЖИ АКСЁНОВ
Переглядів 542 тис.
Я Создал Новый Айфон!
0:59
FLV
Переглядів 2,9 млн
Распаковал Xiaomi SU7
0:59
Wylsacom
Переглядів 2,7 млн
Which Phone Unlock Code Will You Choose? 🤔️
0:14
Game9bit
Переглядів 6 млн