Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная ОС_4.doc
Скачиваний:
9
Добавлен:
13.03.2016
Размер:
71.68 Кб
Скачать

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

ФАЙЛОВАЯ СИСТЕМА ОС UNIX

Цель работы

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

Содержание работы

  1. Познакомиться с файловой системой ОС UNIX и программными средствами работы с ней.

  2. Ознакомиться с заданием к лабораторной работе.

  3. Для своего варианта составить программу на языке Си, реализующую требуемые действия.

  4. Отладить и оттестировать составленную программу, используя инструментарий ОС UNIX.

  5. Защитить лабораторную работу, ответив на контрольные вопросы.

Методические указания к лабораторной работе

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

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

Каталоги представляют собой файлы особого типа, каждый элемент каталога состоит из двух полей: поля имени файла и поля, содержащего указатель на дескриптор файла, где хранится вся информация о файле: дата создания, размер, код защиты, имя владельца и т.д. В любом каталоге содержится, по крайней мере, два элемента, содержащие в поле имени файла имена "." и "..". Элемент каталога, содержащий в поле имени файла контекст ".", в поле ссылки содержит ссылку на дескриптор файла, описывающий этот каталог. Элемент каталога, содержащий в поле имени файла контекст "..", в поле ссылки содержит ссылку на дескриптор файла, в котором хранится информация о родительском каталоге текущего каталога. Перед именем каталога, как правило, стоит косая черта /. Косая черта в начале имени обозначает "корневой каталог", который является, точкой, в которой "склеены" между собой все диски системы. В ОС UNIX никогда не обращаются к самому диску, а всегда - к подкаталогам корневого каталога.

Специальные файлы - это файлы, каждому из которых ставится в соответствие внешнее устройство, поддерживаемое ОС UNIX и имеющее специальную структуру. Его нельзя использовать для хранения данных, как обычный файл или каталог. В то же время над специальным файлом можно производить те же операции, что и над обычным файлом: открывать, вводить и/или выводить информацию и т.д. Результат применения любой из этих операций зависит от того, какому конкретному устройству соответствует обрабатываемый специальный файл, однако в любом случае будет осуществлена соответствующая операция ввода-вывода на внешнее устройство, которому соответствует выбранный специальный файл.

Четвертый вид файлов – каналы. Программные каналы представляют собой средство обмена данными между процессами в UNIX.В этом случае для выполнения обмена используются не команды чтения/записи в память, а функции чтения/записи в файл. Программный канал считается файлом, для работы с ним используются те же операции, что для последовательного доступа к файлу: открытие, чтение, запись, закрытие. Однако источником читаемых данных служит не файл на диске, а процесс, выполняющий запись в другой конец канала. Данные, записанные одним процессом, но пока не прочитанные другим, хранятся в системном буфере. Если же процесс пытается прочесть данные, которые пока не записаны другим процессом, то процесс-читатель блокируется до получения данных.

В представленной ниже таблице приведены системные функции ОС UNIX для работы с файловой системой.

Таблица 1