Лекция 6. Кэширование данных. Принцип действия кэш

advertisement
ОПЕРАЦИОННЫЕ
СИСТЕМЫ
Авторы курса лекций:
Зверева Ольга Михайловна, ст. преподаватель каф АСУ
Доросинский Леонид Григогрьевич, д-р техн. наук, профессор
Екатеринбург 2007
Модуль 1
История развития операционных систем(ОС),
понятие и строение ОС
Лекция 1. Понятие ОС, история ОС, особенности современного этапа
развития ОС
Лекция 2. Требование к современным ОС. Функциональные
компоненты ОС автономного компьютера
Лекция 3. Архитектура ОС. Многослойная и микроядерная
архитектуры
Лекция 4. Основные подсистемы ОС: подсистема управления
процессами и потоками
Лекция 5. Основные подсистемы ОС: подсистема управления памятью
Лекция 6. Кэширование данных. Дисковая подсистема ОС
Лекция 7. Основные подсистемы ОС: файловая подсистема
Лекция 8. Основные подсистемы ОС: подсистема безопасности
3
Формируемые компетенции
После изучения теоретического материала Модуля 1 необходимо знать:
определение и место ОС в программном обеспечении
современного компьютера
историю появления и развития ОС
современное положение дел в области ОС, преимущества
и недостатки современных ОС, требования к вновь
создаваемым ОС
принципы построения современных ОС, архитектурные
особенности
основные подсистемы ОС, выполняемые ими функции,
принципы
функционирования,
особенности
этих
подсистем в различных ОС
4
Лекция 6. Кэширование данных.
Дисковая подсистема ОС
Цели изучения
Понять, что такое кэширование и кэш-память
Изучить алгоритм кэширования и параметры этого процесса
Ознакомиться с основными схемами функционирования кэш-памяти
Определить количественную характеристику процесса кэширования
Изучить проблему согласования данных, возникающую в процессе
кэширования и определить основные методы ее решения
Ознакомиться с основными принципами функционирования дисковой
подсистемы
Изучить физическую и логическую организацию дисковой памяти
Дать понятия Главной загрузочной записи, раздела
На примере системы Linux показать, как обозначаются разделы в
различных операционных системах
6
Содержание
Понятие процесса кэширования
Схема функционирования кэш-памяти
Понятия кэш-промаха и кэш-попадания
Характеристики процесса: среднее время доступа к данным
Проблема согласования данных
Два подхода к решению проблемы согласования данных
Алгоритм работы кэш-памяти
Двухуровневая кэш-память
Дисковая подсистема: дорожки, сектора, цилиндры
Диски как блочные устройства
Разделы диска
Общая структура диска
Разновидности разделов
Правила именования дисков и разделов в Linux
7
Определение
Кэширование
–
это
способ
совместного
функционирования двух типов запоминающих устройств,
отличающихся временем доступа и стоимостью хранения
данных, который за счет динамического копирования в
«быстрое» ЗУ наиболее часто используемой информации
из «медленного» ЗУ позволяет, с одной стороны,
уменьшить среднее время доступа к данным, а с другой
стороны, экономить более дорогую быстродействующую
память.
Кэш-памятью, или кэшем, часто называют одно из
устройств - «быстрое» ЗУ
8
Основные положения
Кэширование – это универсальный метод, пригодный для
ускорения доступа к оперативной памяти, к диску и к
другим видам запоминающих устройств.
Если кэширование применяется для уменьшения среднего
времени доступа к оперативной памяти, то в качестве
кэша используют быстродействующую статическую
память.
Если кэширование используется системой ввода-вывода
для ускорения доступа к данным, хранящимся на диске, то
в этом случае роль кэш-памяти выполняют буферы в
оперативной памяти, в которых оседают наиболее активно
используемые данные.
9
Схема функционирования кэш-памяти
Медленный ответ
Источник запросов (кэш-промах)
к основной памяти
Запрос
кэш
Основная
память
Быстрый ответ
(кэш -попадание)
Структура кэш-памяти
Адрес данных в
основной памяти
Данные
Управляющая
информация
10
Содержимое записи кэш-памяти
значение элемента данных;
адрес, который этот элемент данных имеет в основной
памяти;
дополнительную информацию, которая используется для
реализации алгоритма замещения данных в кэше и обычно
включает
признак
модификации
и
признак
действительности данных.
11
Понятия кэш-промаха и кэш-попадания
Если данные обнаруживаются в кэш-памяти, то есть
произошло кэш-попадание (сасhе-hit), они считываются из
нее и результат передается источнику запроса;
Если нужные данные отсутствуют в кэш-памяти, то есть
произошел кэш-промах (сасhе-тiss), они считываются из
основной памяти, передаются источнику запроса и
одновременно с этим копируются в кэш-память.
12
Характеристика процесса: среднее время
доступа к данным
Пусть имеется:
основное запоминающее устройство со средним временем
доступа к данным t1;
кэш-память, имеющая время доступа t2 (очевидно, что t2<t1).
Пусть t – среднее время доступа к данным в системе с кэшпамятью, а р – вероятность кэш-попадания.
По формуле полной вероятности имеем:
t = t1(p-1) + t2p = (t2-t1)p + t1.
13
Вывод
Среднее время доступа к данным в системе с кэш-памятью
линейно зависит от вероятности попадания в кэш и
изменяется от среднего времени доступа в основное
запоминающее устройство (t1 при p=0) до среднего
времени доступа непосредственно в кэш-память t2 при
р=1.
14
Высокое значение вероятности нахождения
данных в кэш-памяти объясняется наличием:
Временной локальности. Если произошло обращение по
некоторому адресу, то следующее обращение по тому же
адресу с большой вероятностью произойдет в ближайшее
время.
Пространственной локальности. Если произошло
обращение по некоторому адресу, то с высокой степенью
вероятности в ближайшее время произойдет обращение к
соседним адресам.
15
Проблема согласования данных
Наличие в компьютере двух копий данных – в основной
памяти и в кэше – порождает проблему согласования
данных. Если происходит запись в основную память по
некоторому адресу, а содержимое этой ячейки находится в
кэше, то в результате соответствующая запись в кэше
становится недостоверной.
16
Два подхода к решению проблемы
согласования данных
Сквозная запись (write through). При каждом запросе к основной
памяти, в том числе и при записи, просматривается кэш. Если данные
по запрашиваемому адресу отсутствуют, то запись выполняется
только в основную память. Если же данные, к которым выполняется
обращение, находятся в кэше, то запись выполняется одновременно в
кэш и основную память.
Обратная запись (write back). При возникновении запроса к памяти
выполняется просмотр кэша, и если запрашиваемых данных там нет,
то запись выполняется только в основную память. В противном же
случае запись производится только в кэш-память, при этом в
описателе данных делается специальная отметка (признак
модификации), которая указывает на то, что при вытеснении этих
данных из кэша (так называемом «сбросе кэша») необходимо
переписать их в основную память, чтобы актуализировать устаревшее
содержимое основной памяти.
17
Алгоритм работы кэш-памяти
1.
2.
3.
4.
5.
6.
7.
Выполнить запрос к основной памяти.
Выполнить просмотр кэша.
Произошло кэш-попадание. Если да, то перейти к шагу 4, если нет,
то - к шагу 8.
Определить какая операция. Если «чтение», то перейти к шагу 5,
если «запись» - к шагу 7.
Считать данные из кэша.
Передать данные источнику запроса. Закончить алгоритм.
Определить режим согласования. Если «сквозная запись», то
произвести запись в основную память и в кэш, иначе (т.е. режим
«обратной записи») – произвести запись в кэш и установить признак
модификации. Закончить алгоритм.
18
Алгоритм работы кэш-памяти
(продолжение)
8.
9.
10.
11.
12.
13.
14.
Определить, какая операция: если «запись», то произвести запись в
основную память и закончить алгоритм; если «чтение», перейти к
шагу 9.
Произвести чтение из основной памяти.
Определить, есть ли свободное пространство в кэше. Если да, то
перейти к шагу 13, иначе – к шагу 11.
Осуществить выбор данных на выгрузку и объявить
соответствующий элемент кэша свободным.
Определить, были ли выгружаемые данные модифицированы. Если
да, то копировать выгружаемые данные в основную память.
Копировать данные, считанные из основной памяти в кэш.
Передать данные источнику запроса. Закончить алгоритм.
19
Двухуровневая кэш-память
Запрос к ОП
Кэш 1
Кэш 2
ОП
20
Двухуровневая кэш-память (алгоритм работы)
Запрос
на чтение
Поиск в кэше 1
Да
Поиск в кэше 2
Да
Чтение из ОП
Промах
2?
Копирование в
кэш 2
Промах
1?
Нет
Чтение из кэша 1
Запрос выполнен
Чтение из кэша 2
Копирование в кэш 1
Запрос выполнен
Запрос выполнен
21
Дисковая подсистема
22
2 принципа, на которых основана работы
дисковой подсистемы
магнитной технологии записи
быстром вращении самого диска (3600, 7200 об./мин)
23
Дисковая подсистема
(дорожки и секторы диска)
Дорожки
Секторы
24
Определения
Окружность на магнитной пластине, которую описывает
головка при вращении пластин, называется дорожкой.
Совокупность таких дорожек, расположенных одна под
другой
(определяемая
каждым
фиксированным
положением головок), называется цилиндром.
Поэтому диски часто характеризуются совокупностью
трех цифр: числом цилиндров/числом дорожек в
цилиндре/числом секторов на дорожке или C/H/S (от
первых букв соответствующих английских терминов:
Cylinder/Head/Sector, т. е. цилиндр/головка/сектор). Эти
три цифры называют «геометрией диска».
25
Расчет объема («сырой емкости») диска
Диск с геометрией C/H/S имеет объем

