Организация памяти

Рис31.

Вся оперативная память делится на две части:

1. Основная память. К ней имеет доступ только процессор. Включает области кода операционной системы и области переменных.

2. Память ввода/вывода. К ней могут обращаться процессор и контроллеры портов в режиме прямого доступа. Она полностью отводится под буферы пакетов.

Для хранения файлов используется:

1. Флэш-память. Хранит образ ОС, загружаемый при старте маршрутизатора.

2. Постоянная память или ROM. Хранит усеченный образ ОС, используемый для восстановления при сбоях.

3. Неразрушающаяся память или NVRAM. Non-Volatile Random Access Memory. Хранит файл конфигурации.

Управление ОП осуществляется на двух уровнях:

1. Уровень пулов памяти. Пул памяти в Cisco IOS – непрерывная область памяти произвольного размера, выделенная по запросу модулей IOS. Управляется менеджером памяти.

2. Уровень буферов пакета. Представляет собой специфический механизм, управляемы менеджером буферов. Буферы образуют очереди пакетов. Каждый буфер состоит из области памяти и указателя. Рис32. С каждым интерфейсом связаны две очереди. RX-ring и TX-ring. Они располагаются в памяти в/в. Структура указателей и размеры ячеек x-ring очередей зависит от типа интерфейса, чтобы в них мог поместиться кадр максимального размера. Если в RX очереди при поступлении пакета нет указателей на свободные ячейки, фиксируется переполнение кольца и пакет теряется. С каждым интерфейсом связана пара локальных очередей – входная и выходная. Доступна только кодом процессора маршрутизатора. Состоят из фиксированного количества буферов, которое можно изменять, конфигурируя маршрутизатор. Область системных очередей может быть использована для хранения пакетов любых интерфейсов. Для младших моделей маршрутизаторов организуется несколько системных очередей, каждая из которых имеет ячейки определённого размера. В старших моделях для уменьшения эффекта фрагментации, ячейка системной очереди может состоять из нескольких связанных между собой фрагментов, произвольно расположенных в памяти. Очереди образуются группировкой указателей. В исходном состоянии все очереди инициализируются указателями на свободные ячейки. После записи кадра в RX очередь генерируется прерывание и указатель на ячейку с данными перемещается в локальную или системную очередь. Если ни в локальной, ни в системной очередях свободных мест нет, кадр отбрасывается.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: