Puppy Linux manages its constrained environment well. If a hard disk is available, and Puppy finds a Linux swap partition, it will use it -- allowing Puppy to run in as little as 128MB of memory. Puppy can also use the hard disk to save its state at shutdown, even if Puppy is running in LiveCD configuration. Puppy saves its state in what appears to the disk drive as an ordinary file. Boot Puppy from a LiveCD, and it will search for that file on any attached disks; if it finds the file, Puppy will merge its contents with the Linux execution image running in RAM. The result is a Linux that behaves as though it were booted from a hard drive, without requiring a devoted drive partition.
Puppy is not based on any particular Linux distribution; Kauler built it from scratch. The 3.x version of Puppy Linux is binary compatible with Slackware 12 and, hence, can accept packages developed for Slackware. The compatibility with Slackware created dependencies Kauler was unhappy with, so in current version 4.0, he returned to building Puppy from source.
The base Puppy Linux provides the SeaMonkey Web browser, Gnumeric spreadsheet, Inkscape lite (for vector graphics), mtPaint (for bitmap graphics), and more. The system is not limited to these installed applications, however. The PetGet package manager can download and install from a broad collection of applications, including the OpenOffice.org suite; Firefox or Opera Web browsers; Gimp; Python; Skype; and more, totaling a little more than 200 packages in all.
Damn Small Linux (hereafter, DSL) is a small-footprint Linux based on Knoppix Linux, arguably the grandfather of LiveCD Linuxes. Knoppix itself is based on Debian Linux; in fact, DSL arrives with a number of Debian packages preinstalled.
DSL's boot image is a mere 50MB, and it can run in as little as 128KB of RAM. Though compact, DSL is dense with capability. Need a small, turnkey HTTP or FTP server? For the former, DSL has the lightweight Monkey HTTP daemon. For the latter, DSL sports the BetaFTP FTP server. Both can be launched from the DSL control panel, a sort of dashboard roughly analogous to the Windows control panel. From DSL's panel, you can set up your network card (or a wireless card), configure a printer, enable DHCP, scan PCMCIA devices, and more.
Out of the box, DSL has all the fundamentals: editors, browsers, file-system navigation tools, and so on. Office-style applications include the Slag ("scheme in a grid") spreadsheet, as well as viewers for Microsoft DOC files and PDF files. The media player is XMMS. But DSL doesn't stop there. More applications can be added via MyDSL.
MyDSL is not a package-management system, but a no-fuss, lightweight mechanism for adding new applications to a running instance of DSL. The applications are bundled into extensions, which can be loaded from any persistent storage device -- pen drive, hard drive, or even across the network. Most MyDSL extensions are created by DSL users. An extensive repository is available at Damn Small Linux, myDSL Repository; there, you'll find image-processing packages like Gimp; the Maxima symbolic-math package and R statistical-analysis package; development applications, including the GCC compiler, PHP, and Python; and lots more.