Операционные системы

Автор работы: Пользователь скрыл имя, 27 Августа 2013 в 21:46, контрольная работа

Краткое описание

При переходе к длинным именам возникает проблема совместимости с ранее созданными приложениями, использующими короткие имена. Чтобы приложения могли обращаться к файлам в соответствии с принятыми ранее соглашениями, файловая система должна уметь предоставлять эквивалентные короткие имена (псевдонимы) файлам, имеющим длинные имена. Таким образом, одной из важных задач становится проблема генерации соответствующих коротких имен.

Содержание

1. Организация файловой системы, назначение Master Boot Record и Boot Record.
2. Синхронизация процессов и потоков.
3. 3. Кэширование информации, условия установки кэш памяти, виды кэш памяти, влияние объёма кэш памяти на производительность ОС.
4. Выводы.
Список литературы.

Прикрепленные файлы: 1 файл

Операционные системы.doc

— 320.50 Кб (Скачать документ)

В зависимости от способа определения  взаимного соответствия строки КЭШа и области основной памяти различают три архитектуры кэш-памяти:

    1. кэш прямого отображения;
    2. полностью ассоциативный кэш;
    3. частично или наборно-ассоциативный кэш.

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

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

Наборно-ассоциативный  кэш. Наборно-ассоциативная архитектура КЭШа позволяет каждому блоку кэшируемой памяти претендовать на одну из нескольких строк КЭШа, объединенных в набор.

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

Резкое повышение быстродействия процессоров и переход на 32-разрядные  многозадачные операционные системы существенно поднимают требования и к другим компонентам компьютера. Важнейшим из них является оперативная память. Возрастание внешних тактовых частот процессоров с 33-40 МГц, характерных для семейства 486 (486DX2-66/80 и 486DX4-100/120), до 50-66 МГц для Pentium (Pentium 75/90/100/120/133), требует прежде всего адекватного увеличения быстродействия подсистемы памяти. Поскольку в качестве оперативной используется относительно медленная динамическая память Dram (Dynamic Random Access Memory), главный способ увеличения пропускной способности основан на применении кэш-памяти. Кроме встроенной в процессор кэш-памяти первого уровня применяется и кэш-память второго уровня (внешняя), построенная на более быстродействующих, чем Dram, микросхемах статической памяти SRAM (Static Ram). Для высоких тактовых частот нужно увеличивать быстродействие SRAM. Кроме того, в многозадачном режиме эффективность работы кэш-памяти также может снижаться. Поэтому актуальной становится задача не только увеличения быстродействия кэш-памяти, но и ускорения непосредственного доступа к динамической памяти. Для решения этих проблем начинают использоваться новые типы статической и динамической памяти.Требования к объемам памяти диктуются программным обеспечением. При использовании Windows оценить необходимое количество памяти можно на основе тестов Winstone, использующих наиболее популярные приложения Windows.

Статическая память

В качестве кэш-памяти второго уровня практически всегда применялась (и  до сих пор продолжает широко применяться) стандартная асинхронная память SRAM. При внешних тактовых частотах порядка 33 МГц хорошие результаты давала статическая память со временем выборки 15-20 нс. Для эффективной работы на частотах выше 50 МГц такого быстродействия уже недостаточно. Прямое уменьшение времени выборки до нужных величин (12-8 нс) обходится дорого, так как требует зачастую применения дорогой технологии Bi-CMOS вместо CMOS, что неприемлемо для массового рынка. Поэтому предлагаемое решение заключается в применении новых типов памяти с усовершенствованной архитектурой, которые первоначально были разработаны для мощных рабочих станций. Наиболее перспективна синхронная SRAM. В отличие от обычной асинхронной, она может использовать те же тактовые сигналы, что и остальная система, поэтому и называется синхронной. Она снабжена дополнительными регистрами для хранения информации, что освобождает остальные элементы для подготовки к следующему циклу еще до того, как завершился предыдущий. Быстродействие памяти при этом увеличивается примерно на 20%. Эффективную работу на самых высоких частотах может обеспечить особая разновидность синхронной SRAM с конвейерной организацией (pipelined burst). При ее применении уменьшается число циклов, требующихся для обращения к памяти в групповом режиме.

Динамическая память

