Связывание файлов. Структура файловой системы с возможностью связывания файла с новым именем.
Иерархическая организация, положенная в основу древовидной структуры файловой современных ОС, не предусматривает выражения отношений, в которых потомки связываются более чем с одним предком. Такая негибкость частично устраняется возможностью реализации связывания файлов или организации линков (link).
Я дро позволяет пользователю связывать каталоги, упрощая написание программ, требующих пересечения дерева файловой системы. Часто имеет смысл хранить под разными именами одну и ту же команду (выполняемый файл). Например, выполняемый файл традиционного текстового редактора ОС Unix vi обычно может вызываться под именами ex, edit, vi, view и vedit файловой системы. Соединение между директорией и разделяемым файлом называется «связью» (link). Дерево файловой системы превращается в циклический граф.
Простейший способ реализовать связывание файла – просто дублировать информацию о нем в обеих директориях. Но, может возникнуть проблема совместимости в случае, если владельцы этих директорий попытаются независимо друг от друга изменить содержимое файла. Она может быть решена двумя способами. Первый – так называемая жесткая связь (hard link). Если блоки данных файла перечислены не в директории, а в небольшой структуре данных (например, в индексном узле), связанной собственно с файлом, то второй пользователь может связаться непосредственно с этой, уже существующей структурой.
Альтернативное решение – создание нового файла, который содержит путь к связываемому файлу. Такой подход называется символической линковкой (soft или symbolic link). При этом в соответствующем каталоге создается элемент, в котором имени связи сопоставляется некоторое имя файла. Для символической связи может создаваться отдельный индексный узел и даже заводиться отдельный блок данных для хранения потенциально длинного имени файла.
Каждый методов имеет свои минусы. В случае жесткой связи возникает необходимость поддержки счетчика ссылок на файл для корректной реализации операции удаления файла. Например, в Unix. Удаление файла одним из польз-ей уменьшает количество ссылок на файл на 1. Реальное удаление происходит, когда число ссылок становится равным 0.
В случае символической линковки такая проблема не возникает, так как только реальный владелец имеет ссылку на индексный узел файла
Проблема организации символической связи – потенциальное снижение скорости доступа к файлу. Файл линка хранит путь к файлу, содержащий список вложенных директорий, для прохождения по которому необходимо осуществить несколько обращений к диску.
Символический линк имеет то преимущество, что он может использоваться для организации удобного доступа к файлам удаленных компьютеров, если, например, добавить к пути сетевой адрес удаленной машины.
Циклический граф – структура более гибкая, нежели простое дерево, но работа с ней требует большой аккуратности. Т.к. к файлу существует несколько путей, программа поиска файла может найти его на диске несколько раз. Простейшее практическое решение данной проблемы – ограничить число директорий при поиске. Полное устранение циклов при поиске – довольно трудоемкая процедура, выполняемая специальными утилитами и связанная с многократной трассировкой директорий файловой системы.
- Связанный список. Хранение файла в виде связанного списка дисковых блоков.
- Индексные узлы.
- Управление свободным и занятым дисковым пространством.
- Структура файловой системы на диске. Примерная структура файловой системы на диске.
- Связывание файлов. Структура файловой системы с возможностью связывания файла с новым именем.
- Кооперация процессов при работе с файлами.
- Примеры разрешения коллизий и тупиковых ситуаций.
- Hадежность файловой системы.
- Целостность файловой системы.
- Порядок выполнения операций.
- Журнализация.
- Производительность файловой системы. Кэширование.
- Современные архитектуры файловых систем.
- Дополнительные возможности современных файловых систем (на примере ntfs ос Windows xp).
- Система управления вводом-выводом
- Физические принципы организации ввода-вывода.
- Общие сведения об архитектуре компьютера.
- Прямой доступ к памяти (Direct Memory Access – dma).
- Структура системы ввода-вывода. Логические принципы организации ввода-вывода.
- Структура подсистемы ввода-вывода. Драйверы.
- Функции подсистемы ввода-вывода.
- Компоненты подсистемы ввода-вывода (структурная схема).
- Диспетчер ввода-вывода.
- Типовая обработка ввода-вывода.
- Установка драйвера.
- Диспетчер электропитания.
- Сетевые и распределенные операционные системы.
- Взаимодействие удаленных процессов как основа работы вычислительных сетей.
- Основные вопросы логической организации передачи информации между удаленными процессами.
- Понятие протокола.
- Многоуровневая модель построения сетевых вычислительных систем. Семиуровневая эталонная модель osi/iso.
- Проблемы адресации в сети. Одноуровневые адреса. Двухуровневые адреса.
- Удаленная адресация и разрешение адресов. Схема разрешения имен с использованием dns-серверов.
- Основные понятия информационной безопасности. Угрозы безопасности
- Формализация подхода к обеспечению информационной безопасности.
- Криптография как одна из базовых технологий безопасности ос.
- Шифрование. Шифрование открытым ключом.
- Шифрование с использованием алгоритма rsa.
- Защитные механизмы ос. Идентификация и аутентификация
- Пароли, уязвимость паролей.
- Шифрование пароля.
- Авторизация. Разграничение доступа к объектам ос.
- Аудит системы защиты.
- Анализ некоторых популярных ос с точки зрения их защищенности: ms-dos; Windows nt/2000/xp; Windows Vista; Windows 7.
- Брандмауэр ос ms Windows.