![]() |
Функционал TR-DOS
Перечитывал не так давно спектрумовские газеты/журналы и чуть ли не в каждом втором в статьях, посвященных TRDOS присутствуют жалобы на сокращенный функционал сей системы- типа это просто перенесенная на дискеты ленточная система.
И возникла у меня, в общем-то, до безобразия простая и понятная идея небольшого расширения возможностей сабжа безо всякой потери совместимости. Имеется проблема удаленных файлов- они занимают ячейки в далеко не резиновой структуре каталога и занимают место на диске (тоже далеко не безграничное). Можно этот процесс соптимизировать- использовать для записи новых файлов место под удаленными. Это не приведет ни к какой потере совместимости или особо большим сложностям. Имеем две операции, которые можно проделать с диском: 1) оптимизация каталога. Рядомлежащие удаленные записи в каталоге склеиваются в минимум записей (а-ля сателлиты), суммарная мнимая длина которых будет равна суммарной мнимой длине удаленных записей 2) запись файлов заранее известной длины (а в 99% так всегда) поверх удаленых файлов. Здесь, думаю, все ясно и понятно- добавляем запись в каталог, отрезаем от свободного места сколько заняли, возможно создаем новую запись (если "удаленная" запись одна). Возможно, придется делать еще раз оптимизацию. Если каталог заполнен не сильно, то оптимизацию можно делать упрощенную- не сокращать число удаленных записей, но распределять размеры между ними- максимум первым и минимум (1 сектор) последним. Это создаст своеобразный пул свободных записей, которые можно быстро использовать для записи. Думаю, такой функционал вполне можно поддержать (хотя бы опционально) в дисковых коммандерах или других программах. Кто что думает? |
А чем с этой точки зрения DirSys не устраивает?
|
Ты бы еще спросил "а как ты относишься к популяции нигерийских тушканчиков".
DirSys никоим боком не относится к вопросу- про директории я ни слова не говорил, только про использование свободного места на диске. DirSys имеет отношение к этому такое же, как и к команде MOVE, ибо изменяется порядок записей в каталоге. |
Ты просто подумай, а то любишь торопиться. DirSys относится прямым образом, поскольку позволяет некоторые косяки тырдоса обходить. С другой стороны, в ОСях пример был NKDOS там вообще использовался подход, который я сам в своё время планировал - каждый файл может быть одинаково файлом или каталогом (если имеет длину 8 секторов). В таком случае в нём можно хранить дополнительно ещё 128 файлов, т.о. можно безболезненно создавать сколько угодно файлов, т.к. уже в корне есть по меньшей мере 128 каталогов, и так далее плоди сколько хочешь.
Ты выставил две проблемы: мало файлов и нерациональное использование свободного места. Эти проблемы можно решить только изменением файловой структуры (смотри выше). Сам же тырдос никто переделывать не будет, практика показала что ничего хорошего с этого не выходит. |
1) DirSys позволяет без большого геморроя обойти только один косяк трдоса- отсутствие каталоговой системы
2) Выставленные мною две проблемы можно если не решить, то облегчить (особенно вторую) предлагаемым способом (кстати никоим образом не переделывая трдос, это просто расширение функционала прикладных программ, никоим образом не затрагивающее ядро). |
Quote:
А вообще здравая мысль, почему бы и да, как говориться. :) |
Quote:
|
Quote:
|
Quote:
Имхо такой функционал нужен как раз коммандерам. Остальным приложениям он не особо нужен (но и не помешает). Если есть место в коде- можно и вставить. |
Я это Grand'у и предлагаю. Правда там с местом для кода напряг жуткий.
|
| All times are GMT +4. The time now is 21:01. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.