Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Физическая память и управление. Типы адресов. Обзор методов распределения памяти без использования дискового пространства






 

 

Управление физической памятью заключается в распределении страниц и отдельных блоков памяти и их освобождении. За распределение страниц памяти отвечает менеджер основной физической памяти (primary physical memory manager) ядра Linux. В его функции входит
• Выделение/освобождение физических страниц
• Распределение областей физически непрерывных страниц по запросу

Учет доступных физических страниц осуществляется менеджером по собственному алгоритму, известному как принцип buddy-heap (смежных куч, куч близнецов). Его идея в том, что при освобождении двух смежных областей памяти, доступных для использования, происходит объединение этих областей в результате чего появляется новая область большего размера. При обработке запроса на выделение небольшого блока памяти, Страничный менеджер разделяет доступную свободную область памяти на две, меньшего размера. Системой ведутся списки свободных областей памяти, по размеру доступных областей. Наименьшей выделяемой областью памяти в Linux является физическая страница. На рис.9 показан процесс разделения памяти в buddy-heaps.


Рис. 9 Разделение памяти


Как правило, гораздо чаще требуются небольшие области памяти. Для обработки запросов произвольного размера ядро поддерживает функцию kmalloc, выделяющую память постранично, разделяя области на более мелкие. Ядро ведет учет страниц распределяемых с помощью функции kmalloc. Память, распределенная с помощью функции kmalloc, может быть освобождена лишь в явном виде. При недостатке памяти, эти области не могут быть использованы повторно при помощи kmalloc.

 

 

Типы адресов: физический(MAC), сетевой(IP), символьный(DNS)

 

Каждый компьютер в сети TCP/IP имеет адреса трех уровней:

 

Локальный адрес узла, определяемый технологией, с помощью которой построена отдельная сеть, в которую входит данный узел. Для узлов, входящих в локальные сети - это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем. Для узлов, входящих в глобальные сети, такие как Х.25 или frame relay, локальный адрес назначается администратором глобальной сети.

IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Network Information Center, NIC), если сеть должна работать как составная часть Internet. Обычно провайдеры услуг Internet получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами.

Номер узла в протоколе IP назначается независимо от локального адреса узла. Деление IP-адреса на поле номера сети и номера узла - гибкое, и граница между этими полями может устанавливаться весьма произвольно. Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

 

Символьный идентификатор-имя, например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес, называемый также DNS-именем, используется на прикладном уровне, например, в протоколах FTP или telnet.

 

 

Методы распределения памяти без использования дискового пространства.

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

 

Распределение памяти фиксированными разделами

Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Очередная задача, поступившая на выполнение, помещается либо в общую очередь, либо в очередь к некоторому разделу.

 

Подсистема управления памятью в этом случае выполняет следующие задачи:

 

сравнивая размер программы, поступившей на выполнение, и свободных разделов, выбирает подходящий раздел,

 

осуществляет загрузку программы и настройку адресов.

 

мультипрограммирования заранее ограничен числом разделов не зависимо от того, какой размер имеют программы.

 

Распределение памяти разделами переменной величины

Каждой вновь поступающей задаче выделяется необходимая ей память. Для этого ведутся таблицы свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.