Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_Распределённые ОС.docx
Скачиваний:
0
Добавлен:
30.09.2026
Размер:
1 Мб
Скачать
☆

9 Лекция (28.03.2024)

Следующие 4 лекции, включая эту, будут связаны с файловыми системами и подсистемами ввода-вывода, поскольку это 2/3 кода всего и это самая серьёзная проблема, с которой сталкиваются, борются и которая решена не до конца.

Обратить внимание нужно на следующие пункты:

  1. Что подразумевается под файловой системой. Прежде всего, это система интерфейсов к файловой системе (File System Interface), т.е то, что мы видим как пользователь файловой системы. А видим мы следующее:

  • Систему директорий (способ поиска файловой системы)

  • Способы монтирования файловой системы

  • Способы защиты

  • Способы доступа

  1. Имплементация (реализация файловой системы). Это очень большая и серьёзная проблема, которая будет говорить о том:

  • Какие структуры и методы аллокации будут в файловой системе

  • Что будет происходить со свободным пространством, оптимизацией и временем в файловой системе.

  1. Подфайловые системы. Под ними понимаются все проблемы process storage'a, а именно:

  • Вопросы дисковой структуры

  • Вопросы присоединения к дисковым подсистемам

  • Вопросы, связанные с управлением дисковыми подсистемами

  • Вопросы swapping’а

  • Вопросы рейтструктур (REITs structure)

  1. Подсистема ввода-вывода (IoSubSystem). Это подсистема, содержащая в себе:

  • Весь hardware, который для этого нужен

  • Всевозможные интерфейсы приложений, которые для этого нужны

  • Всевозможные способы написания ядра ОС, которые для этого нужны

  • Технологию написания драйверов

  • Вопросы производительности

  1. Основные концепции, начинающиеся со следующих вопросов (рядом приведено некое объяснение):

  • Что такое файл? Файл представляет собой некий объект, который имеет атрибуты поименования, атрибуты доступа и который хранится на машинном носителе (hard disk, флешка, ленты и т.д.).

  • Что такое база данных? База данных представляет собой некий набор множеств, к которому доступ осуществляется мультипользователями.

  • Что такое объектный файл? Объектный файл представляет собой последовательность байт, которые организованы в блоке, понимаемые линкером.

  1. Операции над файлами и их суть (рядом приведено некое объяснение):

  • Create (создание файла). Данная операция аллокирует ресурсы (т.е. говорит, что нужна какая-то память) И создаёт entry в директории для того, чтобы потом этот файл найти.

  • Delete (удаление файла из директории)

  • Truncate (оставляем вход в директорию, после чего содержимое станет недоступно)

  • Rename (переименование файла)

  • Open (открытие файлов). Всегда System Call.

  • Close (закрытие файла)

Помимо вопросов операций с файлами, стоит затронуть вопросы, связанные с директориями. Директория представляет собой некую сущность в файловой системе, которая упрощает организацию файлов. Поскольку каждый процесс и каждый пользователь имеет какое-то своё представление о файловой системе, то та директория, с которой всё начинается, называется root directory или же home directory. Есть также current directory – индивидуальная директория каждого процесса, который работает там со своей совокупностью программных продуктов.

Помимо этого, стоит обратить внимание на монтирование файловой системы (File System Mounting). Монтирование файловой системы представляет собой процесс, при котором операционная система добавляет каталоги и файлы с устройства хранения в файловую систему компьютера пользователя. Файловая система прикрепляется к пустому каталогу, добавляя его таким образом, чтобы пользователь системы мог получить доступ к данным, доступным на устройстве хранения, через системный файловый менеджер. Системами хранения могут быть внутренние жесткие диски, внешние жесткие диски, флэш-драйверы USB, карты SSD, карты памяти, сетевые устройства хранения данных, компакт-диски и DVD-диски, удаленные файловые системы и т.д.