Gary, you are a marvelous teacher. Clear, concise, precise, relaxed, happy... and no irritating "RUclips 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.
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
@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.
I never would have thought I would end up going to Android Authority to help study for my OS' exam... As always Gary your videos are probably the best on AA. Keep it up!
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
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! 😎
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.
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.
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.
starts with "nowdays we have the word virtual in everything" me looks at the video upload data, see its 7 years ago so it checks out. nowdays we have the word AI in everything.
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.
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.
Oh my god . Mr. Simps thanks a lot for explains this. When you explained this , it seems so simple. Other people make it sound so tough. I wish I had listen to your lectures earlier. So so good. Thanks you very much from a student trying to explore world of computers.
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 RUclips 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! 🍀 💜 🎶 👻
I'm six years late to the party, but as always there is still so much to learn. Thank you Gary for sending me back from the future, in your video on the demise of 32 bit mode in June 2023. I'm going to look at the one from 2022 now 🙂
I think the main use of virtual memory is when there is a need of loading an app that is larger than ur ram then the Virtual Memory concept will be used to load that app by dividing it into some Modules and Only some of the modules of that app will only be loaded into ram.
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 :]
Good morning and congratulations for your precision, unfortunately I didn't understand one thing, but what does offset contain (where on the page we are) can you explain it to me with a more detailed example, thanks in advance
What happens when some programs are using dynamic memory allocation? How does the MMU can determine how much space does a program need in run time to avioid overwriting? Appreciate any help 😀
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?
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!
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.
Great video as always ! Please can you explain the effect of screen resolution on performance ? how much does a higher screen resolution effect performance?
GSM is 2G, basically voice only. UMTS is 3G, voice and data CDMA is a type of 3G network that you basically only find in the USA (plus a few other places), I don't know much about it as I don't live in the USA. Most of the world uses LTE. LTE is 4G, voice and data, faster than 3G.
Gary, you are a marvelous teacher. Clear, concise, precise, relaxed, happy... and no irritating "RUclips 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.
your welcome my man. cheers.
@@srakhtar not OP but ok
😂😂😂
when you are taught the same in class but Gary explains better 😀
If Gary was my teacher I would have passed a few more classes :/
tanish bansal even I understand this and I know nothing about programming and what not.
that's why i'm here too lol
I ask B, my lecturer interpret it as A and answers C. In this case, the Internet becomes my friend 😂
Yeah same thing here 🙌🏻
Don't know how much AA pay you, Gary, but you should get a pay rise
Tim Derek Scott and Darcy lacouvee are the owners and co founders of AA
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
@Morgan Matthias instablaster :)
@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.
@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
I never would have thought I would end up going to Android Authority to help study for my OS' exam... As always Gary your videos are probably the best on AA. Keep it up!
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
After a Gary video, i feel smarter.
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! 😎
wow you actually have seen the evolution of basic computer and microprocessors... wow
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.
I'm stupid but Gary makes me smart.
Suyash Kant You are not stupid if you want to learn.
Say it again Ibraheem!
@@Trident_Euclid that's not true
I'm stupid and Gary can't save me
Who are the butttrolls who dislike excellent productions such as this.
Wow.
Virtual A Holes
😂
Playlist of Gary explains, the best ever !
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.
I'm a computer science student and Gary has helped me pass in atleast a couple of subjects.
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.
Gary - your ability to explain the complex is unsurpassed.
starts with "nowdays we have the word virtual in everything" me looks at the video upload data, see its 7 years ago so it checks out. nowdays we have the word AI in everything.
When ever Gary explains, I understand. He is the only way I am going to get through my systems architecture exam, so thanks!!!
Glazing
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.
Damn....if there were more teachers like you on this platform it would be perfect. 🧠🧠
such a good teacher. Thanks Gary!
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.
Thanks again Gary, for a great video. may the L2 TLB be always in your favour!
It's always a pleasure listening to your explanations Gary. Keep up the good work :D
This has been the best of Gary Explains vids
Nice job sir .....
Oh my god . Mr. Simps thanks a lot for explains this. When you explained this , it seems so simple. Other people make it sound so tough. I wish I had listen to your lectures earlier. So so good.
Thanks you very much from a student trying to explore world of computers.
He teaches so nice , better than my teachers
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 RUclips 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! 🍀 💜 🎶 👻
i LOVE this series, it brings out my inner nerd.
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!
I got a smile after learning from you in much clear details
I've always wondered how my computers handles this on a constant basis
I'm six years late to the party, but as always there is still so much to learn. Thank you Gary for sending me back from the future, in your video on the demise of 32 bit mode in June 2023. I'm going to look at the one from 2022 now 🙂
Finally understood what TLB is. Great video! Keep making quality content!
hands down the best tutorial on this topic
Best format of this channel
Garry sir you are really great. I always sleep in my computer class but i like your realxing voice and amazing explaination video.
actually searched many vedios for this detailed explanation..thanks gary
That's so clear and easy to understand! Thanks Gary!
I think the main use of virtual memory is when there is a need of loading an app that is larger than ur ram then the Virtual Memory concept will be used to load that app by dividing it into some Modules and Only some of the modules of that app will only be loaded into ram.
Thanks Gary! This was clear and complete and much more interesting than the same topic coverage in class.
Gary in AA is like Gandalf in the fellowship of the Ring.
You're the man, Gary.
Did this at Uni last year, It's a good feeling actually understanding what is going on LOL
man Gary is on a roll to educate the masses lol
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.
Concise, clear, informative, and entertaining. Well done!
Gary, thanks for making a video on this topic. Great Job.
Best explanation i have heard on virtual memory
Tbh it's much harder than I thought it to be!!
And I didn't get a single word 😭
damn, this guy explained virtual memory in 11 minutes better than my professor in 4 hours....
Gary could seriously make the phone book sound interesting (apologies for anyone who doesn't know what that is)
Wow very good explanation, Gary is a veryvery good teacher
5:40 - "Even for 300MB program you would need 79 million entries for such an entry table to do such mapping". Why specifically 79 million?
I have been wondering the same thing.
A gr8 video by Master Gary ! keep em comin 👌
Great video that brushes all the fundamentals.
Great. Thank you very much for that. I have found all your Gary Explains videos really good. 👍
under 200 wiew! this is something i know and i work on it everyday, but you still make me learned something new!
excellent discription about virtual and phycial memory..........
Excellent explanation and great teacher
watching this for my midterm in my operating system course.
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 :]
please thumbs up this video for our man gary.
Thank you, Gary
Seriously this cleared all the doubts
OMG THIS WAS FANTASTIC!!! Like I understand, and that's amazing!
4:49 says virutal memory. Anyways...great video, Gary, as always.
Sorry about that, dumb typo on my part.
As an average prosumer, I TOTALLY made it through till the end of this video ;)
I learned this in computer engineering school, but I came here to see how he explains it
Thanks Gary for such a nice explanation.
awesome content Gary!
I read the title as virtual money
Thank you very much for the video
Great explanation and visuals. Thank you!
You just did in 11 and a half minutes what my professor failed to do in 2 and a half hours
This was so easy to understand. Thanks!
Thank you Gary. It was a great help.
This was an amazing explanation, thank you!
That was a very good overview, thanks! :)
Brilliantly explained
Good morning and congratulations for your precision, unfortunately I didn't understand one thing, but what does offset contain (where on the page we are) can you explain it to me with a more detailed example, thanks in advance
Thanks, Gary! Great explanation!
So this happens at about 2 billion times a second? 😳🤯 Mindblowing when you think about it
Is that background music from Acoustica Mixcraft? I made a song about 10 years ago with that same background track!
Very interesting and great explanation.
Awesome job Gary 👍
thanks! professor Gary! nice job!!
Explained beautifully.
GREAT EXPLANATION!!!
Thanks a lot
Gary you're so overqualified :O I learn these topics in Upper Div CpE courses
Please change the background and make it one color for the eye..
What happens when some programs are using dynamic memory allocation? How does the MMU can determine how much space does a program need in run time to avioid overwriting? Appreciate any help 😀
I'm not sure where "79 million entries" is coming in @5:50 for 300 MB program?
The background looks like a mean acid trip
Thanks Gary, can you do a video on how benchmark tests are created and how are they implemented.
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?
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!
The music overwhelmed you and I couldn’t focus on what you were saying
Amazing video, but the text getting displayed backwards makes me a bit uncomfortable.
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.
Think he means that 32-bit architectures support 4GB of RAM only.
Great video as always !
Please can you explain the effect of screen resolution on performance ? how much does a higher screen resolution effect performance?
hello Gary Sims, can you explain what is LTE/GSM/UMTS/CDMA/Global and explain which is best to use in the US and why?
GSM is 2G, basically voice only.
UMTS is 3G, voice and data
CDMA is a type of 3G network that you basically only find in the USA (plus a few other places), I don't know much about it as I don't live in the USA. Most of the world uses LTE.
LTE is 4G, voice and data, faster than 3G.
Gary Sims thank you, I understand it better now.
Thanks a lot Gary!