What is virtual memory? - Gary explains

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ย. 2024

ความคิดเห็น • 317

  • @unlokia
    @unlokia 7 ปีที่แล้ว +25

    Gary, you are a marvelous teacher. Clear, concise, precise, relaxed, happy... and no irritating "TH-cam persona". From an engineer, let me tell you this - you *really do* sound like you know your subjects well, so thank you for being you and for articulating so effectively and clearly. You are an asset to the engineering world.
    God bless you! 😀
    Matthew, England.

    • @srakhtar
      @srakhtar 3 ปีที่แล้ว +1

      your welcome my man. cheers.

    • @alienwarex51i3
      @alienwarex51i3 2 ปีที่แล้ว +2

      @@srakhtar not OP but ok

    • @ajhalomaster
      @ajhalomaster ปีที่แล้ว

      😂😂😂

  • @tanishbansal1058
    @tanishbansal1058 7 ปีที่แล้ว +505

    when you are taught the same in class but Gary explains better 😀

    • @technobrend0
      @technobrend0 7 ปีที่แล้ว +38

      If Gary was my teacher I would have passed a few more classes :/

    • @PaladioBlaze
      @PaladioBlaze 7 ปีที่แล้ว +3

      tanish bansal even I understand this and I know nothing about programming and what not.

    • @CarlitoProductions
      @CarlitoProductions 7 ปีที่แล้ว +2

      that's why i'm here too lol

    • @dben9986
      @dben9986 2 ปีที่แล้ว +1

      I ask B, my lecturer interpret it as A and answers C. In this case, the Internet becomes my friend 😂

    • @ketutaguscahyadinanda623
      @ketutaguscahyadinanda623 2 ปีที่แล้ว

      Yeah same thing here 🙌🏻

  • @trueblue9091
    @trueblue9091 7 ปีที่แล้ว +262

    Don't know how much AA pay you, Gary, but you should get a pay rise

    • @pratikrai6407
      @pratikrai6407 7 ปีที่แล้ว +2

      Tim Derek Scott and Darcy lacouvee are the owners and co founders of AA

    • @morganmatthias5684
      @morganmatthias5684 3 ปีที่แล้ว

      You all prolly dont give a damn but does anyone know a trick to get back into an Instagram account?
      I somehow lost my login password. I love any tips you can offer me

    • @kristophergunnar9551
      @kristophergunnar9551 3 ปีที่แล้ว

      @Morgan Matthias instablaster :)

    • @morganmatthias5684
      @morganmatthias5684 3 ปีที่แล้ว +1

      @Kristopher Gunnar thanks for your reply. I got to the site through google and I'm in the hacking process atm.
      Looks like it's gonna take quite some time so I will get back to you later with my results.

    • @morganmatthias5684
      @morganmatthias5684 3 ปีที่แล้ว

      @Kristopher Gunnar It worked and I now got access to my account again. I'm so happy:D
      Thank you so much, you really help me out :D

  • @thomyhr
    @thomyhr 7 ปีที่แล้ว +5

    Knew most of this from the course in Operating Systems in the University, but it is always nice to hear Gary explain stuff. And I got to repeat the things I knew too. Please never stop making these videos, Gary! :D

  • @RockstarBruski
    @RockstarBruski 7 ปีที่แล้ว +37

    excellent tutorial. I've been working on computers since 1980 and never have heard this explained so clearly as you did in this video. love the charts and diagrams as well as those really help! and the funny kids pics made me laugh. cheers! 😎

    • @plumSlayer
      @plumSlayer ปีที่แล้ว +1

      wow you actually have seen the evolution of basic computer and microprocessors... wow

  • @BraveCarnage
    @BraveCarnage 3 หลายเดือนก่อน +1

    Saving this to favorites. Best explanation I’ve seen on this subject. Gonna have to rewatch 5x until everything makes sense but I’m finally understanding it.

  • @--Paws--
    @--Paws-- 7 ปีที่แล้ว +2

    In other words the physical representation of memory and virtual memory is equivalent to how inventory is shipped to a warehouse and memory is the amount of space the warehouse can store of that shipment. Virtual memory is a shipment being processed to go either in its storage location or to be used in either to be once again shipped out or for some function in the warehouse/facility.

  • @sshknt5
    @sshknt5 7 ปีที่แล้ว +62

    I'm stupid but Gary makes me smart.

    • @Trident_Euclid
      @Trident_Euclid 7 ปีที่แล้ว +10

      Suyash Kant You are not stupid if you want to learn.

    • @1MarkKeller
      @1MarkKeller 7 ปีที่แล้ว +4

      Say it again Ibraheem!

    • @Cygnus0lor
      @Cygnus0lor 5 ปีที่แล้ว

      @@Trident_Euclid that's not true

    • @qwedschy8285
      @qwedschy8285 4 ปีที่แล้ว +2

      I'm stupid and Gary can't save me

  • @SteveTheTechy
    @SteveTheTechy 7 ปีที่แล้ว +7

    Machines have been using virtual memory since the 70's. Gary in his run down of computers did not mention the IBM Mainframes where we had the MVS and VM operating systems which ran very much as Gary explained. There was the additions of the Link Pack Area (or on DOS/VS) machines the SVA (shared Virtual Area) where common routines used by multiple programs would be loaded into memory and shared between all the address spaces, saving real memory.
    The small operating systems like DOS/VS though only had one address space, so multiple processes would be loaded in to memory in several contiguous regions called partitions. So partition 1 had memory say from 100K to 200K, partition 2 from 200K to 500K, partition 3 500K to600K etc. It was still virtual because address translation between a virtual address and a real address still had to happen. There was not enough memory, so memory was swapped out to disk when it was not required. Often then machines ran with 200K of memory, and ran order processing, payroles, stock processing and even some development all at the same time.
    This contiguous space for multiple partitions could lead to the two problems which Gary mentioned early on. One program accessing the memory of another, and relative addressing.
    Each partition was protected from access from another by a protection key. each partition having a different key. A partition when scheduled was allocated the key for its memory. Should it try and access the memory of another partition, then it would fail.
    The relative addressing was addressed by the loader program .Often a branch address would be loaded form a table to access a routine. If the program was loaded in the partition starting at 200K, or it was loaded in the partition starting at 500K, then this address had to change. That was the job of the loader program, it would correct these addresses as the program was loaded into memory.
    Yes address spaces as used by MVS and VM were much easier, but they also still had loader programs as you can't predict where routines are loaded into memory in the address space.

  • @djknight00
    @djknight00 7 ปีที่แล้ว +6

    I'm a computer science student and Gary has helped me pass in atleast a couple of subjects.

  • @jerrymachado1943
    @jerrymachado1943 4 ปีที่แล้ว

    Hi Gary. I was trained as an EE, but went to the dark side of sales, so I am only dimly aware of all the subjects you discuss. Thanks for the context and thanks for putting the puzzle together for me.

  • @ahmetbozkurt9830
    @ahmetbozkurt9830 7 ปีที่แล้ว +37

    After a Gary video, i feel smarter.

  • @GeorgeKarayannis
    @GeorgeKarayannis 7 ปีที่แล้ว +3

    Thanks again Gary, for a great video. may the L2 TLB be always in your favour!

  • @bodeghost
    @bodeghost 2 ปีที่แล้ว

    Greetings world! I'm very new to, Gary's channel & all I can say is, I've been asleep at the wheel for far too long. Sir, this channel is marvelous! From the quality video/audio & editing, to your ability to explain things in a manner with which most anyone can comprehend /completely understand the inner-workings of all this technology that changes every 27 seconds, if you will...😉 I love reading this communities feedback & shared knowledge! Love & Light To You All out there in TH-cam Land and Beyond the world over. Many thanks, Gary for taking what has to be a great amount of time you invest so that, we the viewers, can be educated correctly, efficiently & with absolute ease! 🍀 💜 🎶 👻

  • @clairebear8182
    @clairebear8182 7 ปีที่แล้ว

    When ever Gary explains, I understand. He is the only way I am going to get through my systems architecture exam, so thanks!!!

  • @benjmiester
    @benjmiester 7 ปีที่แล้ว +5

    Cool. I remember when some dumb ass was trying to argue with me, saying android didn't have VM. At first he tried to claim he thought I meant VM was video memory, then tried to say it doesn't have virtual memory either when I explained that was what VM meant. Now I have something to link to explain it to them, if it happens again.

  • @optimisms
    @optimisms 2 ปีที่แล้ว

    Thank you so much! I've read this section in my textbook four times now and just couldn't understand it, but this clears things up so well!

  • @MrMysticphantom
    @MrMysticphantom 7 ปีที่แล้ว

    This has been the best of Gary Explains vids
    Nice job sir .....

  • @fuzz33594
    @fuzz33594 7 ปีที่แล้ว

    Gary - your ability to explain the complex is unsurpassed.

  • @Shivamrouniyaar
    @Shivamrouniyaar 3 ปีที่แล้ว

    I got a smile after learning from you in much clear details

  • @junioli6862
    @junioli6862 3 ปีที่แล้ว +1

    You're the man, Gary.

  • @adithyabhat4770
    @adithyabhat4770 7 ปีที่แล้ว +2

    He teaches so nice , better than my teachers

  • @ArrayCodes
    @ArrayCodes 7 ปีที่แล้ว

    Garry sir you are really great. I always sleep in my computer class but i like your realxing voice and amazing explaination video.

  • @axelp5-w2m
    @axelp5-w2m 7 ปีที่แล้ว

    It wast just the topic for today in OS class, what a coincidence! But, Gary, your explanation was very good, thank you for all this Explaining videos.

  • @_Agosto_
    @_Agosto_ 7 ปีที่แล้ว +1

    Best format of this channel

  • @alexdiezg
    @alexdiezg 7 ปีที่แล้ว +4

    Gary in AA is like Gandalf in the fellowship of the Ring.

  • @dsal3389
    @dsal3389 2 ปีที่แล้ว

    hands down the best tutorial on this topic

  • @andrewrichardson9486
    @andrewrichardson9486 4 ปีที่แล้ว

    Great. Thank you very much for that. I have found all your Gary Explains videos really good. 👍

  • @johny1614
    @johny1614 5 ปีที่แล้ว

    I would say that calculations are wrong. For a 300 MB program we need not 79 milion adresses. Ussualy memory adress refers to a single byte. So we need:
    300MB -> 300*2^10*2^10=314 572 800
    How about a method with pages? Assuming that page has 4KB memory then how many pages we need to store 300MB?
    Result is 300MB/4KB=300*2^10*2^10 / (4*2^10)=300*2^8=76 800. And 76 800 adresses of pages MMU has to store. Offset 12 bits are same in both virtual and page memory, so MMU does not have to memorize it.
    So yes we need about 77 thousand with paging, but we need 314,5mln without paging.
    Great vid though :]

  • @theodore1801
    @theodore1801 7 ปีที่แล้ว

    Wow very good explanation, Gary is a veryvery good teacher

  • @julianeccleshall8397
    @julianeccleshall8397 7 ปีที่แล้ว

    under 200 wiew! this is something i know and i work on it everyday, but you still make me learned something new!

  • @jimbononeya8376
    @jimbononeya8376 7 ปีที่แล้ว +1

    awesome content Gary!

  • @deepkumar-hk6wl
    @deepkumar-hk6wl 5 ปีที่แล้ว

    excellent discription about virtual and phycial memory..........

  • @MrGyges
    @MrGyges 7 ปีที่แล้ว +2

    Thank you, Gary

  • @arielfuxman8868
    @arielfuxman8868 2 ปีที่แล้ว

    Brilliantly explained

  • @venkataravieluri9625
    @venkataravieluri9625 6 ปีที่แล้ว

    Thanks Gary for such a nice explanation.

  • @haraldlons
    @haraldlons 6 ปีที่แล้ว

    This was so easy to understand. Thanks!

  • @aranzaf.3970
    @aranzaf.3970 4 ปีที่แล้ว

    This was an amazing explanation, thank you!

  • @yumiko579
    @yumiko579 7 ปีที่แล้ว

    please thumbs up this video for our man gary.

  • @naveenfrancis444
    @naveenfrancis444 3 ปีที่แล้ว

    Thanks a lot Gary!

  • @pablooalsahlani6557
    @pablooalsahlani6557 4 ปีที่แล้ว

    The background looks like a mean acid trip

  • @compsci91
    @compsci91 6 ปีที่แล้ว

    Thanks, Gary! Great explanation!

  • @HarukiMiyazawi
    @HarukiMiyazawi 7 ปีที่แล้ว

    4:49 says virutal memory. Anyways...great video, Gary, as always.

    • @GarySims
      @GarySims 7 ปีที่แล้ว

      Sorry about that, dumb typo on my part.

  • @LearnSpecialEnglish
    @LearnSpecialEnglish 5 ปีที่แล้ว

    Please change the background and make it one color for the eye..

  • @hahavv7058
    @hahavv7058 3 ปีที่แล้ว

    This is really a great viedo taht answers my doubts!thanks sir~

  • @IamAWESOME3980
    @IamAWESOME3980 4 ปีที่แล้ว

    watching this for my midterm in my operating system course.

  • @CassioBocchese
    @CassioBocchese 3 ปีที่แล้ว

    Thank you Gary!

  • @abdulazeez.98
    @abdulazeez.98 7 ปีที่แล้ว

    Great video as always !
    Please can you explain the effect of screen resolution on performance ? how much does a higher screen resolution effect performance?

  • @EnriqueCondoFolgado
    @EnriqueCondoFolgado 7 ปีที่แล้ว

    thanks! professor Gary! nice job!!

  • @igorvieira344
    @igorvieira344 7 ปีที่แล้ว

    please, explain it further, especially this particular things you touched briefly at the end

    • @GarySims
      @GarySims 7 ปีที่แล้ว

      You mean the TLB and Page Faults?

  • @vasubhatt6160
    @vasubhatt6160 4 ปีที่แล้ว

    So can we say that more than one processes can have the same virtual address but due to MMU + OS their physical location will be different?

  • @MrTomro
    @MrTomro 3 ปีที่แล้ว

    damn, this guy explained virtual memory in 11 minutes better than my professor in 4 hours....

  • @kkirubanantham
    @kkirubanantham 3 ปีที่แล้ว

    Explained beautifully.

  • @z3jlewhhda376
    @z3jlewhhda376 3 ปีที่แล้ว

    Is paging necessary for virtual memory OR we can use segmentation for virtual memory?

  • @mescobar12me
    @mescobar12me 7 ปีที่แล้ว +1

    Gary you're so overqualified :O I learn these topics in Upper Div CpE courses

  • @patriciamanroe6371
    @patriciamanroe6371 2 ปีที่แล้ว

    I got your link from Colorado Technical University Online.

  • @psnKnowledge
    @psnKnowledge 7 ปีที่แล้ว

    As an average prosumer, I TOTALLY made it through till the end of this video ;)

  • @hiteshshahs
    @hiteshshahs 7 ปีที่แล้ว

    please explain inside components of a phone some day

  • @nuhuh123
    @nuhuh123 3 ปีที่แล้ว

    Can you do a video on logical memory ?

  • @XxepIcsnIpexX1
    @XxepIcsnIpexX1 5 ปีที่แล้ว

    Really informative video, thanks a lot! :)

  • @kbizzy111
    @kbizzy111 2 หลายเดือนก่อน

    i like the background music

  • @TheEmeraldTiger
    @TheEmeraldTiger 6 ปีที่แล้ว +1

    Thanks Gary

  • @good2333
    @good2333 7 ปีที่แล้ว

    Gary can u do an explain video on virtual currency such as Bitcoin plz

  • @TripedalTroductions
    @TripedalTroductions 5 ปีที่แล้ว

    2:42-2:54 you said that on a 32-bit machine a process has 32 bits of memory to work with which is of course 4 GB. What do you mean by that? I thought a 32-bit OS was simply an OS that utilizes a 32-bit maximum instruction word length supported by a 32-bit processor. I don't understand.

    • @VVVhitesnake
      @VVVhitesnake 5 ปีที่แล้ว

      Think he means that 32-bit architectures support 4GB of RAM only.

  • @kunalnarang1912
    @kunalnarang1912 7 ปีที่แล้ว

    Thanks Gary, can you do a video on how benchmark tests are created and how are they implemented.

    • @GarySims
      @GarySims 7 ปีที่แล้ว

      That is an intriguing idea, but there isn't much to tell, it would be like a 2 minute video!!! Is there something particular that you are trying to find out?

    • @kunalnarang1912
      @kunalnarang1912 7 ปีที่แล้ว

      Gary Sims I always wanted to find out how these benchmark scores are calculated. And also I'd like to know how your benchmarks (the 3D simulation of water droplets falling into a container, or the one with the hash tables or the first million primes) are different from popular benchmarks like Geekbench and Antutu. Now I know that you did a video on this recently, but I'd like to say that my question is completely different from that. Anyway, I'd really like you to explain this to me, as other people on this channel will too, even if that means you creating a two minute video. I hope it would not be too much trouble but whenever knowledge is concerned, there could never be too much trouble. Cheers Gary, thanks again for the video!

  • @maxemore
    @maxemore 3 ปีที่แล้ว

    I learned this in computer engineering school, but I came here to see how he explains it

  • @gabriel-bl4ckh4wk-6
    @gabriel-bl4ckh4wk-6 2 ปีที่แล้ว

    I've 16gb ram, i just want to know much virtual ram i should set to have maximum performance. If i turn it off some games crashes, even with a lot of RAM not used.

  • @KsOs.
    @KsOs. 7 ปีที่แล้ว +24

    I read the title as virtual money

  • @karthikd03
    @karthikd03 7 ปีที่แล้ว

    Gary i have a genuine request. Please edit your videos to have a higher volume because I seriously have trouble listening to you even on max volume in my PC or phone.

  • @aniketdubey8362
    @aniketdubey8362 7 ปีที่แล้ว

    can you do a video on CPU governors and tell which are the best governors

  • @BakaOctopus
    @BakaOctopus 7 ปีที่แล้ว +1

    please explain SD cards , SSD's and all flash memory write cycles limits and I/O scheduler !!!!!!!!!!!
    have got many flash memory cards in read only mode !
    and even about heap sizes

  • @ulyuly7665
    @ulyuly7665 3 ปีที่แล้ว

    I hope there was no music in your videos (:

  • @rohitkijbile
    @rohitkijbile 7 ปีที่แล้ว

    sweet .. very useful thanks Garu

  • @iandrsaurri625
    @iandrsaurri625 2 ปีที่แล้ว

    Does everything work all the same in Windows?

  • @pomegranate8593
    @pomegranate8593 3 ปีที่แล้ว

    excellent video!

  • @pseudonym9215
    @pseudonym9215 5 ปีที่แล้ว

    Are all the addresses for different VM of processes the same( as in pro1 has VM address form 0x0000 to0x FFFF and pro2 has VM address from 0x0000 to 0xFFFF). If they are the same, then how does the OS distinguish between memory access for VM 0xFFEE by pro1 and pro2, and redirect the request to corresponding Phy memory?
    Hmm ..... this sounds like a question for StackExchange.

  • @abdullahfaizurrahman6486
    @abdullahfaizurrahman6486 2 ปีที่แล้ว

    Great video. Im confused about one thing, if the lookup table is stored in RAM, then it would take two RAM accesses for a single look up, for a program. However, you said it could be 3. How is this possible.

  • @gokulnath9473
    @gokulnath9473 7 ปีที่แล้ว

    awesome video.Thank you very much

  • @rickramirez94
    @rickramirez94 3 ปีที่แล้ว

    When you use Gary as a reference on your paper

  • @chologonzalo999
    @chologonzalo999 7 ปีที่แล้ว

    Could someone explain me what is standby memory when I look at the Resource Monitor? It says it's cache memory but I don't get it since in my case it's showing I have 11 GB of cache memory and my processor only has 6 MB of memory.

  • @tomatrix7525
    @tomatrix7525 3 ปีที่แล้ว

    What a legend holy moly so good

  • @udit7057
    @udit7057 7 ปีที่แล้ว

    Gary I have questions regarding androids battery saving function
    Well I have noticed that during battery saver is on battery save more than normal , what does the software actually does which it doesn't do in normal mode. As I don't any differents (I get notification, data is on) everything is same {as I heard that it reduces cpu performance, but using my Rn3 I don't feel like the performance is reduced. So what exactly it is?

  • @SekharPariga
    @SekharPariga 6 ปีที่แล้ว

    Dear Gary, in this video around at 6:20 to 6 :40 mints, For 300 MB memory it needs only 76800 max entities required in MMS Lookup table ,but I see you said in the video 77000 entries in MMS lookup are required for 300 MB please explain how come 200 entries require ? Why ?
    My calculation:
    300MB = 75 * 1024 * 4K = 76800 4K pages
    Please explain 200 more entries ?
    🤔

  • @SAR2325
    @SAR2325 7 ปีที่แล้ว

    Awesome video.

  • @aliakv1364
    @aliakv1364 6 ปีที่แล้ว

    Can I know how different processes will be able to share single TLB?

  • @vanoff
    @vanoff 7 ปีที่แล้ว

    Is there a good book that goes into detail of what Gary is explaining?

    • @GarySims
      @GarySims 7 ปีที่แล้ว +1

      I guess "Modern Operating Systems" by Tanenbaum.

    • @vanoff
      @vanoff 7 ปีที่แล้ว

      Thank you!

  • @Techyindian01
    @Techyindian01 4 ปีที่แล้ว

    Should i use it extensively in win 10 or not??

  • @vijaysoni6351
    @vijaysoni6351 8 หลายเดือนก่อน

    Why you put music in this video.

  • @picklerick3136
    @picklerick3136 5 ปีที่แล้ว

    Cristal clear!!!

  • @Basieeee
    @Basieeee 6 ปีที่แล้ว

    Nice tutorial

  • @aamir1386
    @aamir1386 7 ปีที่แล้ว

    Sir,I have a question for you.The question is do a smartphone have a BIOS.
    Thanks.
    Regards

    • @GarySims
      @GarySims 7 ปีที่แล้ว +1

      BIOS is a term that comes from PCs and in that sense, no smartphones don't have a BIOS. However they do use a bootloader which is one of the functions of the BIOS on the PC.

  • @jkssbjobtutorial.5061
    @jkssbjobtutorial.5061 5 ปีที่แล้ว

    I love you Gary

  • @ShantamBhavsar
    @ShantamBhavsar 7 ปีที่แล้ว

    Hey Gary, All this time I thought that virtual memory is memory that appears to exist as main but although most of it is supported by data held in secondary storage.
    I got confused in the previous video too.
    Are there two meaning of virtual memory?

    • @GarySims
      @GarySims 7 ปีที่แล้ว

      Hey, you are almost right with both. There is only one meaning for virtual memory, the one I show in the video. However one of the main advantages of virtual memory is the ability to swap pages out of main memory and into secondary storage (i.e. to a swap file, to zswap or to a swap partition). So the two are very closely related.

  • @regoly
    @regoly 7 ปีที่แล้ว

    can you make a video about developping obile apps for Android and IOS
    like about Angular2, Nativescript, xcode, typescript, Android Studio...

  • @blockbuster6249
    @blockbuster6249 7 ปีที่แล้ว

    Gary is there any why to make android phone faster than iPhones...

  • @Schnitzer325ci
    @Schnitzer325ci 7 ปีที่แล้ว

    Gary.. You Legend!

  • @2006lilmoe
    @2006lilmoe 7 ปีที่แล้ว

    We're 5 minutes in and 3 dislikes already? Honest question for those who disliked....... why? I didn't see (or watch) anything inaccurate in Gary's explanation...

    • @yahyasajid5113
      @yahyasajid5113 7 ปีที่แล้ว

      Aw Snap I find his explanation kinda boring, not because of the terminology or anything like that his voice to me sounds dull. nothing against you just an opinion but i didn't dislike the video because (i didn't dislike the video btw). its a great explanation no dout about that but its not for me.

    • @2006lilmoe
      @2006lilmoe 7 ปีที่แล้ว

      Dull? lol. If you think this is boring or dull, you should have listen to my college professor explain this topic. Gary's explanation makes it a breeze to understand for beginners.

  • @HOOHA333
    @HOOHA333 2 ปีที่แล้ว

    I did not get why memory needs to be relative @1:54

  • @Jonathan-od5xc
    @Jonathan-od5xc 5 ปีที่แล้ว

    SLAMMED IT! Thank you!!

  • @praveensomesh2551
    @praveensomesh2551 5 ปีที่แล้ว

    Garyyyy is Awesome....