Задать вопрос
@tigran_azz

Как реализовать файловую систему?

пишу свою ос на C и asm, есть загрузчик и ядро (в котором есть пока только вывод текста и ввод с клавиатуры), как можно на C или asm реализовать ФС? хотя бы источники какие то где можно почитать
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
1. Должен быть драйвер для работы с диском (если ты не в real режиме)
2. Придумай какой-нибудь формат, как ты будешь данные на диски хранить
3. Нужно реализовать какие-то системые вызовы для обращения к файловой системе

Чтобы не придумывать что-то совсем с нуля - возьми какой-нибудь FAT12/16/32, они хорошо задокументированы.
Если с виртуальной машиной или эмулятором работаешь, то проще всего будет реализовать драйвер для чего-нибудь древнего типа IDE / ATA / PATA.

Читать тут:
https://wiki.osdev.org/Expanded_Main_Page
Ответ написан
Комментировать
@alzneo
Я в качестве первой ФС брал FAT16. Она очень простая и поддерживается практически всеми современными системами. Гугли "Microsoft FAT Specification", - это PDF на 37 страниц, подробный, последовательный, с примерами кода.
Используй INT 13h для доступа к накопителю. Напиши свою утилиту format. Если отформатированный твоей утилитой накопитель распознает сторонняя система, то ты на правильном пути :)
Дальше пишешь функции для чтения, записи и удаления файлов в FAT - это тоже будут обёртки над INT 13h: прочитал сектор(а) в буфер, модифицировал, записал.
Ответ написан
Комментировать
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Есть же https://wasm.in/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы