Главная Операционные системы » Файлы » Лекции » Операционные системы [ Добавить материал ]

4. Файлы, файловые системы - презентация

[Скачать с сервера (168.2 Kb) - бесплатно] 21.03.2009, 14:49

Содержание лекции

  • Классификация файловых систем
  • Именование файлов. Каталоги. Пути
  • Мягкие и жесткие ссылки
  • Реализация файловых систем
  • Контроль доступа к файлам
  • Работа с файлами функциями CRT
  • Работа с файлами функциями WinAPI

Фрагменты из лекции

  • Целью файловой системы является абстрагировать пользовательскую программу от сложных операций с контроллерами устройств хранения данных, заменив их на простую логическую модель файлов
  • Файл — это именованная единица внешней памяти определенного пользователем размера, над которой могут быть выполнены операции чтения и записи данных.

Типы файлов:

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

Пути:

  • В качестве разделителя в ОС Unix используется дробная черта /, в ОС Windows — обратная дробная черта \
  • В путях могут встречаться особые имена:
    • . (точка) — указывает на текущий каталог;
    • .. (две точки) — указывает на родительский каталог.

Виды путей:

  • Абсолютный путь — содержит путь к файлу от вершины дерева каталогов (корневой папки)
    • в ОС Unix абсолютные пути начинаются с разделителя: /usr/local/apache
    • в ОС Windows абсолютные пути начинаются с имени диска и двоеточия: C:\Windows\explorer.exe
  • Относительный путь — содержит путь к файлу относительно текущего каталога, он начинается с имени файла или каталога: ../../usr/bin/perl

Учет блоков диска, принадлежащих файл:

  • таблица расположения файлов (file allocation table, FAT)
    • работает как предыдущая схема, но указатели хранятся не в самих блоках, а в отдельной таблице;
    • производительность растет, но таблица занимает много места в памяти, особенно при больших дисках;
    • наиболее известные ее реализации — FAT16 и FAT32, используемые в MS Windows.

Работа с файлами в CRT

  • В CRT существуют два способа работы с файлами:
    • работа на низком уровне (функции типа open, read, write, close) — функции прямо соответствуют системным вызовам ОС;
    • потоковый ввод/вывод (функции типа fopen, fread, fwrite, fclose, fprintf, fgets, fscanf) — обеспечивает дополнительную буферизацию средствами CRT и форматированный ввод/вывод (в случае текстовых файлов).
  • Эти два метода несовместимы в пределах открытого файла.

Файловые дескрипторы CRT

  • Для управления доступа процесса к файлам на низком уровне в CRT используются файловые дескрипторы — целые числа, являющиеся номерами в таблице открытых файлов процесса.
  • Дескриптор получается при открытии файла с помощью функции open, используется при вызовах функций read и write, закрывается при помощи функции close.
  • Дескрипторы 0, 1 и 2 указывают на стандартные потоки ввода, вывода и ошибок соответственно.

Права доступа к файлам в ОС Unix:

  • В ОС Unix права определяются тремя битами:
    • право на исполнение файла (1);
    • право на запись файла (2);
    • право на чтение файла (4).
  • Эти биты формируют число, задаваясь для трех категорий пользователей
    • для владельца файла (биты 6-8);
    • для группы владельца (биты 3-5);
    • для всех остальных пользователей (биты 0-2).
  • Для записи прав доступа удобно использовать восьмеричную константу, т. к. одна цифра в ней соответствует 24 3-м битам.

Работа с файлами в WinAPI

  • Дескриптор открытого файла имеет тип HANDLE
  • Файл открывается (и, при необходимости, создается) функцией CreateFile
  • Для чтения и записи существуют функции ReadFile и WriteFile
  • Любой дескриптор типа HANDLE закрывается функцией CloseHandle
  • Возможен асинхронный ввод/вывод
Похожие материалы:

Добавил: COBA (21.03.2009) | Категория: Операционные системы
Просмотров: 6467 | Загрузок: 1439 | Рейтинг: 0.0/0 |
Теги: презентация, лекция, PDF, ОСи, файлы
Комментарии (0)

Имя *:
Email *:
Код *: