MxLinux's frugal system is not the same as Puppy's. MxLinux was designed to treat RAM and Media as a Unity constantly reading and writing between them. I think it modifies that to create what it calls a Frugal install.
Puppy is designed to treat RAM and Storage as two separate systems, functioning in RAM and only reading and writing to Storage when necessary. [FYI, you can configure a Puppy booted from a USB-Key, to be entirely available even after you unplug the Key. Obviously, you can't unplug an internal hard-drive. But you can configure a Puppy to dismount the partition it booted from. Of course, having done so, you won't be able to preserve any changes].
On a modern computer the difference in boot-up times between a 'Frugal install' and a 'Full Install' of a Puppy is measured in micro-seconds. The last word I had as to how it works is that Puppy's compressed file-systems are copied as such into RAM-Cache, still compressed, were their contained files are then indexed. Booting a Frugal Puppy takes less time than booting Mxlinux.
In Puppys persistence is usually achieved thru the use of a SaveFile or SaveFolder on Storage which is mounted, not copied into RAM. A SaveFile is a Linux Formatted block of space of fixed size on Storage so can be on any medium however formatted. But a SaveFolder --which has to be on a Linux formatted partition-- but is just a folder. It will automatically expand to use the entire available space on its partition if necessary. Employing a SaveFolder you have all the advantages of a Full install plus the advantage that your core system files on Storage are READ-ONLY and can't be corrupted. [User's choice: once your system has everything you want, you can convert the SaveFile/Folder to a READ-ONLY file-system and, as aforesaid, if booted from a USB-Key, unplug the Key].
You can examine the contents of a SaveFolder just by file-browsing into it. You can examine the contents of any SFS, including a SaveFile.sfs, by mounting it.
You'll find an entire Section on the Forum dealing with using Puppy as the Host for VirtualBox and similar applications. https://www.forum.puppylinux.com/viewforum.php?f=107. Note these applications are 'kernel-specific': that is they have to be compiled under the kernel from which they are to be used. If you're so inclined, you can compile one to work under any Puppy. Or you can use any Puppy for which such application has already been compiled. Or you can swap the kernel used by your Puppy with that of the Puppy used to compile such application then use that application.
Swapping kernels only takes a couple of minutes: it just involves substituting one vmlinuz for another and changing the name of a zdrv.sfs from that of the Puppy under which the application was compiled to that of your Puppy --e.g. zdrv_slacko64_xxx.sfs to zdrv_fossapup64_xxx.sfs-- then substituting that renamed file for the one your Puppy previously used.
Sometimes you'll have to add an fdrv.sfs similarly renamed to be used by your Puppy. fdrv.sfs holds firmware. Zdrv.sfs holds drivers. Both are needed to communicate with hardware. But while drivers are kernel-specific, firmware is not. Some devs include firmware in a zdrv.sfs. Some don't since once you've obtained an fdrv.sfs it can be used with any Puppy.
Addendum: To report this, I booted into a Fossapup64 I set up so that once booted everything --including the Web-browser I'm using to post this-- is in RAM, i.e. if it were on a USB-Key I could unplug it. FYI, on Storage, this system occupies about 450 Mbs.
This is the use of RAM reported by Menu>System>PupSys-Info before opening the Web-browser:
Cached: 1284 MB
Actual Used RAM: 197 MB
What those figure reveal is that only 197 Mbs of RAM was NOT available for other use. Files in RAM-Cache are swapped into-and-dropped-out of RAM-for-conducting work at the speed of your computer's CPU. With two tabs of the Web-browser and itself open, PupSys-Info reports that currently 685 Mbs of RAM are not available for other activities. Opening a 3rd browser tab 'googled' to graphic images of Cats pushed the non-available RAM to 857. That, however, is the nature of web-browsing: the web-host stores data in Cache on your computer. On a Puppy set up as the foregoing was, that cache is in RAM. If I was using one of MikeWalsh's portable web-browsers from a partition, that cache would have been stored in the web-browser's folder on that partition and not in RAM.