Using Hard Disk Space as Ram

Is there anyway in C++ to use the hard disk as RAM. Maybe even pre-allocate a block of space say like 2 - 5GB. If anyone can show me how or send me a tutorial it would help out tremendously.

I realize that here might be a slower access time but can anyone also point out any other ill effects that doing this may have with the code sample or tutorial.

Thanks in advance.
alfonzocarsonAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
AxterConnect With a Mentor Commented:
See following link for file mapping example that works with Windows, UNIX, and Linux

http://code.axter.com/mapfile2mem.cpp

Also
http://code.axter.com/sharemem.h
0
 
gugarioCommented:
What you wanna do is use binary file I/O, and pretty much have some kind of temp file in your directory which contains whichever memory information you want to store...

Check this page, it shows you how to insert data and access data at any position you want inside a file.

http://www.angelfire.com/country/aldev0/cpphowto/cpp_BinaryFileIO.html

This is just the File I/O part.  You can get a lot more complicated than that.. You could use a hash table to tell you where to write to, you could have page tables, etc, etc.  How you decide to implement it depends on what kind of data you are storing and for what.  If you want to give more detail about the data, maybe we can help you more.
0
 
alfonzocarsonAuthor Commented:
gugario,

I'm trying to create a caching engine. But I don't want to load 500,000 records into RAM on the server. But I would like to have all of the benefits of memory resident data access. Will this tutorial get me there. There server will have 60+ GB of hard disk space on them, as they really aren't being used for anything other than a remoting service which makes calls to a SQL Database (on a separate machine).
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
AxterCommented:
You can use map file API functions to map a file to memory.

What is your OS?

If you're using Windows, you can use the MapView API functions.
If you're using UNIX/Linux, you can use POSIX map file functions.
0
 
alfonzocarsonAuthor Commented:
Is this file going to be stored in memory or on the hard disk. I'm not up to speed on memory mapped files.
0
 
AxterCommented:
>> Is this file going to be stored in memory or on the hard disk. I'm not up to speed on memory mapped files.

The file is stored on the hard disk, but you access the file data via a memory buffer.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.