Главная » Просмотр файлов » А. Робачевский - Операционная система UNIX

А. Робачевский - Операционная система UNIX (1114671), страница 61

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

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

4.14,При запросе на мо!дификацию блока изменения также затрагивают только буфер кэша. Приэтом ядро помечает буфер как "грязный" в заголовке buf (рис. 4.14, г). Пе!ред освобождением такого буфера для повторного использования, его со!держимое должно быть предварительно сохранено на диске (рис.д).Перед фактическим использованием буфера, например при чтении илизаписи буфера процессом, или при операции дискового ввода/вывода, дос!туп к нему для других процессов должен быть заблокирован. При обраще!нии к уже заблокированному буферу процесс переходит в состояние сна,пока данный ресурс не станет доступным.Использование буферного кэша позволяет избежать 95% операций чтения с диска и 85%операций записи на диск для типичной конфигурации операционной системы.www.books-shop.comБуферный кэш315Рис.

4.14. Схема работы буферного кэшаwww.books-shop.comГлава 4. ФайловаяНе заблокированные буферы помечаются как свободные и помещаются вспециальный список. Буферы в этом списке располагаются в порядкенаименее частого использования (Least Recently Used, LRU). Таким обра!зом, когда ядру необходим буфер, оно выбирает тот, к которому не былообращений в течение наиболее продолжительного промежутка времени.После того как работа с буфером завершена, он помещается в конец спи!ска и является наименее вероятным кандидатом на освобождение и по!вторное использование. Поэтому, если процесс вскоре опять обратится ктому же блоку данных, операция ввода/вывода по!прежнему будет проис!ходить с буфером кэша.

С течением времени буфер перемещается в на!правлении начала очереди, но при каждом последующем обращении к не!му, будет помещен в ее конец.Основной проблемой, связанной с буферным кэшем, является "старение"информации, хранящейся в дисковых блоках, образы которых находятся вбуферном кэше. Как следует из схемы работы кэша, большинство измене!ний затрагивают только данные в соответствующих буферах, в то время,как дисковые блоки хранят уже устаревшую информацию. Разумеется внормально работающей системе проблемы как таковой не возникает, по!скольку в операциях ввода/вывода всегда используются свежие данныебуферного кэша.

