Я разработал базовое ядро в сборке/c, которое запускает базовый терминал. Я установил его, чтобы убежать от iso с grub.Файловая система Toy OS
Я хотел бы продолжить эту ОС, но без файловой системы мне кажется, что я ничего не могу сделать. После много времени в Интернете, я придумал действительно ничего, что я могу сделать, чтобы реализовать это.
Люди заявили о внедрении FAT или создании VFS, но ничего больше, ни учебники, ни ссылки нигде.
Не могли бы вы объяснить, как работает файловая система, где я могу начать/где я могу подключиться к предварительно подготовленной системе и как ее использовать?
Кроме того, у меня нет доступа к стандартным библиотекам при компиляции моих os. Я использую gcc, nasm, ld и grub-mkrescue (для образа диска). Я использую qemu для эмуляции.
EDIT, чтобы сделать меньше OT
Может кто-то описать в деталях, как работает файловая система, поэтому, когда я смотрю на источники файловых систем, которые были реализованы, как FAT, я могу понять, как применить его к моей собственной операционной системе?
EDIT - Simpler
Еще проще. Как я могу напрямую получить доступ к жесткому диску? Мое ядро работает полностью в защищенном режиме, поэтому я могу отключить и записать прямо на жесткий диск. Файловая система может быть реализована с файлом вида:
имяспециальный символтекстспециальный обугленного
т.е.:
привет world.script0x00println «Привет, мир!»0x00
Где бы не нужна специальная сегментацию, вы бы просто посмотреть, пока вы не найдете имя файла и специальный символ (что-то не в строку, как «\ 0»), а затем читать, пока вы найдите второй нестроковый символ.
Будет ли доступ к жесткому диску путем включения и выхода из защищенного режима или записи драйвера жесткого диска для его реализации?
Извините. Вопросы, предлагающие нам рекомендовать или находить книгу, инструмент, библиотеку программного обеспечения, учебное пособие или другие ресурсы вне сайта, не соответствуют теме переполнения стека, поскольку они, как правило, привлекают упрямые ответы и спам. Вместо этого опишите проблему и то, что было сделано до сих пор, чтобы ее решить. – Olaf
Вы ничего не нашли, например, в файловой системе FAT? Что относительно [Проекта файловой системы FAT] (https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system)? Это всего лишь одна из многих ссылок, полученных при поиске в Google. Конечно, нет учебников, которые помогут вам поэтапно составить код файловой системы, но все детали, которые вам нужны о том, как разложены различные файловые системы, существуют с диаграммами и т. Д. – lurker
Ответ на ваш вопрос вопрос о том, как работает файловая система, зависит от файловой системы. Есть много информации, если вы Google «как работает файловая система». Вот одна статья, которая может быть полезной для начала, поскольку она объясняет некоторые вещи в целом несколькими примерами: [Files Systems: FAT, NTFS и HFS +] (http://study.com/academy/lesson/files-systems -fat-HFS-NTFS-и-ffs.html). Вы можете найти похожие статьи, в которых рассказывается о файловых системах Linux (ext2, ext3 и т. Д.). К сожалению, вопрос по-прежнему слишком широк, чтобы быть в теме для этого форума. – lurker