I'm not sure what is being discussed in this thread.
One possibility is a device like an ordinary scsi disk but with no moving parts. It would look to the kernel like a very fast disk drive. I don't have any experience with something like this. But if it is available, I would guess that it would only take a driver to get it work under unix.
The other possibility is a pseudo-driver that allocates a large chunk of system memory and makes it look like a very fast disk drive. Any data stored on a pseudo-disk like this is guaranteed to disappear at shutdown time. I do have experience with this sort of thing, so I will comment on this.
Every version on unix that I know of uses memory based filesystems. But mostly they are used when booting an install or a support media. With HP-UX, you can even use Ignite to create a bootable tape that will have a copy of your root filesystem. When you boot that tape, root will be in memory while the tape is running.
As far as using a memory disk while the system is running, SunOS comes close with its handling of /tmp, but that is not locked in core, instead it is virtual.
Unix is very aggressive about caching disk data. Blocks are read into core and most disk i/o is really to and from core anyway. When a file is being processing sequencially, unix will notice this and will read ahead. The combination of write-behind and read-ahead is so effective that most disk i/o never happens.
Quote:
On a typicall UNIX system, over 85 percent of the implied disk transfers can be skipped because the requested block already resides in the buffer cache.
That quote is from page 208 of
The Design and Implementation of the 4.3BSD UNIX Operating System which was published in 1989. Today's system are much better than that, mostly due to very large memories. Today's read-ahead algorithms are also smarter. And we are moving away from block based filesystems to extent based filesystems like Veritas.
But don't take my word for it, try this...
program1 | program2
program1 > datafile ; program2 < datafile
You probably won't be able to measure the difference on a single cpu system. What good would it do to put datafile in a memory-based filesystem? Or maybe I really should say that memory-based filesystems are all that unix supports.