Билет № 34 особенности файловой системы ufs. Схема адресации ufs и ее возможности

Оболочка системы UNIX. Работа в оболочке. Командная строка. Основные команды работы с файлами, каналы, сценарии.

Особенности файловой системы ufs. Схема адресации ufs и ее возможности.

Задача. Компьютер имеет размер страницы 4Кбайт, запись таблицы страниц занимает 4 байт. Сколько уровней таблиц страниц потребуется для отображения 64-битового адресного пространства, если таблица страниц верхнего уровня занимает одну страницу?

1) В функциональном отношении среда пользователя обладает всеми

возможностями современной операционной системы: графическим

многооконным интерфейсом, функциональными настраиваемыми меню,

возможностями навигации по файловой системе с помощью менеджера,

технологиями drag-and-drop, различными оконными менеджерами и т.д.

Однако следует отметить, что на рабочем столе обязательно присутствует

окно, называемое терминальным, в котором присутствует базовая

пользовательская среда и можно вводить и исполнять команды. Для

интерпретации этих команд используется одна из командных оболочек (shell),

которая является, по существу, командным интерпретатором. Собственно

говоря, это первая программа, с которой приходится сталкиваться

пользователю после окончания аутентификации.

К важнейшим оболочкам относятся оболочки приведенные ниже:

Тип оболочки Исполняемые сценарии

Баурна (Bourne Shell),.profile

С (C Shell).login и.cshrc

Корна (Korne Shell).profile и.kshrc

BASH (Bourne Again Shell)..bash_profile и.bashrc

Язык, на котором происходит общение с интерпретатором, является

удобным средством программирования. Естественно, что он несколько

отличается для различных интерпретаторов. Программа на языке оболочки

называется сценарием (script). Сценарий представляет собой обычным

текстовый файл, в котором описана последовательность действий для

интерпретатора.

При входе в систему, в зависимости от типа оболочки исполняются

некоторые стандартные сценарии инициализации, которые настраивают

рабочий стол и окружение для конкретного пользователя.

Интерфейс командной строки, позволяет создавать множество консольных окон и действовать так, как если бы было несколько алфавитно-цифровых терминалов, на каждом из которых работала бы оболочка (shell). После запуска оболочка печатает на экране символ приглашения к вводу (% или $) и ждет, когда пользователь введет командную строку.

Примеры командных строк:

1) cp file1 file2 (копировать файл file1, копия – file2)

2) head –20 file (печатать первые 20 строк файла file) 3) sort < in > out (программе sort взять в качестве входного файла in и направить вывод в файл out)

4) sort < in > temp; head -30 < temp; rm temp 5) sort < in | head -30 (канал) 6) sort < x | head & (фоновый процесс)

Кроме оболочки пользовательский интерфейс содержит большое число обслуживающих программ (утилит):

1. Программы (команды) управления файлами и каталогами.

2. Фильтры.

3. Средства разработки программ (текстовые редакторы, компиляторы).

4. Текстовые процессоры.

5. Системное администрирование.

6. Разное.

Программа Функция

cat - Конкатенация нескольких файлов в стандартный выходной поток

chmod- Изменение режима защиты файла ср - Копирование файла

cut - Вырезание колонок текста

grep - Поиск определенной последовательности символов в файле

head - Извлечение из файла первых строк

is - Распечатка каталога

make - Компиляция файла для создания двоичного файла

mkdir - Создание каталога paste - Вставка колонок текста в файл

pr - Форматирование файла для печати

rm - Удаление файла

rmdir - Удаление каталога sort - Сортировка строк файла по алфавиту

tail - Извлечение из файла последних строк tr - Преобразование символа из одного набора в другой

Канал – циклический буфер, позволяющий двум процессам сообщатся в соответствии с моделью производитель/потребитель. Канал представляет собой очередь «первый вошел –первый вышел», в которой пишет один из процессов, а второй – читает.

