1.3.7
Virtual Memory
Running out of Memory
Running out of Memory
There are many approaches that we might take when we are running low on memory:
Installing more Random-Access Memory
Installing more Random-Access Memory
- When we run out of RAM, we can purchase and install more RAM so that we can store more data.
- This is not always ideal because:
- RAM can be expensive.
- We may only need more memory on a temporary basis.
Virtual memory
Virtual memory
- Virtual Memory is a technique where we use secondary storage as if it were RAM.
- Virtual memory is not always ideal since:
- Virtual Memory can have negative impacts on performance.
- Virtual Memory can have negative impacts on the health of Solid State Disks (SSDs).
- We might have limited space in secondary storage.
Terminating processes
Terminating processes
- Each program/process will use a certain amount of memory.
- By closing some processes that we are not using, we can free the memory that they are using.
- This is not always possible because we may need all the processes.
How Virtual Memory Works
How Virtual Memory Works
Virtual Memory allows us to access more memory than we have by setting aside some secondary storage space to act as extra memory.
Paging
Paging
- Memory can be split into sections called 'pages'.
- Virtual Memory works by moving these pages between the Random Access Memory (RAM) and the secondary storage.
Move pages to Hard Disk Drive (HDD)
Move pages to Hard Disk Drive (HDD)
- If a page is not being used, then we might want to put it into Virtual Memory.
- When a page is moved to the HDD and not being used, it is put into a special file called the pagefile.
- Other processes can then use the memory that we just freed in the RAM.
Move pages to RAM
Move pages to RAM
- When we want to use a page again, we first need to move it back to the RAM.
- We do this by swapping the page that we want with one that is already in the RAM.
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction
Jump to other topics
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction
Unlock your full potential with GoStudent tutoring
Affordable 1:1 tutoring from the comfort of your home
Tutors are matched to your specific learning needs
30+ school subjects covered