Операционная система на основе базы данных - PullRequest
10 голосов
/ 16 февраля 2010

Здесь, где я работаю, я посещаю серию лекций об оптимизаторах запросов к базе данных. В то время как докладчик представлял базы данных, он сделал очень проницательный комментарий о том, что ядру приходится в основном администрировать таблицы процессов, указатели для открытия файлов, иноды и т. Д., И, следовательно, это в основном POSIX-совместимое ядро ​​базы данных. Ясно, что, прочитав Баха давным-давно, когда я был молодым и более неопытным, мне никогда не приходилось анализировать эту вещь с этой точки зрения, но это в корне верно.

Как вы можете себе представить, гуглить нелегко ... поэтому я спрашиваю: мне было интересно, разработал ли какой-нибудь сумасшедший парень (надеюсь, просто для удовольствия, настоящий забавный) пользовательское пространство POSIX- совместимое ядро ​​поверх MySQL ...

Редактировать : обратите внимание. Я не говорю о ядре, имеющем файловую систему базы данных. Я говорю о ядре, у которого все состояние ring-0 обрабатывается MySQL.

Редактировать 2 : разъяснение, как мне кажется, меня неправильно поняли. Я не искал это, чтобы использовать это в производстве. Мне просто интересно, если кто-то сделал это, потому что он хотел повеселиться. real fun был ссылкой на тот факт, что Linux был сделан "просто для удовольствия", как я писал, но он оказался серьезным продуктом, поэтому мое добавление real подразумевает полное отсутствие серьезности. Есть куча бесполезных проектов, которые сделаны только потому, что они необычные или достаточно сумасшедшие, чтобы быть забавными просто для идеи этого. Мой вопрос искал что-то, разработанное с этой точки зрения.

Ответы [ 4 ]

4 голосов
/ 16 февраля 2010

Я не знаю, было ли это сделано, но если так, я бы не хотел его использовать. Независимо от того, насколько быстро это было, я не могу поверить, что это будет так же быстро, как сильно настроенный, специфичный для ядра набор структур данных. Я бы подумал, что вы начнете выбрасывать функции как можно быстрее из БД общего назначения, чтобы повысить производительность, и, скорее всего, в конечном итоге получите что-то более медленное, чем специализированная структура данных.

1 голос
/ 16 февраля 2010

Я ожидал бы, что целью любого курса по операционной системе будет обучение студентов интерфейсам программного / аппаратного обеспечения, присущему параллелизму в работе с оборудованием, различным методам синхронизации, управлению физической и виртуальной памятью и т. Д. И, таким образом, правильному проектированию соответствующих данных ядра структур. Также есть богатая история и открытый исходный код.

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

0 голосов
/ 16 февраля 2010

Это не сработает - по определению MySql зависит от Ядра, чтобы функционировать (это процесс, и для того, чтобы функционировать, ему нужен доступ к файловой системе), и поэтому мы остаемся в невозможном «который приходит первым» ситуация.

0 голосов
/ 16 февраля 2010

BeOS был основан на базе данных, не так ли?

В другом направлении, Plan 9 делает все частью файловой системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...