Файлы, содержащие команды оболочки, называются сценариями оболочки. В них можно использовать конструкции if, for, while, case.

2) Файловая система обычно размещается на дисках или других устройствах внешней памяти, имеющих блочную структуру. Кроме блоков, сохраняющих каталоги и файлы, во внешней памяти поддерживается еще несколько служебных областей.

В мире UNIX существует несколько разных видов файловых систем со своей структурой внешней памяти. Наиболее известны традиционная файловая система UNIX System V (s5) и файловая система семейства UNIX BSD (ufs). В файловой системе ufs на логическом диске (разделе реального диска) находится последовательность секций файловой системы.

Кратко опишем суть и назначение каждой области диска.

Boot-блок содержит программу раскрутки, которая служит для первоначального запуска ОС UNIX. В файловых системах s5 реально используется boot-блок только корневой файловой системы. В дополнительных файловых системах эта область присутствует, но не используется.

Суперблок - это наиболее ответственная область файловой системы, содержащая информацию, которая необходима для работы с файловой системой в целом. Суперблок содержит список свободных блоков и свободные i-узлы (information nodes - информационные узлы). В файловых системах ufs для повышения устойчивости поддерживается несколько копий суперблока (как видно из рисунка 2.2,b, по одной копии на группу цилиндров). Каждая копия суперблока имеет размер 8196 байт, и только одна копия суперблока используется при монтировании файловой системы (см. ниже). Однако, если при монтировании устанавливается, что первичная копия суперблока повреждена или не удовлетворяет критериям целостности информации, используется резервная копия.

Блок группы цилиндров содержит число i-узлов, специфицированных в списке i-узлов для данной группы цилиндров, и число блоков данных, которые связаны с этими i-узлами. Размер блока группы цилиндров зависит от размера файловой системы. Для повышения эффективности файловая система ufs старается размещать i-узлы и блоки данных в одной и той же группе цилиндров.

Список i-узлов (ilist) содержит список i-узлов, соответствующих файлам данной файловой системы. Максимальное число файлов, которые могут быть созданы в файловой системе, определяется числом доступных i-узлов. В i-узле хранится информация, описывающая файл: режимы доступа к файлу, время создания и последней модификации, идентификатор пользователя и идентификатор группы создателя файла, описание блочной структуры файла и т.д.

Блоки данных - в этой части файловой системы хранятся реальные данные файлов. В случае файловой системы ufs все блоки данных одного файла пытаются разместить в одной группе цилиндров. Размер блока данных определяется при форматировании файловой системы командой mkfs и может быть установлен в 512, 1024, 2048, 4096 или 8192 байтов.

На схеме легко заметить, что раздел состоит из повторяющихся областей “загрузчик -суперблок - блок группы цилиндров – область индексных дескрипторов”. Это главное отличие файловой системы ufs от предыдущих версий UNIX. В этих повторяющихся последовательностях суперблок является резервной копией основной первой копией суперблока. Эта копия может быть использована при повреждении основной копии. Области же блока группы цилиндров и индексных дескрипторов содержат индивидуальные для каждой последовательности значения. Блок группы цилиндров описывает количество индексных дескрипторов и блоков данных, расположенных на данной группе цилиндров диска. Такая группировка делается для ускорения доступа, чтобы просмотр индексных дескрипторов и данных файлов, описываемых этими дескрипторами, не приводил к слишком большим перемещениям головок диска.

Основной особенностью физической организации файловой системы ufs является отделение имени файла от его характеристик, хранящихся в отдельной структуре, называемой индексным дескриптором (inode). Индексный дескриптор содержит данные о размере файла, адресную информацию, привилегии доступа к файлу и некоторую другую информацию.

Доступ к файлу осуществляется путем последовательного просмотра всей цепочки каталогов, входящих в полное имя файла, и соответствующих им индексных дескрипторов. Поиск завершается после получения всех характеристик из индексного дескриптора заданного файла.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: