Как явный проект, я в настоящее время разрабатываю ядро, чтобы лучше понять все аспекты реальной ОС. До сих пор я решил создать плоскую физическую модель памяти с поддержкой пейджинга и основными прерываниями (клавиатура и, возможно, трекпад/мышь далее). Я думал, что шаг вперед будет заключаться в реализации файловой системы, и я увлекаюсь ext2. Я огляделся вокруг, даже на SO, но нет явного ответа, который отвечает на мои вопросы:Пользовательское ядро: реализация файловой системы
- Возможно ли написать драйвер для доступа к файловой системе ext2 на C или мне нужно пойти ниже?
- Если я планирую получить доступ к файловой системе с устройства USB, я предполагаю, что мне нужно будет сначала запустить драйвер устройства для USB. Любая помощь по этому вопросу будет принята с благодарностью.
- Я знаю, что код для обнаружения файловой системы уже доступен в MINIX и других ядрах, но я действительно хочу знать, хочу ли я создать обычную, хотя и простую файловую систему, как мне это сделать? Я тоже рассматриваю эту возможность.
Приносим извинения, если вопрос и данные звучат немного неосведомленно, но я все еще участвую в процессе обучения.
Спасибо :)
И все это в несколько сотен символов, которые вы можете ввести в ответе поле ... The 'ext2' в одиночку драйвер в ядре Linux несколько севернее 8000 строк кода ... – twalberg
Вы пишете, что вы разрабатываете ядро? Вы создаете целую операционную систему или просто ядро? – swaechter
Я не совсем понимаю, что вы говорите, twalberg. Я понимаю его сложность, поэтому я даже попросил руководство по написанию и обнаружению более простой файловой системы. Albertus, пока я стараюсь не различать ОС и ядро. Я могу с уверенностью сказать, что в пользовательском пространстве ничего нет. Я не ищу явный код, но больше абстрактного кикстарта для всего процесса. – plaknas