Под сжатием наверное (посмотрите что пишет родная программа дефрагментации Windows XP - "Сжатие файлов") подразумевается устранение пустых мест между файлами (чтобы впоследствии в этих пробелах не появлялись новые фрагменты новых созданных файлов) и смещение всех файлов к началу диска (т.е. к ближе к загрузочной области), кроме основной функции (как у всех дефрагментаторов) - собирать из фрагментов целый файл.
Собственно все дефрагментаторы и работают с разделами, про диски я сказал, потому, что у меня их два стоит :), а Windows все равно их разделами будет считать. У меня один жесткий 250 Гб, и на втором 500 Гб созданы два логических диска - итого 3 диска (3 раздела). Все поочередно разделы и дефрагментирует
P.S. все время забываю, что тема про Microsoft Windows 95/98/Me, а сжатие фалов по моему только в ХР.