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

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

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

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

Содержание

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Кэширование информации, условия установки кэш памяти, виды кэш памяти, влияние объёма кэш памяти на производительность ОС

 

Историческая справка

Явная необходимость в кэш-памяти при проектировании массовых ЦП проявилась в начале 1990-х гг., когда тактовые частоты ЦП значительно превысили частоты системных шин, и, в частности, шины памяти. В настоящее время частоты серверных ЦП достигают почти 4 ГГц, а оперативной памяти, массово применяемой в серверах, - только 400 МГц (200 МГц с удвоением благодаря передаче по обоим фронтам сигнала). В этой ситуации при прямом обращении к памяти функциональные устройства ЦП значительную часть времени простаивают, ожидая доставки данных. В какой-то мере проблемы быстродействия оперативной памяти могут быть решены увеличением разрядности шины памяти, но даже в серверах младшего уровня нередко встречается 8-16 гнезд для модулей памяти, поэтому такое решение усложняет дизайн системной платы. Проложить же 256- или даже 512-бит шину к расположенной внутри кристалла ЦП кэш-памяти сравнительно несложно. Таким образом, эффективной альтернативы кэш-памяти в современных высокопроизводительных системах не существует.

 

Понятие кэш-памяти

Кэш-память — это высокоскоростная память произвольного доступа, используемая процессором компьютера для временного хранения информации. Она увеличивает производительность, поскольку хранит наиболее часто используемые данные и команды «ближе» к процессору, откуда их можно быстрее получить.

Кэш-память напрямую влияет на скорость вычислений и помогает процессору работать с более равномерной загрузкой. Когда приложение начинает работать, данные и команды переносятся с медленного жесткого диска в оперативную память произвольного доступа (Dynamic Random Access Memory — DRAM), откуда процессор может быстро их получить. Оперативная память выполняет роль кэша для жесткого диска.

Для достаточно быстрых компьютеров (например, на основе intel-80386 с тактовой частотой более 25 мгц или intel-80486) необходимо обеспечить быстрый доступ к оперативной памяти, иначе микропроцессор будет простаивать и быстродействие компьютера уменьшится. Для этого такие компьютеры могут оснащаться кэш-памятью, т.е. "сверхоперативной" памятью относительно небольшого объема (обычно от 64 до 256 кбайт), в которой хранятся наиболее часто используемые участки оперативной памяти. Кэш-память располагается "между" микропроцессором и оперативной памятью, и при обращении микропроцессора к памяти сначала производится поиск нужных данных в кэш-памяти. Поскольку время доступа к кэш-памяти в несколько раз меньше, чем к обычной памяти, а в большинстве случаев необходимые микропроцессору данные содержаться в кэш-памяти, среднее время доступа к памяти уменьшается. Для компьютеров на основе intel-80386dx  или 80486sx размер кэш-памяти в 64 кбайт является удовлетворительным, 128 кбайт - вполне достаточным. Компьютеры на основе intel-80486dx и dx2 обычно оснащаются кэш-памятью емкостью 256 кбайт.

 

Уровень за уровнем

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

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

Процессор Pentium III компании Intel имеет  кэш-память первого уровня емкостью 32 Кбайт на микросхеме процессора и  либо кэш-память второго уровня емкостью 256 Кбайт на микросхеме, либо кэш-память второго уровня емкостью 512 Кбайт, не интегрированную с процессором.

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

Когда процессор обнаруживает данные в одном из кэшей, это называют «попаданием»; неудачу называют «промахом». Каждый промах вызывает задержку, поскольку процессор будет пытаться обнаружить данные на другом, более медленном уровне. В хорошо спроектированных системах с программными алгоритмами, которые выполняют предварительную выборку данных до того, как они потребуются, процент «попаданий» может достигать 90.

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