C*H*S*512 байт.
26
Диски – блочные устройства
Диски являются блочными устройствами, т. е. считывание и
запись
информации
производится
блоками,
и
минимальный размер блока равен одному сектору (512
байт).
Для того чтобы записать информацию на диск, надо
«позиционировать головку», т.е. указать контроллеру, в
какой сектор эту информацию записать.
Сектора адресуются путем указания номера цилиндра,
номера считывающей головки (или дорожки) и
порядкового номера сектора на дорожке.
27
Раздел диска
Раздел – часть диска, представленная в виде непрерывной
последовательности секторов, в которой может быть
установлено не более одной ОС (файловой системы).
Информация о разделах представлена в специальной таблице
разделов, которая хранится в MBR (Master Boot Record –
Главной загрузочной записи, которая находится в нулевом
секторе диска).
Активным называется раздел, с которого будет начинаться
загрузка.
Таблица создается с помощью программы, подобной fdisk.
28
Разделы диска
Win
dows
Linux
…
…
На диске может существовать не более 4 разделов
29
Общая структура диска
Загр Табл
узч ица
ик
разде
лов
Основной
(первичный)
раздел
Основной
(первичный)
раздел
Дополнительный
(расширенный)
раздел
MBR
30
Разновидности разделов
Разделы диска
Основной
(первичный)
• не подвергается
разбиению
•не более четырех
Дополнительный
(расширенный) –
• можно разбивать на
подразделы (логические
диски)
• не более одного
31
Правила именования дисков в Linux
В Linux диск в целом (т. е. физический диск) доступен по
имени устройства /dev/hda, /dev/hdb, /dev/sda:
IDE (EIDE) диски – hd




