Главная » Просмотр файлов » Файловые системы

Файловые системы (1114721), страница 4

Файл №1114721 Файловые системы (Файловые системы) 4 страницаФайловые системы (1114721) страница 42019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

Данный файлсодержит всю информацию, связанную со входом каждого пользователя всистему. Поля в файле паролей разделяются двоеточием и расположеныследующим образом:login-id: зашифрованныйначальный_каталог: shellпароль:uid:group-id:любаяинформация:5.Структура файловой системы с точки зрения пользователяСуществуетнаборфайловикаталоговсизвестными(предопределенными) именами. Ñистема знает, что в этих файлах находитсясоответствующая информация( рис.10)./UNIXBINETCTMPMNTDEVLIBSYSUSRINCLUDEBIN...........USER...........Рис.10.

Содержание корневого каталога./unix - файл загрузки ядра ОС. Выше говорилось, что при включении машиныаппаратный загрузчик запускает программный загрузчик в “ 0 “блоке, а тот всвою очередь запускает ядро./bin - файлы реализующие общедоступные команды системы. Необходимоотметить, что в ОС Unix нет набора команд системы. Пользователь это можетсделать сам. Это достигается за счет двух моментов.16 в ОС Unix запуск исполняемой программы осуществляется поимени файла (т.е.

набором имени файла). существует стандарт на прием и обработку параметров,заданных в командной строке вида :<имя файла> параметр1 параметр2 …,что обеспечивает доступ к строкам из С-программ./etc - файлы, используемые для управления системой (passwd, mount, unmount)./tmp - хранятся временные данные системы (до первой перезагрузки);/mnt - директория, к которой монтируется монтируемая ФС (см.ниже);/dev - каталог, содержащий файлы устройств;/usr - каталог, связанный с работой пользователя в системе:/usr/lib - системы программирования, редакторы и т.д.

Например, здесьнаходятся препроцессор С ( /lib/cpp), библиотека стандартных функций С(/lib/libc.a);/usr/bin - второй уровень команд системы (программы пользователя);/usr/user - домашние каталоги различных пользователей;/usr/include - файлы макроопределений С-программ;/usr/include/sys - системные файлы макроопределений С-программ;В частности, результатом команды ls / будет следующееunixbinetctmpmntdevusr1.6. Организация обмена данными с файлами1.6.1. Низкоуровневый ввод/вывод.Мы рассмотрим основные принципы организации, так называемого,низкоуровнего обмена с файлами. В операционной системе UNIX для этихцелей используются системные вызовы, осуществляющие непосредственноеобращение к средствам ОС и, в частности, к ядру (Рис.11).

Рассмотрим этовзаимодействие с точки зрения пользовательского интерфейса, а точнее наборафункций предоставляющего возможности организации этого взаимодействия.17Пользовательская программаСистемные вызовыФайловая системаБлок-ориентированные Байт-ориентированныелогические устройства логические устройстваДрайверы физических устройствФизические устройства ЭВМРис.11 Структура системы управления вводом/выводом1.6.2 Открытие/закрытие файла.Операционная система предоставляет процессу доступ к содержимомуфайла после того как он был открыт. Открытие файла - это своего родарегистрация процесса в операционной системе на доступ к содержимому фала.Для выполнения операции открытия существующего файла используетсяфункцияint open(char *name, int flag).Параметрами данной функции служат: name - указатель на строку, содержащую полное имя открываемогофайла; flag - значение, специфицирующее режим открытия файла (открытиефайла только на чтение или только на запись).Функция возвращает целое значение fd.

Если fd больше нуля, то считается, чтооткытие файла прошло успешно, а значение fd называется дескрипторомфайла. Если fd равно -1, это означает что запрос на открытие файла невыполнен (файл с указанным именем не существует или может бытьнедоступен для данного пользователя и т.д.). Следует отметить, что нумерациядескрипторов это атрибут процесса.Кроме возможности открытия существующего файла имеется функция,обращение к которой позволяет создать новый файл с заданным именем:int creat(char *name, int perms).Параметрами данной функции служат: name - указатель на строку, содержащую полное имя открываемогофайла; perms- значение, специфицирующее права доступа создаваемогофайла.Данный вызов возвращает дескриптор файла, если файл с указанным именемможно создать и -1 в противном случае.Завершение работы с файлом должно заканчиваться обращение кфункции:close(fd).Обращение к данной функции обеспечивает “закрытие” доступа к содержимомуфайла, ассоциированного в данном процессе с дескриптором fd.181.6.3 Чтение/запись данных.Чтение данных из файла осуществляется при помощи функции:nr=read(int fd, char * buf, int count)При обращении к функции count байтов из файла с дескриптором fd будутпомещены в область памяти, на которую указывает указатель buf.Запись в файл осуществляется при использовании функции:nw=write(int fd, char *buf, int count).count литер из области памяти на которую указывает buf будет записано вфайл с дескриптором fd.Рассмотрим системный подход к организации низкоуровнего обменаРис11.