Так же, как и для статической  памяти, прямое сокращение времени  выборки для динамической памяти достаточно трудно технически осуществимо  и приводит к резкому росту  стоимости. Поэтому ориентация в  новых системах идет на микросхемы со временем выборки 60-70 нс. Стандартные микросхемы Dram имеют страничную организацию памяти Fast Page Mode (FPM), которая позволяет значительно ускорить доступ к последовательно расположенным (в пределах страницы) данным по сравнению со случаем произвольной выборки. Поскольку обращения к последовательно расположенным данным в реальных задачах встречаются очень часто, применение FPM Dram заметно повышает производительность. FPM Dram со временем выборки 60-70 нс обеспечивает необходимые характеристики для тактовых частот 33-40 МГц. При повышении тактовой частоты обеспечить надежное и быстрое считывание данных в страничном режиме уже не удается. Эту проблему в значительной степени решает применение памяти нового типа - EDO Dram (Extended Data Output Dram). От обычной памяти со страничной организацией она отличается наличием дополнительных регистров для хранения выходных данных. Увеличивается время, в течение которого данные хранятся на выходе микросхемы, что делает выходную информацию доступной для надежного считывания процессором даже при высоких тактовых частотах (фактически время между обращениями в страничном режиме можно уменьшить до 30 нс по сравнению с 45 нс для FPM).

Радикальный, но не общепризнанный подход к повышению быстродействия динамической памяти заключается во встраивании в микросхемы Dram собственной кэш-памяти. Это Cached Dram (CDRAM) и Enhanced Dram (EDRAM). Память CDRAM выпускается фирмой Mitsubishi и имеет 16 KB кэш-памяти как на 4, так и на 16 Mbit кристалле, обмен между динамической и встроенной кэш-памятью осуществляется словами шириной 128 разрядов.

Вообще говоря, применение новых  типов динамической памяти позволяет  получать высокую производительность даже и без применения кэш-памяти второго уровня (если кэш-память первого  уровня типа write back), особенно в случае CDRAM и Enhanced Dram, которые именно так и используются. Однако подавляющее большинство систем для достижения максимальной производительности строится все-таки с использованием кэш-памяти второго уровня. Для них наиболее подходит память типа EDO Dram. К тому же она стала уже промышленным стандартом, и ее доля будет преобладать в микросхемах памяти емкостью 16 Mbit и более. Фактически эта память приходит на смену стандартной FPM Dram и ее можно применять в любых системах вместо стандартной.

Конструктив

Несмотря на то, что наиболее популярным конструктивом для динамической памяти по прежнему остается SIMM (Single In-line Memory Module), начинают применяться и  другие стандарты. Возникновение новых  стандартов вызвано необходимостью решения двух основных проблем. Первая связана с увеличением плотности упаковки элементов памяти, особенно актуальной для рабочих станций, использующих память очень большого объема, и мобильных систем. Вторая с обеспечением устойчивой работы при высоких частотах, которая зависит от размеров, емкости и индуктивности соединителя. Большую по сравнению с SIMM плотность упаковки и, соответственно, объем памяти могут обеспечить модули типа DIMM (Dual In-line Memory Module), у которых, в отличие от SIMM, контакты на обеих сторонах модуля не объединены, а могут использоваться независимо.

Микросхемы стандартной статической  памяти в основном выпускаются в  корпусах типа Dip и SOJ. Память типа pipelined burst либо запаивается на системную  плату сразу в процессе ее изготовления, либо поставляется в виде модулей.

 

 

Смешанная и  разделенная кэш-память.

Внутренняя кэш-память использовалась ранее как для инструкций (команд), так и для данных. Такая память называлась смешанной, а ее архитектура – Принстонской, в которой в единой кэш-памяти, в соответствии с классическими принципами фон Неймана, хранились и команды и данные.

Сравнительно недавно стало  обычным разделять кэш-память на две – отдельно для инструкций и отдельно для данных.

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

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

Так,например, в процессоре Intel® 486 DX2 применялась смешанная кэш-память,

В Intel® Pentium®  и в AMD Athlon™ с их суперскалярной организацией – раздельная. Более того, в этих процессорах помимо кэш-памяти инструкций и кэш-памяти данных используется также и адресная кэш-память. Этот вид кэша используется в устройствах управления памятью, в том числе для преобразования виртуальных адресов в физические.

Благодаря использованию нанотехнологий, для снижения потребляемой мощности, увеличения быстродействия ЭВМ(что  достигается сокращением времени  обмена данными между процессором и кэш-памятью) существует возможность, а более того имеются реальные примеры того, что кэш-память реализуют в одном кристале с процессором. Такая внутренняя кэш-память реализуется по технологии статического ОЗУ и является наиболее быстродействующей. Объем ее обычно составляет 64-128 Кбайт, причем дальнейшее увеличение ее объема приводит обычно к снижению быстродействия из-за усложнения схем управления и дешифрации адреса.