Однако при аварийном останове системы, это можетпривести к потере изменений данных файлов, сделанных процессами не!посредственно перед остановом.Для уменьшения вероятности таких потерь в UNIX имеется нескольковозможностей:Во!первых, может использоваться системный вызовкоторыйобновляет все дисковые блоки, соответствующие "грязным" буферам.Необходимо отметить, что sync(2) не ожидает завершения операцииввода/вывода, таким образом после возврата из функции не гаранти!руется, что все "грязные" буферы сохранены наВо!вторых, процесс может открыть файл в синхронном режиме(указав флагв системном вызовеПри этом все из!менения в файле будут немедленно сохраняться на диске.Наконец, через регулярные промежутки времени в системе пробуж!дается специальный системный процесс — диспетчер буферного кэ!ша (в различных версиях UNIX его названия отличаются, чаще всегоиспользуетсяилиЭтот процесс освобождаетВ распоряжении администратора имеется командный интерфейс к системному вызову —утилитаПоскольку выполнение командыне свидетельствует о фактическомзавершении ввода/вывода, администраторы практикуют вызовнесколько раз.Повторные вызовы повышают вероятностьчто ввод/вывод будет завершен прежде,чем будет введена другая команда или остановлена система, поскольку набор команды за!нимает определенное время.

Тот же эффект может быть достигнут просто ожиданием не!скольких секунд после вводано набор команды позволяет "скрасить ожидание".www.books-shop.comЦелостность файловой системы317"грязные" буферы, сохраняя их содержимое в соответствующих дис!ковых(рис. 4.14, д).Кэширование в SVR4Центральной концепцией в архитектуре виртуальной памяти SVR4 являет!ся отображение файлов. При этом подходе все адресное пространство мо!жет быть представлено набором отображений различных файлов в память.Действительно, в страницы памяти, содержащие кодовые сегменты, ото!бражаются соответствующие секции исполняемых файлов.

Процесс можетзадать отображение с помощью системного вызовапри этомстраницам памяти будут соответствовать определенные участки отобра!жаемого файла. Даже области памяти, содержимое которых изменяется ине связано ни с каким файлом файловой системы, т. н. анонимные страни!цы, можно отобразить на определенные участки специального файла уст!ройства, отвечающего за область свопинга (именно там сохраняются ано!нимные объекты памяти). При этом фактический обмен данными междупамятью и устройствами их хранения, инициируется возникновениемстраничной ошибки. Такая архитектура позволяет унифицировать опера!ции ввода/вывода практически для всех случаев.При этом подходе, когда процесс выполняет вызовыилиядро устанавливает отображение части файла, адресованного этими вызо!вами, в собственное адресное пространство.

Затем эта область копируетсяв адресное пространство процесса. При копировании возникают странич!ные ошибки, приводящие в фактическому считыванию дисковых блоковфайла в память. Поскольку все операции кэширования данных в этом слу!чае обслуживаются подсистемой управления памятью, необходимость вбуферном кэше, как отдельной подсистеме, отпадает.Целостность файловой системыЗначительная часть файловой системы находится в оперативной памяти.А именно, в оперативной памяти расположены суперблок примонтиро!ванной системы, метаданные активных файлов (в виде системно!зависи!мых inode и соответствующих ими даже отдельные блоки храненияданных файлов, временно находящиеся в буферном кэше.Работабуферного кэша зависит от версиии конкретных настроек ядрасистемы.

Например, в SCO UNIX для этого используются несколько параметров. Параметрзадает интервал между последовательными пробуждениямиегопо умолчанию составляет 30 секунд. Параметрзадает промежуток времени, кото!рый буфер должен оставаться "грязным", прежде чем bdflush сохранит его наwww.books-shop.comГлава 4. ФайловаяДля операционной системы рассогласование между буферным кэшем и бло!ками хранения данных отдельных файлов, не приведет к катастрофическимпоследствиям даже в случае внезапного останова системы, хотя с точки зре!ния пользователя все может выглядеть иначе. Содержимое отдельных фай!лов не вносит существенных нарушений в целостность файловой системы.Другое дело, когда подобные несоответствия затрагивают метаданные фай!ла или другую управляющую информацию файловой системы, например,суперблок.

Многие файловые операции затрагивают сразу несколько объ!ектов файловой системы, и если на диске будут сохранены изменениятолько для части этих объектов, целостность файловой системы можетбыть существенно нарушена.Рассмотрим пример создания жесткой связи для файла. Для этого файло!вой подсистеме необходимо выполнить следующие операции:1. Создать новую запись в необходимом каталоге, указывающую нафайла.2. Увеличить счетчик связей в inode.Предположим, что аварийныйсистемы произошел между первойи второй операциями.

В этом случае после запуска в файловой системебудут существовать два имени файла (две записи каталогов), адресующиеinode со счетчиком связейравным 1. Эта ситуация показанана рис.(а). Если теперь будет удалено одно из имен, это приведет кудалению файла как такового, т. е. к освобождению блоков хранения дан!ных и inode, поскольку счетчик связей di_nlinks станет равным 0. Ос!тавшаяся запись каталога будет указывать на неразмещенный индексныйдескриптор, или inode, адресующий уже другой файл (рис.б).Порядок операций с метаданными может иметь существенное влияние нацелостность файловой системы. Рассмотрим, например, предыдущий при!мер.

Допустим, порядок операций был изменен и, как и прежде, остановпроизошел между первой и второй операциями. После запуска системыфайл будет иметь лишнюю жесткую связь, но существующая запись ката!лога останется правильной. Тем не менее при удалении имени файла фак!тически файл удален не будет, поскольку число связей останется равным 1(рис. 4.15, в). Хотя это также является ошибкой, результатом которой яв!ляется засорение дискового пространства, ее последствия все же менее ка!тастрофичны, чем в первом случае.Ядро выбирает порядок совершения операций с метаданными таким обра!зом, чтобы вред от ошибок в случае аварии был минимальным.

Однакопроблема нарушения этого порядка все же остается, т. к. драйвер можетизменять очередность выполнения запросов для оптимизации вво!да/вывода. Единственной возможностью сохранить выбранный порядокявляется синхронизация операций со стороны файловой подсистемы.www.books-shop.comЦелостность файловой системы319В нашем примере файловая подсистема будет ожидать, пока на диск небудет записано содержимое индексного дескриптора, и только после этогопроизведет изменения каталога.Рис.

4.15. Нарушение целостности файловой системыȾɚɧɧɚɹɜɟɪɫɢɹɤɧɢɝɢɜɵɩɭɳɟɧɚɷɥɟɤɬɪɨɧɧɵɦɢɡɞɚɬɟɥɶɫɬɜɨɦ%RRNVVKRSɊɚɫɩɪɨɫɬɪɚɧɟɧɢɟɩɪɨɞɚɠɚɩɟɪɟɡɚɩɢɫɶɞɚɧɧɨɣɤɧɢɝɢɢɥɢɟɟɱɚɫɬɟɣɁȺɉɊȿɓȿɇɕɈɜɫɟɯɧɚɪɭɲɟɧɢɹɯɩɪɨɫɶɛɚɫɨɨɛɳɚɬɶɩɨɚɞɪɟɫɭpiracy@books-shop.com320Глава 4.Отсутствие синхронизации между образом файловой системы в памяти иее данными на диске в случае аварийного останова может привести к по!явлению следующих ошибок:1. Один блок адресуется несколькими mode (принадлежит несколькимфайлам).2. Блок помечен как свободный, но в то же время занят (на него ссыла!етсяБлок помечен как занятый, но в то же время свободен (ни один inodeна него не ссылается).4.

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

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

Список файлов книги

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