VorobeY1326/CatFileSystem
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Задачка на файловую систему. Написана на C#, для запуска нужно использовать Visual Studio не ниже 2010, открывать файл CatFileSystem.sln Решение состоит из 3 папок: FS - сама файловая система CLI - консольный интерфейс к файловой системе Tests - тесты на файловую систему Для проверки можно запустить программу из Visual Studio или скомпилировать её и запустить exe. При этом должен будет запуститься консольный интерфейс с простыми командами вроде cat,echo,другие. Есть help команда с описанием. Особая команда - test, она запускает 10 потоков, проходящих файловую систему и выводящих размер файлов. Это команда как раз проверяет корректность блокировки. Для реализации блокировки использован алгоритм булочной, который позволяет неограниченное число параллельных потоков. Для реализации файловой системы используется файл, разделенный на 2 части. В первой части хранятся записи о названиях файла, содержащие имя файла и номер первого блока с его содержимым. Во второй части хранятся собственно блоки данных, каждый блок хранит байтовый массив информации и, возможно, ссылку на следующий блок файла. Я постарался прокомментировать каждый класс и некоторые методы. Но язык C# содержит много интересных возможностей, который могут показаться неочевидными тому, кто пользуется им не часто. Поэтому я готов отвечать на любые вопросы по синтаксису или логике самого решения.