Для этого определим наиболее характерные наборы данныхиспользуемые в операционной системе для целей организации низкоуровнегообмена. Эти данные можно подразделить на два класса. Первый - данныеассоциированные с операционной системой, они отражают ситуациювзаимодействия со всеми открытыми к данному моменту времени файлами.Второй - данные ассоциированные с каждымпроцессом, который ихобрабатывает в данный момент времени . Эти данные отражают состав исостояние взаимодействия всех файлов открытых в каждом отдельномпроцессе.Процесс 1Таблица открытыхфайлов (ТОФ1)i: NameТаблица файлов(ТФ)Таблица индексныхдескрипторов открытыхфайлов (ТИДОФ)2 NameFork()Процесс 2Таблица открытыхфайлов (ТОФ2)3 Name1 Namei: NameПроцесс 3Таблица открытыхфайлов (ТОФ3)Блоки файлаj: NameРис 12.

Логическая схема организации обмена.1.6.4. Данные ассоциированные с операционной системой.Таблица индексных дескрипторов открытых файлов (ТИДОФ). Этотаблица операционной системы, размещенная в оперативной памяти и19содержащая номера и копии индексных дескрипторов всех открытых к данномумоменту времени файлов. Кроме того, каждая запись содержит количествоссылок на нее из таблицы файлов(смотрите чуть ниже).

Соответственно, всеоперативные изменения содержимого индексного дескриптора хранятся вТИДОФ. Полная фиксация всех изменений индексного дескрипторапроисходит при закрытии файла (осуществляется запись в соответствующееместо файловой системы).Таблица файлов (ТФ). Каждая строка данной таблицы соответствуетоткрытому в каком-то процессе файлу, таким образом количество строк втаблице соответствует числу открытых во всей системе файлов. Этосоответствие является взаимнооднозначным, за исключением случаев открытиядоступа к файлам унаследованным от родительских процессов (об этомподробнее будет рассказано ниже). Каждая строка этой таблицы содержитинформацию о режимах открытия файла, о положении указателя чтения/записи,ссылку на строку ТИДОФ в которой размещена копия индексного дескриптораданного файла, а также счетчик “наследственности” - число процессов вкоторых этот файл передан посредством обращения к функции fork()(подробнее об этом будет рассказано ниже).1.6.5.

Данные ассоциированные с процессом.На уровне данных, ассоциируемых с процессом пользователя, имеется таблицаоткрытых файлов процесса(ТОФ). Номер строки таблицы - номер файловогодескриптора. Каждая строка таблицы имеет ссылку на соответствующую строкуТФ. Следует отметить, что при порождении процесса, интерпретатор команд,который его порождает, предопределяет первые три дескриптора:0 - стандартный файл ввода информации;1 - стандартный файл вывод информации;2 - стандартный файл вывод диагностик.Рассмотрим, схематично, последовательность действий происходящих ссодержимым вышерассмотренных таблиц при выполнении некоторыхсистемных вызовов.Обращение к функции fork() - формирование сыновнего процесса.

Какизвестно, после обращения к данной функции образуется копия исходногопроцесса. При этом система дублирует таблицу открытых файлов родителя ваналогичную таблицу сына, а также корректирует (увеличивает на единицу)счетчики наследственности в записях таблицы файлов соответствующихфайлам унаследованным сыном. Последнее приводит к тому, что и сын иродитель будут использовать один и тот же указатель чтения/записи внаследуемых файлах.При выполнении функции open (для простоты изложения считаем, чтозапрос на открытие файла корректный: файл с указанным именем существует инет конфликта с несоответствием прав доступа):1. по полному имени файла определяется каталог в котором онразмещен;2.

определяется номер индексного дескриптора файла;203. по номеру индексного дескриптора осуществляется поиск в ТИДОФ,если запись с заданным номером обнаружена, фиксируем номерсоответствующей строки ТИДОФ и переходим к пункту 5;4. происходит формирование новой строки соответствующей “новому”индексному дескриптору и фиксируется ее номер;5. корректируем счетчик ссылок на запись таблицы ТИДОФ из таблицыфайлов, формируем новую запись в таблице файлов, а такжесоответствующую запись в таблице открытых файлов процесса,определяется номер этой записи (номер строки) и он возвращается впроцесс в качестве файлового дескриптора.1.6.6.

Взаимодействие с устройствами.Как рассматривалось выше, система Unix подразделяет все логическиеустройства на два класса: байт-ориентированные устройства; блокориентированные устройства. Это подразделение во многом зависит от свойствреальных физических устройств и в подавляющем большинстве блокориентированное физическое устройство может быть таким же и логическимустройством (аналогично и для байт-ориентированных устройств). Вернемся крассмотрению Рис.9.

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

Характеристики

Тип файла
PDF-файл
Размер
1015,54 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6353
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее