![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Основные принципы работы распределенной системы с совместно используемой памятью страничной организации.
Системы, в которых компьютеры используют память совместно, обычно называются мультипроцессорами {multiprocessorss), Страничный способ организации, при таком способе все фрагменты программы, на которые она разбивается (за исключением последней её части), получаются одинаковыми. Одинаковыми полагаются и единицы памяти, которые мы предоставляем для размещения фрагментов программы. Эти одинаковые части называют страницами и говорят, что память разбивается на физические страницы, а программа - на виртуальные страницы. Часть виртуальных страниц задачи размещается в оперативной памяти, а часть - во внешней. Обычно место во внешней памяти, в качестве которой в абсолютном большинстве случаев выступают накопители на магнитных дисках (поскольку они относятся к быстродействующим устройствам с прямым доступом), называют файлом подкачки или страничным файлом (paging file). Иногда этот файл называют swap-файлом, тем самым подчеркивая, что записи этого файла - страницы - замещают друг друга в оперативной памяти. В некоторых ОС выгруженные страницы располагаются не в файле, а в специальном разделе дискового пространства. Разбиение всей оперативной памяти на страницы одинаковой величины, причем величина каждой страницы выбирается кратной степени двойки, приводит к тому, что вместо одномерного адресного пространства памяти можно говорить о двумерном. Первая координата адресного пространства - это номер страницы, а вторая координата - номер ячейки внутри выбранной страницы (его называют индексом. Защита страничной памяти, как и в случае с сегментным механизмом, основана на контроле уровня доступа к каждой странице. Как правило, возможны следующие уровни доступа: только чтение; чтение и запись; только выполнение Решаемые задачи § поддержка изоляции процессов и защиты памяти путём создания своего собственного виртуального адресного пространства для каждого процесса § поддержка изоляции области ядра от кода пользовательского режима § поддержка памяти «только для чтения» и неисполняемой памяти § поддержка отгрузки давно не используемых страниц в область подкачки на диске (см. свопинг) § поддержка отображённых в память файлов, в том числе загрузочных модулей § поддержка разделяемой между процессами памяти, в том числе с копированием-по-записи для экономии физических страниц § поддержка системного вызова fork() в ОС семейства UNIX § § 28 § Разработка распределенных систем с совместно используемой памятью. Проблемы их эффективной реализации. § § Мультипроцессорные системы обладают одной характерной особенностью: все процессоры имеют прямой доступ к общей памяти. Мультипроцессорные системы шинной архР1тектуры состоят из некоторого количества процессоров, подсо единенных к общей шине, а через нее — к модулям памяти. Простей шая конфигурация содержит плату с шиной или материнскую плату, в которую вставляются процессоры и модули памяти. § Поскольку используется единая память, когда процессор Л записывает слово в память, а процессор В микросекундой позже считывает слово из памяти, процессор В получает информацию, записанную в память процессором А. Память, обладающая таким поведением, называется согласованной (coherent). Проблема такой схемы состоит в том, что в случае уже 4 или 5 процессоров шина оказывается стабильно перегруженной и производительность резко падает. Решение состоит в размещении между процессором и шиной высокоскоростной кэш-памяти (cache memory), В кэше сохраняются данные, обращение к которым происходит наиболее часто Общепринятыми являются размеры кэша от 512 Кбай т до 1 Мбай т,
Проблема мультипроцессорных систем шинной архитектуры состоит в их ограниченной масштабируемости, даже в случае использования кэша. Один из вариантов — разделить обидую память на модули и связать их с процессорами через коммути рующую решетку {crossbar switch) Недостатком коммутирующей решетки является то, что при наличии п про цессоров и п модулей памяти нам потребуется тг^ узловых коммутаторов Для больших значений п это число может превысить наши возможности. альтернативные коммутирующие сети, требующие меньшего количества коммутаторов. Один из примеров таких се тей — омега-сеть (omega network).
|