Статья:

МОДЕЛИРОВАНИЕ УПРАВЛЕНИЯ ФАЙЛАМИ НА ОСНОВЕ ОПЕРАЦИОННОЙ СИСТЕМЫ

Конференция: CCLXX Студенческая международная научно-практическая конференция «Молодежный научные форум»

Секция: Технические науки

Выходные данные
Хуан Ц. МОДЕЛИРОВАНИЕ УПРАВЛЕНИЯ ФАЙЛАМИ НА ОСНОВЕ ОПЕРАЦИОННОЙ СИСТЕМЫ // Молодежный научный форум: электр. сб. ст. по мат. CCLXX междунар. студ. науч.-практ. конф. № 38(270). URL: https://nauchforum.ru/archive/MNF_interdisciplinarity/38(270).pdf (дата обращения: 15.11.2024)
Лауреаты определены. Конференция завершена
Эта статья набрала 0 голосов
Мне нравится
Дипломы
лауреатов
Сертификаты
участников
Дипломы
лауреатов
Сертификаты
участников
на печатьскачать .pdfподелиться

МОДЕЛИРОВАНИЕ УПРАВЛЕНИЯ ФАЙЛАМИ НА ОСНОВЕ ОПЕРАЦИОННОЙ СИСТЕМЫ

Хуан Цзинсюань
студент, Шэньянский технологический университет, Китай, г. Шэньян

 

1. Функциональный анализ

Анализ требований к моделируемому управлению файлами в основном сводится к пониманию принципа работы файловой системы операционной системы и углубленному освоению методологии проектирования команд работы с файлами путем моделирования системы управления файлами.

Управление каталогами: поддержка создания, удаления, отображения и других операций многоуровневой структуры каталогов. Поддержка переключения текущего каталога (команда cd).

Управление файлами: поддержка создания файлов (команда edit), удаления (команда delfile), переименования (команда rename) и других операций. Поддержка управления правами на чтение и запись файлов.

Операции с содержимым файлов: поддержка отображения и изменения содержимого файлов.

Управление пространством хранения: при создании файла или каталога используется метод динамического приложения для запроса выделения пространства хранения. При удалении файла или каталога запрашиваемое пространство должно быть освобождено.

Обработка ошибок: при нелегальной работе или несуществующих файлах/каталогах должны выдаваться понятные сообщения об ошибках.

2.Идеи дизайна

Разберитесь в основных принципах работы файловой системы операционной системы. Изучите метод проектирования команд работы с файлами. Углубите понимание некоторых проблем файловой системы и улучшите способность к проектированию программного обеспечения и логическому мышлению.

Инициализация системы: построение начальной структуры каталогов и выделение соответствующего пространства для хранения данных.

Выполнение команд: пользователь выбирает команду операции, которая должна быть выполнена, в соответствии с опциями меню, предоставляемыми системой, и система выполняет соответствующую операцию в соответствии с командой.

Обработка ошибок: индикация и обработка ошибок, связанных с переименованием файлов или каталогов, несуществованием файлов или каталогов, удалением файлов, доступных только для чтения, и используемых файлов.

Вывод на экран: после каждого выполнения команды операции структура каталогов после выполнения команды будет выводиться на экран, чтобы пользователи могли наблюдать за ситуацией выполнения.

Управление файлами предназначено для предоставления пользователям вызовов, связанных с файлами и каталогами, унификации управления пространством хранения файлов, определения места и формы хранения файлов, а также выполнения операций доступа к файлам и защиты общего доступа.

3. Ключевой код

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

struct diskblock

{

         bool occupy=0; //занят или нет

         char block[blockSize]; //содержимое блока

};

struct disk

{

         int freeblock = blockNum;

         diskblock Disk[blockNum]; //Содержание блока.

};

Класс File (Файл), который используется для хранения структуры данных файла. Связи файла с блоками данных и каталогами реализуются с помощью указателей.

класс File (Файл)

{

public.

         char FileName[20]; //имя файла

         char FileType[4]; //атрибуты файла

         int FileLength; //размер файла

         bool readOnly; //Прочитать только для чтения

         bool shared; //обмен файлами

         bool isOpen; //Открыт ли файл?

private.

         int* Index; //файл соответствует блоку данных

}

Класс Directory в основном используется для связывания файлов. Поскольку в данной операционной системе используется древовидная структура, то для записи связей типа father в древовидную структуру добавляется соответствующая структура каталогов.

класс Directory

{

         public.

                   char dirName[20];//имя каталога

                   int dirLength; //размер файла

                   bool readOnly; //только чтение

                   bool shared; //общая папка

                   int subDirMaxNum = INITNUM; //FileMaxNum; //FileMaxNum; //FileMaxNum = INITNUM

                   int fileMaxNum = INITNUM; //Размер файла

                   int fileMaxNum; int fileMaxNum = INITNUM; int filenum; //Разделение папки

                   int subdirnum; //SubdirNum; //SubdirMaxNum = INITNUM

         private.

                   Directory* fatherDir; int

                   Directory** subDir; File** filelist; int

                   Directory* fatherDir; Directory** subDir; File** filelist.

}

Описание ключевых функций:  Функции инициализации

void initializeSystem().

Выполнение операций над каталогами

Directory* getFatherDir();

         Directory* getSubDir(const char*nanme);

         File* getFile(const char* name);

         int mkDir(const char* dirname);

         int delDir(const char* dir);

Основные операции над файлами

int createFile(const char* dirname).

         int delFile(const char* file);

         void reName(const char* name);

         char* readFile() const;

         void writeFile( const char* buffer).

         File* copyFile() const;

 

Список литературы:
1. Электронный ресурс https://www.ixbt.com/storage/boot-man1.shtml?ysclid=m2hu3nuy5f732543337