Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабароторная № 1

.doc
Скачиваний:
1
Добавлен:
20.05.2014
Размер:
32.26 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Московский государственный институт электроники и математики

(технический университет)

Кафедра информационных технологий и автоматизированных систем

ОТЧЕТ ПО ЛАБОРАТОРНОМУ ПРАКТИКУМУ ЗА 2 СЕМЕСТР

ЛАБОРАТОРНАЯ РАБОТА №1

по дисциплине

«ОПЕРАЦИОННЫЕ СИСТЕМЫ»

Группа АП-41

Выполнил студент

Евдокимова Е.А.

Руководитель

Витушкин П.И..

Москва 2007

  1. Постановка задачи

При выполнении лабораторной работы необходимо разработать алгоритм и составить программу, имитирующую работу простейшей файловой системы(fat16), (в дальнейшем будем называть ее "системой"), которая должна выполнять перечисленные ниже действия:

– создание файлов и их размещение в файловой таблице fat;

– отображать изменения в таблице fat и корневом каталоге при соответствующих операциях с существующими файлами: переименования, копирование, изменение размера файла, удаление файла;

– возможно создание пользовательских папок-каталогов;

  1. Структура программы

Программа содержит:

Функции, которые обрабатывают нажатие на кнопки

void __fastcall saveClick(TObject *Sender); - функция создания файла и размещения его в таблицах;

void __fastcall directoryClick(TObject *Sender);

void __fastcall systemClick(TObject *Sender); функции, проверяющие

void __fastcall hidenClick(TObject *Sender); наличие атрибутов для создаваемого

void __fastcall read_onlyClick(TObject *Sender); файла

void __fastcall printClick(TObject *Sender); - функция, заполняющая таблицу по желанию пользователя, где отображены ячейки fat, которые занимает указанный пользователем файл, и содержание этих ячеек;

void __fastcall o4Click(TObject *Sender); - функция, которая очищает поля таблицы, где отображены ячейки fat;

void __fastcall del_fileClick(TObject *Sender);-функция, реализующая удаление файла, указанного пользователем;

void __fastcall BitBtn5Click(TObject *Sender);- функция, реализующая переименование файла, указанного пользователем;

void __fastcall BitBtn6Click(TObject *Sender); - функция изменения размера файла, указанного пользователем;

void __fastcall Button1Click(TObject *Sender); - функция копирования файла по указанному адресу;

void __fastcall Button2Click(TObject *Sender); - функция, реализующая удаление пользовательской папки-каталога вместе со всем ее содержимым;

void __fastcall Button3Click(TObject *Sender);- функция, реализующая дефрагментацию диска;

void __fastcall Button4Click(TObject *Sender);- функция выводит информацию о диске, о его емкости, размере кластера и количестве секторов в кластере.

Тестовый пример:

  1. Нажав на кнопку ‘справка’ – посмотрим информацию о диске : имя, емкость, размер кластера, количество секторов в кластере и размер кластера;

  2. Создадим папку dir1/; поместим в нее файл f1и папку dir2/;

  3. переименуем файл f1 в file1;

  4. копируем файл file1 из папки dir1/на диск z/;

  5. удалим папку dir1/ - вместе с ней удалится и все что в ней находится – file1 и dir2/;

  6. создадим на диске z/ еще несколько файлов file2, file3…

  7. их размещение в таблице Fat можно посмотреть во второй таблице, введя правильный путь и имя файла;

  8. уменьшим размер файла file2;

  9. создадим файл fil4;

  10. посмотрим во второй таблице как расположились файлы;

  11. увеличим размер файла file3;

  12. посмотрим размещение в ячейках ;

  13. удалим файл file4 ,при этом освободятся занимаемые им ячейки в таблице fat

  14. нажав кнопку “дефрагментация диска” cдвинем оставшиеся фалы в начало таблицы, таким образом избежим фрагментации дискового пространства.