Архитектура \ Общая идея
<<Назад
Ядро оперирует с т.н. обьектами. Каждый обьект содержит некоторое количество стандартных методов, и потдерживает некоторое количество стандартных интерфейсов. Обьекты организованы в некоторую древовидную структуру, корнем которой является ядро. В этой структуре есть обьекты- контейнеры (или просто контейнеры). Контейнер должен потдерживать соответствующий интерфейс. Он также владеет обьектами, которые расположены ниже по дереву и несёт ответственность за их корректное создание и удаление. Это позволяет написать сверхкомпактное микроядро, переложив всю специфическую работу на дочерние обьекты. Кроме интерфейса контейнера обьект может иметь ещё два: последовательный и блочный, которые используются в том случае если нужно получить доступ (последовательно, либо некоторыми блоками) к содержимому обьекта. В качестве обьектов может выступать что угодно, например: блок памяти, файл на диске, файловая система этого же диска, процесс, выполняющийся в данный момент и т.д. Ко всему вышеперечисленному применяются одинаковые подходы при программировании. Каждый обьект имеет связанные с ним некоторые флаги системы защиты (права на чтение, запись и т.п.). Для разных обьектов они могут иметь несколько разное назначение, учитывающее специфику обьекта. Пример- файл на диске и блок памяти.
<<Назад