Буферизация и кэширование
Под буфером обычно понимается некоторая область памяти для запоминания информации при обмене данных между двумя устройствами, двумя процессами или процессом и устройством. Обмен информацией между двумя процессами относится к области кооперации процессов, и мы подробно рассмотрели его организацию в соответствующей лекции. Здесь нас будет интересовать использование буферов в том случае, когда одним из участников обмена является внешнее устройство. Существует три причины, приводящие к использованию буферов в базовой подсистеме ввода-вывода.
Первая причина буферизации – это разные скорости приема и передачи информации, которыми обладают участники обмена. Рассмотрим, например, случай передачи потока данных от клавиатуры к модему. Скорость, с которой поставляет информацию клавиатура, определяется скоростью набора текста человеком и обычно существенно меньше скорости передачи данных модемом. Для того чтобы не занимать модем на все время набора текста, делая его недоступным для других процессов и устройств, целесообразно накапливать введенную информацию в буфере или нескольких буферах достаточного размера и отсылать ее через модем после заполнения буферов.
Вторая причина буферизации – это разные объемы данных, которые могут быть приняты или получены участниками обмена единовременно. Возьмем другой пример. Пусть информация поставляется модемом и записывается на жесткий диск. Помимо обладания разными скоростями совершения операций, модем и жесткий диск представляют собой устройства разного типа. Модем является символьным устройством и выдает данные байт за байтом, в то время как диск является блочным устройством и для проведения операции записи для него требуется накопить необходимый блок данных в буфере. Здесь также можно применять более одного буфера. После заполнения первого буфера модем начинает заполнять второй, одновременно с записью первого на жесткий диск. Поскольку скорость работы жесткого диска в тысячи раз больше, чем скорость работы модема, к моменту заполнения второго буфера операция записи первого будет завершена, и модем снова сможет заполнять первый буфер одновременно с записью второго на диск.
Третья причина буферизации связана с необходимостью копирования информации из приложений, осуществляющих ввод-вывод, в буфер ядра операционной системы и обратно. Допустим, что некоторый пользовательский процесс пожелал вывести информацию из своего адресного пространства на внешнее устройство. Для этого он должен выполнить системный вызов с обобщенным названием write, передав в качестве параметров адрес области памяти, где расположены данные, и их объем. Если внешнее устройство временно занято, то возможна ситуация, когда к моменту его освобождения содержимое нужной области окажется испорченным (например, при использовании асинхронной формы системного вызова). Чтобы избежать возникновения подобных ситуаций, проще всего в начале работы системного вызова скопировать необходимые данные в буфер ядра операционной системы, постоянно находящийся в оперативной памяти, и выводить их на устройство из этого буфера.
Под словом кэш (cache – «наличные»), этимологию которого мы не будем здесь рассматривать, обычно понимают область быстрой памяти, содержащую копию данных, расположенных где-либо в более медленной памяти, предназначенную для ускорения работы вычислительной системы. Мы с вами сталкивались с этим понятием при рассмотрении иерархии памяти. В базовой подсистеме ввода-вывода не следует смешивать два понятия, буферизацию и кэширование, хотя зачастую для выполнения этих функций отводится одна и та же область памяти. Буфер часто содержит единственный набор данных, существующий в системе, в то время как кэш по определению содержит копию данных, существующих где-нибудь еще. Например, буфер, используемый базовой подсистемой для копирования данных из пользовательского пространства процесса при выводе на диск, может в свою очередь применяться как кэш для этих данных, если операци и модифи кации и повторного чтения данного блока выполняются достаточно часто. Функции буферизации и кэширования не обязательно должны быть локализованы в базовой подсистеме ввода-вывода. Они могут быть частично реализованы в драйверах и даже в контроллерах устройств, скрытно по отношению к базовой подсистеме.
- Лекция 1. Базовые понятия информации Введение
- Информация, энтропия и избыточность при передаче данных
- Информационные процессы
- Основные структуры данных
- Обработка данных
- Способы представления информации и два класса эвм
- Представление данных в эвм.
- Вопросы и задания
- Лекция 2. Компьютер – общие сведения
- Центральное процессорное устройство
- Устройства ввода/вывода
- Классификация запоминающих устройств
- Оперативная память
- Основные внешние устройства компьютера
- Основные характеристики персональных компьютеров
- Вопросы и задания
- Лекция 3. Многоуровневая компьютерная организация
- Архитектура компьютера
- Классическая структура эвм - модель фон Неймана
- Особенности современных эвм
- Специальное
- Библиотеки стандартных программ и ассемблеры
- Высокоуровневые языки и системы автоматизированного программирования
- Диалоговые ос и субд
- Прикладные программы и case – технологии
- Компьютерные сети и мультимедиа
- Операционные системы
- Лекция 5.Вычислительные системы - общие сведения Введение
- Общие требования
- Классификация компьютеров по областям применения
- Персональные компьютеры и рабочие станции
- Суперкомпьютеры
- Увеличение производительности эвм, за счет чего?
- Параллельные системы
- Использование параллельных вычислительных систем
- Закон Амдала и его следствия
- Назначение процессора и его устройство
- Устройство управления
- Микропроцессорная память
- Основная (оперативная) память - структура адресной памяти
- Интерфейсная часть мп
- Тракт данных типичного процессора
- Команды уу
- Базовые команды
- Трансляторы
- Архитектура системы команд и классификация процессоров
- Микроархитектура процессора Pentium II
- 512 Кбайт
- Вопросы и задания
- Лекция 6 Структурная организация эвм - память Общие сведения
- Верхняя
- Верхняя память (Upper Memory Area) – это 384 Кбайт, зарезервированных у верхней границы системной памяти. Верхняя память разделена на несколько частей:
- Первые 128 Кбайт являются областью видеопамяти и предназначены для использовании видеоадаптерами, когда на экран выводится текст или графика, в этой области хранятся образы изображений.
- Видеопамять
- Иерархия памяти компьютера
- Оперативная память, типы оп
- Логическая организация памяти
- Связывание адресов
- Функции системы управления памятью
- Тэг Строка Слово (байт)
- Способы организации кэш-памяти
- 1. Где может размещаться блок в кэш-памяти?
- 2. Как найти блок, находящийся в кэш-памяти?
- 3. Какой блок кэш-памяти должен быть замещен при промахе?
- 4. Что происходит во время записи?
- Разновидности строения кэш-памяти
- Вопросы и задания
- Лекция 7 Логическая организация памяти Введение
- Адресная, ассоциативная и стековая организация памяти
- Стековая память
- Сегментная организация памяти.
- Косвенная адресация
- Операнд 407 суммируется с
- Типы адресов
- Понятие виртуальной памяти
- Страничное распределение
- Свопинг
- Вопросы и задания
- Лекция 8 Внешняя память компьютера Введение
- Жесткий диск (Hard Disk Drive)
- Конструкция жесткого диска
- Основные характеристики нмд:
- Способы кодирования данных
- Интерфейсы нмд
- Структура хранения информации на жестком диске
- Кластер
- Методы борьбы с кластеризацией
- Магнито-оптические диски
- Дисковые массивы и уровни raid
- Лазерные компакт-диски cd - rom
- Вопросы и задания
- Лекция 9 Основные принципы построения систем ввода/вывода
- Физические принципы организации ввода-вывода
- Интерфейс
- Магистрально-модульный способ построения эвм
- Структура контроллера устройства
- Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
- Организация передачи данных
- Прямой доступ к памяти (Direct Memory Access – dma)
- Логические принципы организации ввода-вывода
- Структура системы ввода-вывода
- Буферизация и кэширование
- Заключение
- Структура шин современного пк
- Мост pci
- Вопросы и задания
- Лекция 10. Bios и его настройки Введение
- Начальная загрузка компьютера
- Вход в bios и основные параметры системы
- Общие свойства – стандартная настройка параметров
- Свойства bios
- Свойства других чипсетов
- Свойства интегрированных устройств
- Свойства слотов pci
- Управление питанием
- Лекция 11 Особенности архитектуры современных вс
- Область применения и способы оценки производительности мвс
- Классификация архитектур по параллельной обработке данных
- Вычислительные Системы
- Параллелизм вычислительных процессов
- Параллелизм на уровне команд – однопроцессорные архитектуры
- Конвейерная обработка
- Суперскалярные архитектуры
- Мультипроцессорные системы на кристалле Технология Hyper-Threading
- Многоядерность — следующий этап развития
- Многопроцессорные архитектуры – параллелизм на уровне процессоров
- Векторные компьютеры
- Использование параллельных вычислительных систем
- Закон Амдала и его следствия
- Вопросы и задания
- Лекция 12 Архитектура многопроцессорных вс Введение
- Smp архитектура
- Mpp архитектура
- Гибридная архитектура (numa)
- Организация когерентности многоуровневой иерархической памяти.
- Pvp архитектура
- Кластерная архитектура
- Проблемы выполнения сети связи процессоров в кластерной системе.
- Лекция 13 Кластерные системы
- Концепция кластерных систем
- Разделение на High Avalibility и High Performance системы
- Проблематика High Performance кластеров
- Проблематика High Availability кластерных систем
- Смешанные архитектуры
- Лекция 14 Высокопроизводительные процессоры
- Ассоциативные процессоры
- Конвейерные процессоры
- Матричные процессоры
- Клеточные и днк процессоры
- Клеточные компьютеры
- Трансгенные технологии
- Коммуникационные процессоры
- Процессоры баз данных
- Потоковые процессоры
- Нейронные процессоры
- Искусственные нейронные сети
- Нейрокомпьютеры
- Процессоры с многозначной (нечеткой) логикой
- Лекция 15 Многомашинные системы – вычислительные сети Введение
- Простейшие виды связи сети передачи данных
- Связь компьютера с периферийным устройством
- Связь двух компьютеров
- Многослойная модель сети
- Функциональные роли компьютеров в сети
- Одноранговые сети
- Сети с выделенным сервером
- Гибридная сеть
- Сетевые службы и операционная система
- Лекция 16. Файловая система компьютера Введение
- Общие сведения о файлах
- Типы файлов
- Атрибуты файлов
- Организация файлов и доступ к ним
- Последовательный файл
- Файл прямого доступа
- Другие формы организации файлов
- Операции над файлами
- Директории. Логическая структура файлового архива
- Разделы диска. Организация доступа к архиву файлов.
- Операции над директориями
- Защита файлов
- Контроль доступа к файлам
- Списки прав доступа
- Заключение
- Лекция 17. Сети и сетевые операционные системы Введение
- Для чего компьютеры объединяют в сети
- Сетевые и распределенные операционные системы
- Взаимодействие удаленных процессов как основа работы вычислительных сетей
- Основные вопросы логической организации передачи информации между удаленными процессами
- Понятие протокола
- Многоуровневая модель построения сетевых вычислительных систем
- Проблемы адресации в сети
- Одноуровневые адреса
- Двухуровневые адреса
- Удаленная адресация и разрешение адресов
- Локальная адресация. Понятие порта
- Полные адреса. Понятие сокета (socket)
- Проблемы маршрутизации в сетях
- Связь с установлением логического соединения и передача данных с помощью сообщений
- Синхронизация удаленных процессов
- Заключение
- Лекция 18. Система счисления и архитектура эвм Введение
- Системы счисления и их роль в истории компьютеров
- «Золотое сечение» и компьютер Фибоначчи
- Геометрическое определение "золотого сечения"
- Алгебраические свойства золотой пропорции
- Рассмотрим теперь "золотую пропорцию"
- Фибонччи и компьютеры
- "Троичный принцип" Николая Брусенцова.
- Список литературы: