Существуют ли операционные системы, которые не основаны или не используют систему файлов / каталогов? - PullRequest
2 голосов
/ 04 ноября 2011

Кажется, что в операционной системе нет ничего, что требовало бы такой абстракции / метафоры.

Если так, то что они? Они все еще используются где-нибудь? Мне было бы особенно интересно узнать о примерах, которые можно запускать / экспериментировать на стандартном настольном компьютере.

Ответы [ 3 ]

2 голосов

Примерами являются Persistent Haskell, Squeak Smalltalk и KeyKOS и его потомки.

Кажется, что нет ничего, что присуще операционной системе это обязательно потребует такого рода абстракции / метафоры.

В этом нет необходимости, это полностью фальшивка. Фактически, принуждение к тому, чтобы все было доступно через понятное человеку имя, в корне ошибочно и не позволяет обеспечить безопасность из-за треугольника Зуко.

Примеры подобных иерархий также встречаются в DNS, URL-адресах, системах модулей языка программирования (два хороших примера - Python и Java) и торрентах, X.509 PKI.

Одной из систем, устраняющих некоторые проблемы, вызванные PKI DNS / URLs / X.509, является Waterken's YURL .

Все эти системы демонстрируют нелепые проблемы, потому что система разработана вокруг какой-то причудливой иерархии, а не для чего-то, что действительно имеет значение.

Я планировал написать несколько блогов, объясняющих, почему эти типы систем плохие, я обновлю их ссылками, когда доберусь до них.

2 голосов
/ 04 ноября 2011

Я нашел это http://pages.stern.nyu.edu/~marriaga/papers/beyond-the-hfs.pdf, но это с 2003 года. Вы ищете что-то подобное?

1 голос
/ 29 ноября 2011

Около 1995 года я начал проектировать объектно-ориентированную операционную систему (SOOOS), в которой нет файловой системы.Почти все это объект, который существует в виртуальной памяти, которая отображается / выгружается непосредственно на диск (локальный или сетевой, т. Е. Избыточные облачные вычисления).

В программах для чтения и записи данных много работыв определенных форматах.Изображение никогда не читает и не записывает файлы.

В SOOOS нет таких вещей, как файлы и каталоги, автономные объекты, которые по сути заменяют файлы, могут быть организованы в соответствии с вашими потребностями, а не просто ограниченная иерархическая файловая система.

Нет низкоуровневых структур форматов дисков (т. Е. Кластеров) с дополнительным уровнем абстракции и накладных расходов на трансляцию.Служебная память SOOOS просто ограничивается таблицами страниц, которые можно быстро проиндексировать, как при обычной подкачке виртуальной памяти.

Каждый автономный объект имеет свое собственное динамическое пространство виртуальной памяти, которое служит постоянным хранилищем данных.Когда они активны, они получают контекст задачи и добавляются в список задач активного процесса, а затем существуют как процессы.

В моем проекте устранена большая сложность, просто создайте экземпляры объектов в программе и позвольте диспетчеру памяти иСистема виртуальной памяти обрабатывает все последовательно с минимальными издержками.Загрузка операционной системы - это просто вопрос загрузки базового ядра для настройки таблиц страниц виртуальной памяти в ключевые объекты ОС и (пере) запуска задач объекта ОС.Когда компьютер выключен, выключение по сути аналогично режиму гибернации, поэтому ОС практически находится в состоянии мгновенного включения,

Части (страницы) данных и кода загружаются только по мере необходимости.Например, чтобы отредактировать документ, вместо запуска программы путем загрузки всего исполняемого файла в память, просто загрузите структуру управления задачами автономного объекта и установите указатель инструкции на функцию, которая должна быть выполнена.Код отображается только тогда, когда указатель инструкций пересекает его виртуальную память.Данные всегда сразу готовы к использованию и просто выгружаются только при обращении к ним без необходимости разбора файлов и управления структурами данных, которые часто имеют представление в памяти из вторичного хранилища.Просто используйте собственный механизм выделения памяти программы и абстрактные типы данных без разрозненных и / или избыточных структур данных.

Объектный тип связывания и встраивания взаимодействия программ, сопоставления памяти и межпроцессного взаимодействия, которые вы получаете практически бесплатно как одинбудет осуществлять совместное использование памяти, используя возможности модуля управления памятью процессора.

...