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