Occasionally, someone will ask me what the difference between memory and storage is. Or sometimes they will mix up terms and say memory when they are talking about the hard drive. So I was thinking, I should share the library analogy that someone once taught me.
The Library Analogy

Imagine you are in a library. There are bookshelves all around you full of information. These represent your hard drive, SSD, or any other kind of storage in your computer.
Now imagine there is a table in the library. The kind of table that people would sit at to study or look over some books. This represents your computer’s memory.
Now let’s say you are the only person in the library. You represent the CPU.
How A Computer Works
In order to run a program, a computer must first get the instructions and data from its storage.
So imagine yourself walking around the bookshelves looking for some kind of information.
Now imagine yourself taking the book you found back to your table. The table is kind of small so you can only have 2-3 books open at the same time. In order to look at other books, you need to take one back to the bookshelf and get another one to take back to your table.
The memory inside a computer works kind of like a table in a library.
More Memory Is Like A Bigger Table
The more memory a computer has the more information it can work on at the same time. If it does not have enough then it has to keep referring back to storage. This is a lot slower. Because of this, it is possible that more memory can make your computer run faster.
It is like being able to open 5-6 books on your bigger table instead of 2-3.
Or maybe you just have a really big book called AutoCAD that will not fit on your small table.
More CPUs Is Like Having More People
Now if you want to think about core counts and CPUs you can imagine other people in the library. They are all sharing the same table but now they can multitask or all work on the same project together. Assuming the table has enough space for them all to work.
This Analogy Works for Many Parts Of The Computer
I like this analogy a lot and it can be used for lots of computer things. Like keeping the bookshelves in order and indexed to increase storage speed. Memory leaks could be like a book someone forgot on the table. A computer crash could be like books falling off the table. Or one program using up
The library analogy works well for explaining the inner workings of a computer. It helped me when I was learning and I hope it helps you too!
Can You Think of Other Ways The Library Analogy Works?
Please share your ideas in the comments below so others can benefit from them! I would also love to hear them myself!
I’ve always liked this analogy, you can describe bus speeds as people dedicated to moving books between shelves and tables. You can introduce a GPU as a whiteboard where the information from the book is being drawn to the screen (either by the CPU or by dedicated GPU people). Cache could be equivalent to revision flash cards you’ve created for quick access to small piece of information. How the tables and people are arranged to cover dual and single channel memory, threading, multi-core etc.
Yes this analogy works on so many levels! I wasn’t sure how many people knew about it. I’m glad I ‘m not the only one. 🙂