Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Олифер. Сетевые операционные системы.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
16.5 Mб
Скачать

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

Cisco IOS не использует механизм виртуальной памяти, так как в данном случае этот механизм и не желателен, и не обязателен.

Он не желателен потому, что режим реального времени требует, чтобы все коды всех активных процессов постоянно находились в памяти для быстрого выполнения и переключения с процесса на процесс. Наличие механизмов виртуальной памяти с ее подкачкой страниц из дисковой памяти в виртуальную создавало бы слишком длительные случайные паузы в работе процессов — ситуация, приемлемая для универсальных ОС, но крайне нежелательная для систем реального времени, к которым относится Cisco IOS.

Механизм виртуальной памяти не обязателен для Cisco IOS, потому что размеры образов IOS в памяти для каждой аппаратной платформы известны, они не меняются в ходе эксплуатации, так как, как уже было сказано, у пользователя IOS нет возможности добавлять новые модули к установленному образу IOS. А раз максимальный размер образа IOS известен, то достаточно оснастить аппаратную платформу физической оперативной памятью требуемого размера, позволяющего загрузить туда коды всех процессов для максимально возможно­го набора сетевых сервисов, оставив место для буферов пакетов. Например, модели Cisco 800 оснащены оперативной памятью в 8 Мбайт, а размеры образов IOS для этой модели колеблются в диапазоне 2-4 Мбайт.

На рис. 9.16 обобщенно показана организация памяти маршрутизаторов Cisco.

Рис. 9.16. Организация памяти в маршрутизаторах Cisco

Оперативная память разделена на две части: основную память и память ввода-вывода. Отличие этих двух областей памяти заключается в том, что к основной памяти доступ имеет только процессор, в то время как к памяти ввода-вывода могут обращаться как процессор, так и контроллеры ввода-вывода в режиме прямого доступа к памяти. Это свойство памяти ввода-вывода позволяет организовать параллельную перепись в буферы памяти ввода-вывода пакетов, поступивших во внутренние буферы контроллеров, без участия процес­сора, который в это время может заниматься задачами маршрутизации пакетов и корректировки таблицы маршрутизации.

Память ввода-вывода полностью отводится под буферы пакетов, а основная память процессора делится на несколько областей, соответствующих типовой структуре программы: области кодов IOS и областей инициализированных и неинициализированных переменных IOS. В основной памяти есть также область буферов пакетов, дополняющая область буферов пакетов памяти ввода-вывода.

Маршрутизаторы Cisco поддерживают также несколько типов памяти для хранения файлов: флэш-память, постоянную память (ROM) и не разрушающуюся память (NVRAM). Основное назначение флэш-памяти — хранение образа IOS, загружаемого при старте маршрутизатора в основную память. Так как флэш-память обеспечивает произвольный доступ при чтении и поблочное стирание, коды некоторых образов IOS (или некоторых программ образа) выполняются непосредственно из флэш-памяти без загрузки в основную память. Оче­видно, что для этого программы IOS должны быть написаны определенным образом, а именно быть реентерабельными. Для поддержания этой функции за флэш-памятью закрепляют определенный диапазон адресов адресного пространства маршрутизатора.

В постоянной памяти хранится усеченный образ IOS, который может быть вызван на выполнение, когда основной образ IOS, хранящийся во флэш-памяти, по каким-то причинам не работает. Это своего рода аварийная версия IOS, которая позволяет администратору сети решить проблему неработающей основной версии IOS: найти ошибку в конфигурации и исправить ее или же полностью заменить образ основной версии IOS новым.

NVRAM (Non-Volatile Random Access Memory — не разрушающаяся при отключении питания память) хранит файл конфигурации IOS. В этом файле записана информация о том, какие протоколы должны быть активными и с какими параметрами. Например, для каждого интерфейса файл конфигурации хранит большое количество параметров, среди которых находится IP-адрес этого интерфейса, но используется IP-адрес только в том случае, если для данного интерфейса активен протокол IP. Файл конфигурации при старте системы считывается кодом IOS в оперативную память и активизирует соответствующие переменные IOS.

Файловые системы флэш-памяти, ROM и NVRAM очень просты в отношении организации файлов: в них существует только корневой каталог, в котором и размещаются все файлы данного типа внешней памяти. Такая организация упрощает операционную систему Cisco IOS и ускоряет ее работу, а отсутствие иерархии каталогов не приводит к проблемам в работе администратора сети, так как в каждом из накопителей хранится совсем немного файлов, например, один-два образа IOS во флэш-памяти и два-три файла конфигурации в памяти NVRAM.