Глядя на все происходящее, мне кажется, что лет через десять-двадцать произойдет исчезновение разделения на физическом уровне оперативной памяти и жесткого диска, т.к.
- уже сейчас жесткие диски на пользовательских устройствах заменяются соответствующими флеш-модулями (см. macbook air, причем объемы там сравнимы с объемами обычных жестких дисков)
- скорость чтения/записи по случайному адресу в флеш-памяти непрерывно увеличивается, там сейчас в последних разработках уже порядка десятков мегагерц, в то время как частота обычной оперативной памяти уже достигла по порядку величины частоты процессоров (единицы гигагерц), которая сильно расти уже не будет из-за фундаментальных физических ограничений.
- повсеместно распространяются 64-битные системы
То есть, будем иметь систему на кристалле, в которой будет порядка терабайта оперативной памяти, хранящей свое состояние при отключении питания. Для работы в такой системе, конечно, можно использовать обычный линукс, примонтировав верхнюю память как виртуальную файловую систему, однако, это плохо, т.к. приложениям все равно придется выполнять лишние операции, например, сохраняя свое состояние в файл.
Вопрос: есть ли уже сейчас какие-либо разработки, которые представляют API, в котором предполагается, что оперативной памяти очень много, и что приложение никогда не закрывается (и в которых это по-человечески реализовано со свопом на диск, так чтобы свопилось не когда оперативная память заканчивается, а просто когда что-то долго не используется)?
Пока вспоминаю только Андроид, в котором приложения не закрываются пользователем в принципе, а также, по возможности абстрагированы от файловой системы многие операции, однако же все равно там нужно делать сохранение состояния вручную в хранилище настроект, что станет бессмысленным при переходе на описанную мной архитектуру.