Кэш-память для серверов даже более  важна, чем для настольных ПК, поскольку  серверы поддерживают между процессором  и памятью весьма высокий уровень  трафика, генерируемого клиентскими  транзакциями. В 1991 году Intel превратила ПК на базе процессора 80486 с тактовой частотой 50 МГц в сервер, добавив на процессорную плату кэш с тактовой частотой 50 МГц. Хотя шина, связывающая процессор и память, работала с частотой всего 25 МГц, такая кэш-память позволила многие программы во время работы полностью размещать в процессоре 486 с тактовой частотой 50 МГц.

Иерархическая организация памяти помогает компенсировать разрыв между  скоростями процессоров, ежегодно увеличивающимися примерно на 50% в год, и скоростями доступа к DRAM, которые растут лишь на 5%. Как считает Джон Шен, профессор Университета Карнеги–Меллона, по мере усиления этого диссонанса производители аппаратного обеспечения добавят третий, а возможно и четвертый уровень кэш-памяти.

Действительно, уже в этом году Intel намерена представить кэш-память третьего уровня в своих 64-разрядных процессорах Itanium. Кэш емкостью 2 или 4 Мбайт будет связан с процессором специальной шиной, тактовая частота которой совпадает с частотой процессора.

IBM также разработала собственную  кэш-память третьего уровня для  32- и 64-разрядных ПК-серверов Netfinity. По словам Тома Бредикича, директора по вопросам архитектуры и технологий Netfinity, сначала кэш будет размещаться на микросхеме контроллера памяти, выпуск которой начнется к концу следующего года.

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

 

 

Виды КЭШ-памяти, ее назначение. Современные и перспективные  виды оперативной памяти

Кеш (англ. cache), или сверхоперативная память— очень быстрое ЗУ небольшого объёма, которое используется при обмене данными между микропроцессором и оперативной памятью для компенсации разницы в скорости обработки информации процессором и несколько менее быстродействующей оперативной памятью.

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

Кэш-память реализуется на микросхемах  статической памяти SRAM (Static RAM), более  быстродействующих, дорогих и малоёмких, чем DRAM.

Современные микропроцессоры имеют  встроенную кэш-память, так называемый кэш первого уровня размером 8–16 Кбайт. Кроме того, на системной плате компьютера может быть установлен кэш второго уровня ёмкостью от 64 Кбайт до 256 Кбайт и выше.

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

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

КЭШ-память "с обратной записью" - результаты операций прежде, чем их записать в ОП, фиксируются в КЭШ-памяти, а затем контроллер КЭШ-памяти самостоятельно перезаписывает эти данные в ОП;

КЭШ-память "со сквозной записью" - результаты операций одновременно, параллельно записываются и в КЭШ-память, и в ОП.

Микропроцессоры начиная от МП 80486 имеют свою встроенную КЭШ-память (или  КЭШ-память 1-го уровня). Микропроцессоры Pentium имеют КЭШ-память отдельно для  данных и отдельно для команд.

Для всех МП может использоваться дополнительная КЭШ-память (КЭШ-память 2-го уровня), размещаемая на материнской  плате вне МП, емкость которой  может достигать нескольких мегабайтов.

Оперативная память может строиться  на микросхемах динамического (Dinamic Random Access Memory - DRAM) или статического (Static Random Access Memory - SRAM) типа. Статический тип памяти обладает существенно более высоким быстродействием, но значительно дороже динамического. Для регистровой памяти(МПП и КЭШ-память) используются SRAM, а ОЗУ основной памяти строится на базе DRAM-микросхем.

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

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

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

В современных компьютерах кэш  обычно строится по двухуровневой схеме. Первичный кэш (L1) встроен во все процессоры класса 486 и старше. Его объем 8-32 Кбайт. Он работает на внутренней тактовой частоте процессора. Вторичный кэш (L2) обычно устанавливается на системной плате. В Pentium синхронный кэш L2 расположен в одном корпусе с процессором и работает на его внутренней частоте.

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

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

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

Существует два основных алгоритма  записи данных из КЭШа в основную память: сквозная запись WT (Write Through) и обратная запись WB (Write Back).

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

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

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