Монтирование файловых систем
Означенные указатели устанавливаются в строках 26819-26820 функцией do_ mount из файла mount. с. Две страницы кода, которые предшествуют этому моменту, практически целиком относятся к проверке различных ошибок, ожидаемых при монтировании файловых систем:
♦ указанный специальный файл не является блочным устройством;
♦ специальный файл представляет собой блочное устройство, но он уже смонтирован;
♦ у монтируемой файловой системы неправильная сигнатура;
♦ монтируемая файловая система некорректна (то есть нет индексных узлов);
+ файл, к которому присоединяется файловая система, не существует или является специальным;
♦ не хватает памяти для битовых карт монтируемой файловой системы;
♦ не хватает памяти для суперблока монтируемой файловой системы;
♦ не хватает памяти для корневого индексного узла монтируемой файловой системы.
Хотя может показаться, что нет смысла бесконечно повторять проверки, практика показывает, что в реальных операционных системах значительная часть кода выполняет рутинную работу, которая не слишком интересна, но имеет ключевое значение для системы. Если пользователь иногда случайно будет пытаться монтировать поврежденную дискету, это приведет к тотальной порче файловой системы, и он решит, что система ненадежна, в чем виноватым, естественно, окажется не пользователь, а разработчик.
Томас Эдисон сделал одно замечание, которое применимо и к нашему случаю. Он сказал, что гений — это 1 % вдохновения и 99 % труда. Различие между хорошей и посредственной системой состоит не в превосходном алгоритме планирования, а в том внимании, которое уделено деталям.
Демонтировать файловую систему проще, чем монтировать. Эту задачу в два этапа решает функция do_umount (строка 26828). Она убеждается, что вызов был сделан суперпользователем, преобразует имя в номер устройства, а затем обращается к подпрограмме unmount (строка 26846), завершающей операцию. Единственная проблема в том, что все файлы на демонтируемой файловой системе должны быть закрыты, и ни у одного процесса не должно быть текущего каталога на ней. Проверка осуществляется тривиально: сканируется вся таблица индексных узлов на предмет поиска в памяти хотя бы одного индексного узла, принадлежащего демонтируемой файловой системе. Если да, umount рапортует об ошибке.
Последняя подпрограмма в файле mount .с носит имя name_to_dev (строка 26893). Она определяет главный и вспомогательный номера устройства по передаваемому ей имени специального файла. Эти номера хранятся в самом индексном узле, там, где у обычных файлов хранится информация о первой зоне. Это место пустует, поскольку у специальных файлов нет зон.
Еще по теме Монтирование файловых систем:
- § 39 Классификация договоров в отдельных видах. – Римская классификация. – Система прусского закона, французского и австрийского кодекса. – Система русского свода. – Система настоящего изложения.
- Тема 15 Правова система і система права. Система законодавства та систематизація нормативно-правових актів
- Глава 4. Система права и система законодательства
- §5. Система военных судов в РФ как часть системы судов общей юрисдикции
- Единство и взаимосвязь правовой системы и системы правового общества
- § 1.3. Система трудового права і система трудового законодавства
- § 33 Общее правило о переходе наследства к детям. – Отличие отделенных от неотделенных. – Право представления. – Право родительское. – Право боковых родственников. – Римская система определения прав по классам и степеням. – Германская система определения прав по линиям и коленам.
- § 14 Отношения супругов по имуществу. – Германское начало общения имуществ в браке и римская система приданого. – Особое имущество жены. – Разнообразные системы западных законодательств. – Раздел имуществ по прекращении брака. – Ограничения брачных договоров и сделок между супругами. – Английский закон об отношениях супругов по имуществу.
- § 34 Смешанные системы в новейших законодательствах. – Происходящее от различия сих систем различие в порядке раздела и в допущении права представления. – Ограничение наследственного права пределами родства. – Ограничение женщин. – Разделение наследства между родами. – Возвращение подаренного родителями. – Наследование супругов и незаконных детей и родителей. – Закон наследования в Англии.
- Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание, 2007
- СИСТЕМА
- СИСТЕМА НЕРВНАЯ
- Тема 20. Смешанные правовые системы
- СИСТЕМА ТЕЙЛОРА
- 3. Система законодавства
- СИСТЕМА ЭРРАТИЧЕСКАЯ