Цитата Сообщение от Sayman Посмотреть сообщение
и флопы и винты изначально предпологается монтирование вообще в любую "папку".
и еще SD-карточки не забыть

в этом случае видится 2 проблемы

1) надо где-то хранить таблицы соответствия: путь монтирования - папка монтирования, при этом на каждую смонтированную папку может потребоваться максимум 255*2=510 байт плюс еще несколько байт параметры монтирования(только для чтение и т.д) -
где брать память - заранее резервировать не получиться,т.к. не известно сколько надо смонтировать файловых систем,т.е
надо добавить механизм выделения памяти - на случай,
если юзер захочет смонтировать например 7 папок (диск А,рамдиск сдром и еще 4 раздела на винте

2)как обеспечить взаимодействие оболочки с ядром?
вот если у Вас все функции в одном файле,можно смонтировать винты и флопы,и походить по папкам туда- сюда,а потом надо запустить прогу, Ваша оболочка исчезает из памяти, а ядро системы должно знать что куда примонтровано, и при вызове
функции загрузить каталог например /mnt, показывать
не пустую папку, а содержимое того раздела винта (или папки на разделе),которые туда примонтированы
т.е. надо что - в ядро добавить 2 новые функции - смонтировать/отмонтировать файловую систему
а оболочка будет эти функции вызывать

Цитата Сообщение от Sayman Посмотреть сообщение
тут просто надо прикинуть, чё да как. определение сменности устройства (т.е. определение флоп это или винт) можно как и раньше (сейчас) по 7му биту. как бы вот выбрать алгоритм обозначения разделов, для их монтирования, в том числе и самих дискет?! можно чтото типа mount fdd0 /a и получим что диск А смотрировали в папку А.
основной винт, с которого грузились, должен смонтироватся ессесно в / т.е. в рут. а вот другие разделы например, или уже другие винты,
mount hdd1 /указать_папку. т.е. если на винте несколько разделов, то hddx где х номер указывающий на раздел. в данном случае предпологаю ещё одно удобство - последняя цыфра посути указывает на номер раздела в таблице разделов. меньше поидее волокиты должно быть.
я у себя планирую упрощенно - про дискеты сказал,
а про винты хочу сделать вот так:
h1 - первый основной раздел на винте
h2 - второй основной раздел на винте
h3 - третий основной раздел на винте
h4 - четвертый основной раздел на винте
h5 - первый дополнительный(логический) раздел на винте
h6 - второй дополнительный(логический) раздел на винте
h7 - третий дополнительный(логический) раздел на винте
h8 - четвертый дополнительный(логический) раздел на винте

c0 - cd/dvd - master
c1 - cd/dvd - slave

для винта не указываем мастер/slave так как он будет один, а второе устройство - это cd/dvd (отдельно настраиваеться кто из них мастер а кто slave, а для двух
винтов еще надо допридумать - например второй винт
будет hb1,hb2 и т.д

для SD-карт можно просто s

и команду монтирования надо mo, т.е.
mo h5 /text - смонтировать первый дополнительный раздел в папку text для чтения и записи
mo h5 /text r - то же самое, только для чтения

а отмонтировать umo
и длинные команды тоже обрабатывать - если кто-то будет по привычке набирать mount/umount

и предлагаю никаких fdd0 - не более чем f0,f1,f2,f3
или fa,fb,fc,fd

Цитата Сообщение от Sayman Посмотреть сообщение
ещё момент - совместимость с ЦПМным софтом
ну это не ко мне - хотя в моём существующем ( для DNA OS) варианте sh я и использую несколько номеров функций и регистры(типа Е,символ) как в CP/M - но это мне не удобно,может, придется переделывать