Почитай что такое paging до того как умничать, чтоли? https://en.wikipedia.org/wiki/Memory_pagingНет, это - не файлы, а страницы памяти. Кусочки памяти, типично 4096 байтов (4Кб) - как юнит управления памяти процессором. С своими атрибутами доступа и прочим.
Это немного пересекается в Linux с файловыми системами - порой достаточно плотно. Но таки своп хранит в себе именно страницы памяти. Которые в данный момент не используются, конечно. Это позволяет расчистить RAM для более востребованных кода и данных. В самом первом приближении это так: если прога долго (или никогда) не юзала какой-то код или данные, в какой-то момент ОС может выкинуть страницу из RAM в своп, а освободившуюся RAM отдать кому-то кому это нужнее, или поюзать под буфер дисков, для ускорения операций IO.
Ну а если прога все же возжелала те код или данные, при попытке туда обратиться... проц делает хардварный эксепшн, мол, невалидный доступ. Приходит ядро и пытается понять что ему делать дальше. Если оно знает где страницу взять (вынуть из свопа, декомпреснуть из zram, принести на голубях, ...) - страница оттуда достается, ядро мухлюет и возвращает программе проц в виде как будто исключений не было а программа никогда и не останавливалась. Пока ядро не вынет страницу, программа чисто технически не может быть продолжена, сие объясняет взвис программ при активном своплении. Ну а если страницы совсем не нашлось - упс - это левый доступ, нате-ка вам SIGSEGV, вы хотите что-то странное. И по дефолту должны за это умереть. Впрочем некоторые программы могут иметь иное мнение на этот счет и попробовать что-то иное. С пониманием того момента что состояние программы в такой ситуации уже врядли является корректным.
Tmpfs - вообще не об этом, он не занимается страницами. В него временные файлы предлагается складировать, в умеренном объеме. Выделяется, это, конечно, из страниц операитвной памяти. Но вот именно расчистить оперативку таким манером - не получится. В случае zram смысл в том что там СЖАТЫЙ блочный девайс из оперативы делается, на чем некий выигрыш. А tmpfs сжатие не умеет вроде, ну и смысл кидать страницы из RAM в RAM как есть? Чтобы потормозить с нулевым эффектом?