Skip to content
lastr1otPublic

About

Реализация пользовательской файловой системы в оперативной памяти на языке C

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UserFS - In-Memory File System Реализация пользовательской файловой системы в оперативной памяти на языке C.

Описание:

UserFS - это упрощенная файловая система, которая хранится полностью в памяти (heap). Поддерживает базовые операции с файлами: создание, удаление, чтение, запись и изменение размера.

Технологии:

Язык: C (C99)
API: POSIX
Сборка: GCC/Clang с флагами -Wall -Wextra -Werror

Возможности:

Плоская структура файлов (без директорий)
Файлы как связный список блоков (аналог FAT)
Поддержка файловых дескрипторов
Чтение/запись с произвольной позиции
Изменение размера файла (resize)
Флаги открытия: read-only, write-only, read-write
Корректная работа с "файлами-призраками" (удаленные файлы с открытыми дескрипторами)

Быстрый старт

Сборка:

gcc -Wall -Wextra -Werror -o test test.c userfs.c

Запуск тестов:

./test

API:

ufs_open() - открыть/создать файл
ufs_write() - запись в файл
ufs_read() - чтение из файла
ufs_close() - закрыть дескриптор
ufs_delete() - удалить файл
ufs_resize() - изменить размер файла

Особенности реализации:

Отсутствие утечек памяти (проверено Valgrind/ASAN)
Отсутствие глобальных переменных
Двусвязные списки для файлов и блоков
Эффективное управление памятью

Тесты включают:

Базовые операции с файлами
Стресс-тесты (1000+ файлов)
Тесты на утечки памяти
Тесты корректности данных

About

Реализация пользовательской файловой системы в оперативной памяти на языке C

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages