Похожие презентации:
Лекция 5
1.
Файловая система и вводвывод информации.
2. Файловая система
Файловая система – часть ОС, включающая:– Совокупность всех файлов на дисках;
– Наборы структур данных, используемых для управления (каталоги, дескрипторы
файлов, таблицы распределения свободного и занятого пространства);
– Комплекс системных программных средств, реализующих операции над файлами
(создание, удаление, чтение, запись, именование и поиск файлов).
– В многопользовательских системах добавляются функции по обеспечению защиты
данных от несанкционированного доступа.
Файловые системы поддерживают несколько функционально различных типов
файлов:
–
–
–
–
–
Обычные файлы;
Каталоги;
Ссылки;
Именованные каналы;
Конвейеры и т.д.
3. Многослойная модель подсистемы ввода-вывода
Многослойная модель подсистемы вводавыводаAPI
Диски
Графические устройства
Сетевые устройства
Системные вызовы
Блок-ориентированный интерфейс
диспетчер окон
VFS
UFS
NTFS
HTTP
FAT
дисковый кэш
драйвер HD
Байт-ориентированный интерфейс
FTP
TCP/UDP
Графические
драйверы
IP
Ethernet
драйвер FD
Диспетчер прерываний
IPX
SMB
SPX
NetBEUI
ATM
4. Атрибуты файла
Атрибут – информация, описывающая некоторые свойствафайла, например:
– Тип файла
– Владелец файла
– Создатель файла
– Пароль для доступа к файлу
– Информация о разрешенных
операциях к файлу
– Время создания, последнего
доступа и модификации
файла
– Признак «только для чтения»
– Признак «скрытый файл»
– Признак «системный файл»
– Признак «двоичный/
символьный файл»
– Признак «временный файл»
– Признак блокировки
– Длина записи в файле
– Др.
5.
Базовые вопросы (понимание терминов и концепций)1. Что такое файловая система? Какие основные задачи она решает?
2. Объясните разницу между понятиями "файл" и "каталог" (папка).
3. Что такое путь к файлу? В чем разница между абсолютным и относительным путем? Приведите примеры.
4. Назовите и кратко охарактеризуйте основные операции с файлами: создание, чтение, запись, удаление,
переименование.
5. Что такое метаданные файла? Какие примеры метаданных вы знаете?
6. Объясните, чем отличается буферизованный ввод-вывод от небуферизованного. Какой из них обычно
эффективнее и почему?
7. Что такое файловый дескриптор и для чего он используется в операционной системе?
Вопросы среднего уровня (понимание устройства и механизмов)
1. Какие основные структуры данных используются для организации файловой системы на
диске? (Например: загрузочный сектор, таблица размещения файлов, inodes, MFT)
2. Объясните разницу между файловыми системами FAT32, NTFS и ext4. В чем ключевые преимущества и
недостатки каждой?
3. Что такое инод (inode) в UNIX-подобных системах? Какую информацию он хранит?
4. Что такое "жесткая ссылка" (hard link) и "символическая ссылка" (symbolic link)? В чем их принципиальное
различие?
5. Опишите, как происходит процесс открытия файла на низком уровне, с момента запроса от программы до
получения файлового дескриптора.
6. Что такое монтирование файловой системы? Приведите аналогию из реальной жизни.
7. Почему операция случайного доступа к произвольному месту в большом файле может быть медленнее,
чем последовательное чтение?
8. Что такое права доступа к файлам в системах Linux? Как они обозначаются и как их можно изменить?
6.
Сложные и практические вопросы (анализ, сравнение, решение задач)1. Опишите этапы загрузки операционной системы с точки зрения работы с файловой системой. Какие файлы и где ищет
загрузчик?
2. Каковы могут быть причины фрагментации файлов? Как разные файловые системы (FAT vs NTFS/ext4) борются с этим
явлением?
3. Что такое журналируемая файловая система? Опишите процесс журналирования и объясните, как он помогает сохранить
целостность данных при сбое.
4. Чем потоковый ввод-вывод (например, для аудио/видео) принципиально отличается от побайтового чтения/записи
конфигурационного файла?
5. Представьте, что программа пишет данные в файл. Объясните цепочку действий: от вызова функции write() в коде до
физической записи битов на жесткий диск или SSD. Какие уровни кэширования встречаются на этом пути?
6. Почему операция удаления файла происходит очень быстро, даже если файл был очень большим? Когда физически
освобождается место на диске?
7. Какие существуют механизмы для работы с файловой системой в многопоточных и многопроцессорных приложениях? Как
избежать конфликтов?
8. В чем заключаются основные отличия в работе файловой системы с HDD (жестким диском) и SSD (твердотельным
накопителем)? Как эти отличия влияют на проектирование современных ФС?
9. Что такое "inode exhaustion" (исчерпание инодов) и к каким последствиям это может привести, даже если на диске есть
свободное место?
10. Сравните модель ввода-вывода, основанную на потоках (streams), и модель, основанную на сообщениях (message-passing).
Где и когда применяется каждая из них?
Вопросы для программистов (прикладные)
1. В чем разница между функциями fopen() / fread() и open() / read() в языке Си?
2. Что такое "race condition" (состояние гонки) при работе с файлами? Приведите пример и способы его предотвращения.
3. Объясните, зачем нужна функция fsync() и в каких приложениях ее использование критически важно?
4. Как бы вы реализовали простой механизм логирования, чтобы записи в лог-файл не замедляли основную работу
программы?
5. Что такое "memory-mapped files" (файлы, отображенные в память)? Каковы преимущества и недостатки этого подхода?
Информатика