VMS
В фидошной RU.OS.CMP в своё время был как-бы-шуточный RU.OS.CMP FAQ, а в нём был вопрос и ответ номер восемь:
Q8: А где это есть и круче?
A8: В VMS!
VMS - это древняя, аж 78 года, операционная система, работавшая на таких же древних компьютерах (где память измерялась килобайтами, а мегабайтами измерялся объём диска), которая несмотря на это смогла заложить такое количество, так сказать, основ построения ОС, что современные операционные системы этот запас не вычерпали до сих пор, несмотря на то что скорость с тех пор поднялась минимум в 1000 раз, а объёмы - в 1000000 раз. Например идея, что если ядро операционной системы разделить на два слоя - отдельный слой работает с железом/памятью, и предоставляет интерфейс - не очень сложный - следующему слою, который уже собственно и реализует всё то, что должна делать ОС, и одновременно предоставляет "наружу" интерфейс, аналогичный тому что представляет верхний слой, то ОС можно будет запускать "друг под другом" в произвольной комбинации и с минимальными расходами - дорогостоящая виртуализация/эмуляция железа не нужна, один фиг ОС железо в этом случае не видит, а работает со стандартным интерфейсом - так вот, эта идея - из VMS, и вроде бы в чистом виде нигде больше реализована не была. И когда микрософт несколько лет назад с натугой выкатил Windows Subsystem for Linux, где "как бы линукс" запускался под виндой (и запускал под собой приложения) не при помощи тяжёлой и глючной "виртуальной машины", а работая с виндой как с "как бы таким вот хитрым железом", я сразу вспомнил про VMS. Нет, это не в точности оно - в точности повторить и не получилось бы, да и то, что там изображает ядро линукса, они фактически переписали заново (подозреваю что по лицензионным, а не техническим, причинам), но где-то очень близко. Утраченные технологии иногда возвращаются, жаль что реже чем хотелось бы.
Но я к чему. Ещё до VMS, в файловых системах в DEC'овских операционках были "версии файлов". Полностью автоматические, не требующие ничего от приложений - при перезаписи файла создавался новый, с бОльшим номером версии, "по умолчанию" открывалась последняя версия, но при явном указании версии можно было обратиться к любой, ну и были утилитки по подчистке старых версий для освобождения места (обычно запускались автоматически, но можно и вручную). Было довольно удобно: если ты обнаружил, что удалил что-то нужное из документа, только после нескольких пересохранений, то у тебя в запасе был не только "предпоследний" файл (который ещё далеко не все программы создают), а "история" длиной минимум несколько версий (как настроить). Нет, конечно "безвозвратно грохнуть" можно было и там, но от случайных ошибок защищало неплохо, я такое еще застал, если что.
Где это в современных ОС/ФС?! Диски стали в 1000000 раз больше, проблем хранить десять/сто копий текущих рабочих файлов (их обычно не так уж много) нет, технологии этой скоро полвека исполнится, ну и где оно??
И вот в этом, я считаю, и состоит одна из фундаментальных проблем так называемого прогресса.
Q8: А где это есть и круче?
A8: В VMS!
VMS - это древняя, аж 78 года, операционная система, работавшая на таких же древних компьютерах (где память измерялась килобайтами, а мегабайтами измерялся объём диска), которая несмотря на это смогла заложить такое количество, так сказать, основ построения ОС, что современные операционные системы этот запас не вычерпали до сих пор, несмотря на то что скорость с тех пор поднялась минимум в 1000 раз, а объёмы - в 1000000 раз. Например идея, что если ядро операционной системы разделить на два слоя - отдельный слой работает с железом/памятью, и предоставляет интерфейс - не очень сложный - следующему слою, который уже собственно и реализует всё то, что должна делать ОС, и одновременно предоставляет "наружу" интерфейс, аналогичный тому что представляет верхний слой, то ОС можно будет запускать "друг под другом" в произвольной комбинации и с минимальными расходами - дорогостоящая виртуализация/эмуляция железа не нужна, один фиг ОС железо в этом случае не видит, а работает со стандартным интерфейсом - так вот, эта идея - из VMS, и вроде бы в чистом виде нигде больше реализована не была. И когда микрософт несколько лет назад с натугой выкатил Windows Subsystem for Linux, где "как бы линукс" запускался под виндой (и запускал под собой приложения) не при помощи тяжёлой и глючной "виртуальной машины", а работая с виндой как с "как бы таким вот хитрым железом", я сразу вспомнил про VMS. Нет, это не в точности оно - в точности повторить и не получилось бы, да и то, что там изображает ядро линукса, они фактически переписали заново (подозреваю что по лицензионным, а не техническим, причинам), но где-то очень близко. Утраченные технологии иногда возвращаются, жаль что реже чем хотелось бы.
Но я к чему. Ещё до VMS, в файловых системах в DEC'овских операционках были "версии файлов". Полностью автоматические, не требующие ничего от приложений - при перезаписи файла создавался новый, с бОльшим номером версии, "по умолчанию" открывалась последняя версия, но при явном указании версии можно было обратиться к любой, ну и были утилитки по подчистке старых версий для освобождения места (обычно запускались автоматически, но можно и вручную). Было довольно удобно: если ты обнаружил, что удалил что-то нужное из документа, только после нескольких пересохранений, то у тебя в запасе был не только "предпоследний" файл (который ещё далеко не все программы создают), а "история" длиной минимум несколько версий (как настроить). Нет, конечно "безвозвратно грохнуть" можно было и там, но от случайных ошибок защищало неплохо, я такое еще застал, если что.
Где это в современных ОС/ФС?! Диски стали в 1000000 раз больше, проблем хранить десять/сто копий текущих рабочих файлов (их обычно не так уж много) нет, технологии этой скоро полвека исполнится, ну и где оно??
И вот в этом, я считаю, и состоит одна из фундаментальных проблем так называемого прогресса.