Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
Февраль 19 2020 23:35:20   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
Учимся удалять!... 25422
4.12.1 Професси... 22916
Примеры, синони... 21482
FAST (методика ... 19570
Просмотр готовы... 19271
Декартовы коорд... 17833
Просмотр готовы... 16124
Работа с инстру... 12203
содержание - се... 12041
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 9,955
новичок: Logyattella
Друзья сайта
Ramblers Top100
Рейтинг@Mail.ru

Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi
Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
3.1 ЗАГОЛОВКИ БУФЕРА
Во время инициализации системы ядро выделяет место под совокупность буферов, потребность в которых определяется в зависимости от размера памяти и производительности системы. Каждый буфер состоит из двух частей: области памяти, в которой хранится информация, считываемая с диска, и заголовка буфера, который идентифицирует буфер. Поскольку существует однозначное соответствие между заголовками буферов и массивами данных, в нижеследующем тексте используется термин «буфер» в ссылках как на ту, так и на другую его составляющую, и о какой из частей буфера идет речь будет понятно из контекста.
Информация в буфере соответствует информации в одном логическом блоке диска в файловой системе, и ядро распознает содержимое буфера, просматривая идентифицирующие поля в его заголовке. Буфер представляет собой копию дискового блока в памяти; содержимое дискового блока отображается в буфер, но это отображение временное, поскольку оно имеет место до того момента, когда ядро примет решение отобразить в буфер другой дисковый блок. Один дисковый блок не может быть одновременно отображен в несколько буферов. Если бы два буфера содержали информацию для одного и того же дискового блока, ядро не смогло бы определить, в каком из буферов содержится текущая информация, и, возможно, возвратило бы на диск некорректную информацию. Предположим, например, что дисковый блок отображается в два буфера, A и B. Если ядро запишет данные сначала в буфер A, а затем в буфер B, дисковый блок будет содержать данные из буфера B, если в результате операций записи буфер заполнится до конца. Однако, если ядро изменит порядок, в котором оно копирует содержимое буферов на диск, на противоположный, дисковый блок будет содержать некорректные данные.
Заголовок буфера (Рисунок 3.1) содержит поле «номер устройства» и поле «номер блока», которые определяют файловую систему и номер блока с информацией на диске и однозначно идентифицируют буфер. Номер устройства — это логический номер файловой системы (см. раздел 2.2.1), а не физический номер устройства (диска). Заголовок буфера также содержит указатель на область памяти для буфера, размер которой должен быть не меньше размера дискового блока, и поле состояния, в котором суммируется информация о текущем состоянии буфера. Состояние буфера представляет собой комбинацию из следующих условий:
• буфер заблокирован (термины «заблокирован (недоступен)» и «занят» равнозначны, так же, как и понятия «свободен» и «доступен»),
• буфер содержит правильную информацию,
• ядро должно переписать содержимое буфера на диск перед тем, как переназначить буфер; это условие известно, как «задержка, вызванная записью»,
• ядро читает или записывает содержимое буфера на диск,
• процесс ждет освобождения буфера.
В заголовке буфера также содержатся два набора указателей, используемые алгоритмами выделения буфера, которые поддерживают общую структуру области буферов (буферного пула), о чем подробнее будет говориться в следующем разделе.
Рисунок 3.1. Заголовок буфера
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Случайные статьи
Выводы
Сквозные (межфункц...
1.5.1 Прерывания ...
3.2 Методы доступ...
До 400 долларов
5.3 Принципы маршр...
4.10 УПРАЖНЕНИЯ
Глава 9. Как «это»...
Практический опыт
Технические характ...
Коллекция схем
Как рассуждает ре...
Бенчмаркинг процесса.
Правила размещения...
2.2.3 Спектральное...
Запись трека (Trac...
Спрашивай – Отвечаем
Память
Программное обеспе...
Всем ребятам — при...
5.2. Ближайшие задачи
Включение приемника
Вариант 3.
8. При выделении п...
Домен
7.3. Интерпретация...
3.5. Ключевые прак...
Выполняемые операции
Разъем данных
Введение
6.8 УПРАЖНЕНИЯ
ГЛАВА 13. РАСПРЕД...
Идея третья: Обесп...
2.4.3 Блоковые коды
10.3.5 Назначение ...
3.2 СТРУКТУРА ОБЛ...
Новая «общественна...
2.1.2. Уровень 2 ...
5.10 CМЕНА ВЛАДЕЛЬ...
Цена до 350 долларов
Мини-чат
Вам необходимо залогиниться.

Нет присланных сообщений.
Copyright © 2009