главный диск (master) первичного контроллера -> a
подчиненный (slave) диск первичного контроллера -> b
главный диск (master) вторичного контроллера -> с
подчиненный (slave) диск первичного контроллера -> d
SCSI диски – sd
 диски нумеруются последовательно (a, b,c,d…)
флоппи – диски –fd
 нумерация ведется с нуля.
32
Правила именования разделов в Linux
Разделы на дисковых устройствах нумеруются цифрами,
начиная с 1.
Первичные разделы обозначаются дополнительной
цифрой в имени устройства: /dev/hda1, /dev/hda2,
/dev/hda3, /dev/hda4
Логические разделы в Linux доступны по именам
/dev/hda5, /dev/hda6 ... (начиная с номера 5).
33
Информационное обеспечение лекции
Литература по теме:
1. Олифер В. Г. Сетевые операционные системы : учебник / В. Г. Олифер, Н. А.
Олифер. – СПб. : Питер, 2001. – 544 с.
2. Гордеев А. В. Операционные систем: Учебник для вузов. 2-е изд./ А. В.
Гордеев. – Спб.: Питер. 2005. – 415 с.
3. Дейтел Г. Введение в операционные системы: В 2 т. /Пер. с англ. Л. А.
Теплицкого, А. Б. Ходулева, В. С. Штаркмана: Под ред. В. С. Штаркмана. –
М.: Мир, 1987.
4. Петцке К. LINUX. От понимания к применению : пер. с нем. / К. Петцке. –
М. : ДМК, 2000. – 576 с.
5. Основы операционных систем. Курс лекций. Учебное пособие/ В. Е. Карпов,
К. А. Коньков. Под ред В. П. Иванникова. – М.: ИНТУИТ.РУ «ИнтернетУниверситет Информационных Технологий», 2004. – 632с.
Электронный адрес: zvereva@rtf.ustu.ru
34
Операционные системы
Курс лекций является частью учебно-методического комплекса
«Операционные системы», авторский коллектив:
Зверева Ольга Михайловна, старший преподаватель кафедры
«Автоматизированные системы управления»
Доросинский Леонид Григорьевич, д-р техн. наук, профессор, зав.
кафедрой «Автоматизированные системы управления
Учебно-методический комплекс подготовлен на кафедре АСУ РИ-РТФ
ГОУ ВПО УГТУ-УПИ
Никакая часть данной презентации не может быть воспроизведена в
какой бы то ни было форме без письменного разрешения авторов
35
Download