Альтернативой, широко применяемой  в настоящее время, является вторая (внешняя) кэш-память большего объема, расположенная между внутренней кэш-памятью и ОП. В этой двухуровневой системе кэш-памяти, внутренней памяти отводится роль первого уровня L1, а внешней - второго L2. емкость L2 обычно на порядок и более выше, чем L1, а быстродействие и стоимость ниже. Память второго уровня также строится обычно как статическое ОЗУ. Емкость ее может составлять от 256 Кбайт до 1 Мбайта и технически реализуется как в виде отдельной микросхемы, однако может размещаться и на одном кристалле с процессором.

Самые современные процессоры от крупнейших производителей оснащаются сегодня  кэш-памятью емкостью у Intel Pentium 4 на ядре Northwood - 512 Кбайт кэш-памяти L2, а процессоры Prescott будут выпускаться по 0,09-микронной технологии и получат кэш-память второго уровня удвоенного объема, который составит 1 Мбайт. Intel продолжает широко рекламировать свой "экстремальный" игровой процессор Pentium 4 Extreme Edition на основе модифицированного серверного ядра Gallatin с тактовой частотой 3,40 ГГц и кэш-памятью третьего уровня объемом 2 Мбайта. Она дополняет стандартный нортвудовский кэш L2 512 Кбайт и тоже работает на частоте ядра процессора (правда, с большей раза в два латентностью). Таким образом, в сумме новый Pentium 4 Extreme Edition имеет кэш-память объемом 2,5 Мбайт.

Дополнительная кэш-память третьего уровня ведет начало от серверных  процессоров Xeon MP на 0,13-микронном ядре Gallatin и не имеет ничего общего с грядущим 90-нанометровым Prescott, однако этот кристалл (ядро) все же немного переработали с целью поддержки системной шины 800 МГц, уменьшения энергопотребления и др. и упаковали в стандартный корпус от текущих Pentium 4.

В свою очередь AMD Athlon 64 и AMD Opteron работающие на более высокой частоте 2200 МГц, производятся по 0,13-микронной технологии (SOI) и содержат 105,9 млн. транзисторов и отличаются от предшествующих Athlon XP новым ядром с 64-битными возможностями вычислений (наряду с улучшенными 32-битными на базе прежнего ядра Athlon XP), кэш-памятью второго уровня объемом 1 Мбайт (причем кэш у Атлонов инклюзивный, то есть полный объем с учетом 128 Кбайт L1 составляет 1152 Кбайт).

При доступе к памяти, ЦП  сначала  обращается к кэш-памяти первого  уровня. При промахе производится обращение к кэш-памяти второго  уровня. Если информация отсутствует и в L2, производится обращение к ОП, и соответствующий блок заносится сначала в L2, а затем и в L1. Благодаря такой процедуре, часто запрашиваемая информация может быть легко восстановлена из кэш-памяти второго уровня.

Потенциальная экономия за счет применения L2 зависит от вероятности попаданий как в L1, так и L2. Однако, опыт Intel и AMD показывает, что использование кэш-памяти второго уровня существенно улучшает производительность. Именно поэтому во всех проанонсированых производителями новейших версиях процессоров применяется двухуровневая и даже трехуровневая организация кэш-памяти.

 

TLB как разновидность кэш-памяти

Почти все современные ЦП обладают TLB (Translation Look-aside Buffers, вспомогательные буфера преобразования). Своим существованием они обязаны тому факту, что ЦП в работе используют преимущественно виртуальные адреса оперативной памяти, в то время как контроллеры оперативной и кэш-памяти работают преимущественно с реальными адресами. Для того чтобы не вычислять при каждом обращении к памяти реальный адрес из виртуального, в ЦП присутствуют таблицы соответствия виртуальных адресов страниц памяти реальным. Как правило, их объем невелик (от единиц до сотен записей), но этого вполне достаточно, поскольку часто запрашиваемые данные или команды обычно хорошо локализуются в пределах страницы памяти размером 4 или 8 Кбайт.

Что же происходит, если запрашиваемого реального адреса какой-либо страницы не находится в TLB? A-box ЦП отрабатывает специальный вызов (exception trap), на который ОС должна адекватно отреагировать, т. е. произвести поиск нужной страницы в своих таблицах подсистемы виртуальной памяти. Если в процессе поиска окажется, что указанная страница находится в файле или разделе подкачки, то она должна незамедлительно быть оттуда считана в оперативную память. В итоге А-box ЦП получит реальный адрес нужной страницы памяти и процесс пойдет своим путем.

Информация о работе Операционные системы