Система операций над файлами. Типы доступа к данным файла. Защита файлов и данных в ОС. Обеспечение целостности FS. Восстанавливаемость после сбоев ОС и аппаратуры

Файловые системы можно классифицировать по степени персонификации доступа к содержимому файлов. Соответственно могут быть:

n однопользовательские файловые системы;

n многопользовательские файловые системы.

Однопользовательская ФС - система, в которой не регламентируется доступ к содержимому файлов от имени любого пользователя.

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

Свойства файлов:

1. Файл представляет собой некую сущность, имеющую имя и позволяющую оперировать со своим содержимым через ссылку на имя файла.

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

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

1) Открытие файла. Эта функция обеспечивает установление взаимосвязи между программой и хранящимся на внешнем носителе файлом. Это средство объявляет операционной системе тот факт, что с данным файлом будет работать тот или иной процесс. Операционная система, исходя из этой информации, может принять решения по изменению статуса файла (например, блокировать, разрешить или синхронизировать доступ к этому файлу со стороны других процессов и т.п). При открытии файла система формирует внутренние наборы данных, необходимые для работы с содержимым файла. С этими наборами данных ассоциируется понятие файлового дескриптора.

2) Закрытие файла. Закрытие файла - информация операционной системе о том, что работа с файлом завершена. При этом меняется статус доступа к файлу со стороны процессов. Операция закрытия файла осуществляется двумя функциями:

n закрыть и сохранить текущее содержимое файла;

n уничтожить файл.

3) Создание нового файла. Функция создает новый файл. В некоторых ОС создание файла осуществляется по функции открытия файла.

4) Чтение/запись. Обычно обмен с файлами производится некоторыми блоками данных. С одной стороны, размеры этих блоков данных могут варьироваться программистом, с другой стороны, реальные физические ресурсы имеют блочную структура и, следовательно, определенный размер блока. Поэтому эффективность обменов, а, следовательно, и эффективность работы всей ВС в целом, в данном случае зависит от квалификации программиста. Отметим, что в современных операционных системах заложены механизмы сглаживания подобного рода неэффктивности.

5) Управление файловым указателем. С каждым открытым файлом связано такое понятие, как файловый указатель. Этот указатель в каждый момент времени показывает на следующий относительный адрес по файлу, с которым можно произвести обмен. После обмена с данным блоком указатель переносится на позицию через блок. Для организации работы с файлами необходимо уметь управлять этим указателем. В операционных системах определена функция, позволяющая произвольным образом перемещать указатель в пределах файла. Доступ к содержимому файла может быть прямыми и последовательным. Вообще говоря, файловый указатель есть некоторая переменная, доступная программе, которая создается при открытии файла.

4. Персонификация и защита данных. Персонификация – возможность системы «опознавать» конкретного пользователя и ассоциировать с ним его файлы. Защита доступа к содержимому файлов обычно включает в себя права на выполнение следующих действий:

· чтение

· запись

· исполнение содержимого как процесс

Отметим, что персонификация и защита данных – это свойство всей ОС в целом.