Arcitecture_of_Computers_Lecture03.ppt
- Количество слайдов: 45
Архитектура вычислительных систем. Лекция 3. Иерархия запоминающих устройств Управление оперативной памятью Москва, сентябрь 2011 Ловецкий К. П.
Иерархия запоминающих устройств ДИСКИ стоимость ОПЕРАТИВНАЯ ПАМЯТЬ скорость КЭШ объем РЕГИСТРЫ ЛЕНТЫ Информация в вычислительной системе может запоминаться и храниться устройствами различного типа в зависимости от того, насколько оперативным должен быть доступ к данной информации, насколько долговременным должно быть ее хранение и каков ее объем. 2
(Random Access Memory) — один из видов памяти, позволяющий в любой момент времени получить доступ к любой ячейке по её адресу на чтение или запись. Варианты конструкции модулей RAM, используемые в качестве ОЗУ компьютеров. Сверху вниз: DIP, SIPP, SIMM 30 pin, SIMM 72 pin, DIMM, DDR DIMM 3
Магнитный диск Название «винчестер» накопитель получил благодаря фирме IBM, которая в 1973 году выпустила жёсткий диск модели 3340, впервые объединивший в одном неразъёмном корпусе пластины диска и считывающие головки. При его разработке инженеры использовали краткое внутреннее название « 30 -30» , что означало два модуля (в максимальной компоновке) по 30 Мб каждый. Кеннет Хотон, руководитель проекта, по созвучию с обозначением популярного охотничьего ружья «Winchester 30 -30» предложил назвать этот диск «винчестером» . 4
Магнитный диск The cylinder schematic derives from hard drives internally being a stack of platters, as in these 1970 s vintage disk pack (cover removed). 5
Магнитный диск Current hard disk form factors Form factor Width Height Largest capacity Platters (Max) 3. 5″ 19 or 25. 4 mm 4 TB (2011) 5 2. 5″ 69. 9 mm 7, 9. 5, 11. 5, or 15 mm 1. 5 TB (2010) 4 1. 8″ 6 102 mm 54 mm 5 or 8 mm 320 GB (2009) 3
Магнитный диск Units of storage capacity l l 7 l The capacity of hard disk drives is given by manufacturers in megabytes (1 MB = 1, 000 bytes), gigabytes (1 GB = 1, 000, 000 bytes) or terabytes (1 TB = 1, 000, 000 bytes). This numbering convention, where prefixes like mega- and giga - denote powers of 1000, is also used for data transmission rates and DVD capacities. However, the convention is different from that used by manufacturers of memory (RAM, ROM) and CDs, where prefixes like kilo- and mega mean powers of 1024. When the unit prefixes like kilo- denote powers of 1024 in the measure of memory capacities, the 1024 n progression (for n = 1, 2, …) is as follows: kilo = 210 = 10241 = 1024, mega = 220 = 10242 = 1, 048, 576, giga = 230 = 10243 = 1, 073, 741, 824, tera = 240 = 10244 = 1, 099, 511, 627, 776, and so forth.
Геометрия магнитного диска 8 С целью адресации пространства поверхности пластин диска делятся на дорожки — концентрические кольцевые области. Каждая дорожка делится на равные отрезки — секторы. Адресация CHS предполагает, что все дорожки в заданной зоне диска имеют одинаковое число секторов. Цилиндр — совокупность дорожек, равноотстоящих от центра, на всех рабочих поверхностях пластин жёсткого диска. Номер головки задает используемую рабочую поверхность (то есть конкретную дорожку из цилиндра), а номер сектора — конкретный сектор на дорожке.
Иерархия запоминающих устройств Регистры центрального процессора l 9 Наиболее оперативно доступна информация в регистрах центрального процессора. Однако объем регистровой памяти задается раз и навсегда при проектировании процессора и увеличен быть не может; при этом объем регистровой памяти ограничен, т. к. каждый новый регистр ЦП увеличивает сложность схемы ЦП, требует введения дополнительных инструкций и в целом может существенно повысить стоимость процессора.
Иерархия запоминающих устройств Кэш-память l l 10 Кэш-память предназначена для увеличения скорости доступа к данным, находящимся в оперативной памяти. Различают кэш первого уровня, физически реализованный на одной микросхеме с ЦП, и кэш второго уровня, представляющий собой отдельный конструктив, связанный с процессором непосредственно (без использования общей шины). В кэш-памяти дублируются данные из оперативной памяти, наиболее часто использующиеся выполняющейся программой. Скорость доступа к кэшу существенно выше, чем к оперативной памяти, однако сам кэш имеет достаточно сложное устройство, объем его ограничен, а стоимость гораздо выше, чем у оперативной памяти такого же объема.
Иерархия запоминающих устройств Оперативная память l l 11 Оперативная память является основным хранилищем программ и данных, находящихся в непосредственной обработке. Объем оперативной памяти может быть сравнительно большим, а стоимость ее в последние годы снизилась. Тем не менее, ее объема может не хватать. Кроме того, содержимое оперативной памяти, кэша и регистров теряется с выключением компьютера, так что для долговременного хранения данных эти виды запоминающих устройств непригодны.
Иерархия запоминающих устройств Магнитные диски l l 12 На следующем уровнем иерархии находятся магнитные диски или, вообще говоря, устройства долговременного хранения, позволяющие производить доступ к данным в произвольном порядке. Кроме собственно магнитных дисков, к устройствам такого класса относятся, например, накопители на flash-картах, CD-диски и т. п. Объем таких устройств может быть на порядки больше, чем объем ОЗУ, а стоимость − существенно ниже. Кроме того, сохраненная на дисках информация не теряется при выключении питания и может храниться долгое время. Однако доступ к дискам медленнее (в сравнении со скоростью доступа к ОЗУ); более того, процессор не в состоянии непосредственно обращаться к дискам, так что данные для их использования должны быть предварительно скопированы в оперативную память (ОЗУ).
Иерархия запоминающих устройств Магнитные диски l 13 Накопи тель на жёстких магни тных ди сках, НЖМД, жёсткий диск, харддиск, HDD, HMDD или винче стер, (англ. Hard (Magnetic) Disk Drive, HDD, HMDD) — энергонезависимое, перезаписываемое компьютерное запоминающее устройство. Является основным накопителем данных практически во всех современных компьютерах.
Магнитные диски l l В отличие от «гибкого» диска (дискеты), информация в НЖМД записывается на жёсткие (алюминиевые или стеклянные) пластины, покрытые слоем ферромагнитного материала, чаще всего двуокиси хрома. В некоторых НЖМД используется одна пластина, в других — несколько на одной оси. Считывающие головки в рабочем режиме не касаются поверхности пластин благодаря прослойке набегающего потока воздуха, образуемого у поверхности при быстром вращении. Расстояние между головкой и диском составляет несколько нанометров (в современных дисках 5 -10 нм), а отсутствие механического контакта обеспечивает долгий срок службы устройства. При отсутствии вращения дисков, головки находятся у шпинделя или за пределами диска в безопасной зоне, где исключён их нештатный контакт с поверхностью дисков. 14
Управление оперативной памятью Менеджер памяти l l 15 Регистровая память находится под непосредственным контролем программиста. Кэш -память контролируется процессором автоматически; программист может не принимать во внимание ее существование. Что касается оперативной памяти, то распределение и управление ею является одной из важнейших задач операционной системы.
Управление оперативной памятью Проблемы, решаемые менеджером памяти l l 16 Защита процессов друг от друга и операционной системы от процессов. Управление аппаратной защитой памяти. Как уже говорилось, в мультизадачной системе необходимы аппаратные механизмы защиты памяти. Управление ими, включая выделение памяти процессам, возлагается на операционную систему. Недостаток объема оперативной памяти. Объема оперативной памяти может не хватить для размещения ядра и всех процессов; в этом случае современные операционные системы высвобождают физическую память, сбрасывая (откачивая) давно не использовавшиеся данные на диск.
Управление оперативной памятью Проблемы, решаемые менеджером памяти l l 17 Дублирование данных. Дублирование может возникнуть, например, при запуске нескольких копий одной и той же программы: хотя при этом их данные могут различаться, сегменты кода будут содержать в точности одно и то же. Естественно, такого дублирования желательно избегать. Перемещение кода. Код программ может быть привязан к конкретным значениям адресов памяти, в которые загружается программа (например, код может использовать переходы по абсолютным адресам). Вместе с тем, в мультизадачной ситуации, вообще говоря, неизвестно, в какое конкретно место физической памяти придется загружать конкретную программу; если привязать ее к физическим адресам, именно это место в памяти может оказаться занято другой программой.
Управление оперативной памятью Проблемы, решаемые менеджером памяти l l 18 Фрагментация. При постоянном выделении и освобождении блоков памяти разного размера может возникнуть ситуация, при которой очередной блок не может быть выделен, несмотря на то, что общее количество свободной памяти превышает его размер. С проблемой фрагментации непосредственно связана проблема увеличения размеров существующей задачи в случае, если ей потребовалась дополнительная память: может оказаться, что память за верхней границей задачи занята и расширять ее некуда. В мультизадачной системе управление оперативной памятью становится сложной задачей, требующей как аппаратной, так и программной поддержки.
Управление оперативной памятью Возникновение фрагментации памяти 3 3 5 2 4 1 19 ОС 4 1 ОС l 3 ОС В некоторый момент мы не можем разместить в памяти задачу N 5, потому что нет подходящего свободного блока адресов, несмотря на то, что общее количество свободной памяти превышает размер новой задачи.
Управление памятью: общие понятия Подкачка l 20 Для решения проблемы нехватки оперативной памяти операционные системы используют подкачку (swapping in/out). Подкачка состоит в том, что находящиеся в оперативной памяти данные, которые временно не используются (например, принадлежат блокированным задачам), могут быть для временного хранения перенесены на диск (откачаны), а при возникновении в них потребности – вновь загружены в оперативную память (подкачаны).
Управление памятью: общие понятия Виртуальная память l l 21 Использование виртуальной памяти позволяет эффективно преодолевать проблему перемещения кода, а в некоторых случаях облегчает решение проблем дублирования данных, фрагментации и защиты. Реализация подкачки также обычно опирается на виртуальную память, хотя теоретически может быть сделана и без нее. Идея виртуальной памяти состоит в том, что исполнительные адреса, фигурирующие в машинных командах, считаются не адресами физических ячеек памяти, а некоторыми абстрактными виртуальными адресами. Все множество виртуальных адресов называется виртуальным адресным пространством. Виртуальные адреса преобразуются процессором в адреса ячеек памяти (физические адреса) по некоторым правилам, причем эти правила могут динамически изменяться.
Управление памятью: общие понятия Модели организации виртуальной памяти Простейшая модель: база и предел. l 22 Снабдим процессор двумя регистрами специального назначения, которые будем называть база и предел. В привилегированном режиме значения этих регистров игнорируются. После перехода процессора в ограниченный режим при выполнении любой команды процессор (на аппаратном уровне) к любому заданному командой исполнительному адресу прибавляет значение базы и уже результат этого сложения использует в качестве адреса в физической памяти. Перед обращением к памяти процессор производит (опять же на аппаратном уровне) проверку, не превышает ли полученный адрес значения предела. Если обнаруживается превышение, процессор отрабатывает внутреннее прерывание «нарушение защиты памяти» . Модификация базы и предела при работе процессора в ограниченном режиме запрещена.
Управление памятью: общие понятия Модели организации виртуальной памяти Простейшая модель: база и предел. виртуальный адрес предел 2 предел 1 2 база 1 база ОС l 23 база физ. адрес ОС Регистр «база» задает адрес, начиная с которого в памяти располагается текущая задача. Исполнительные адреса, задаваемые инструкциями в коде задачи, не совпадают с «настоящими» адресами ячеек памяти, к которым в итоге производится обращение, так что эти адреса можно считать виртуальными.
Управление памятью: общие понятия Модели организации виртуальной памяти Простейшая модель: база и предел. l 24 Ясно, что таким образом проблемы защиты и адаптации к адресам решены. С проблемой объема памяти дела обстоят далеко не так гладко: на диск можно сбросить только целиком всю память той или иной задачи. Кроме того, если объема физической памяти не хватает даже для одной задачи (то есть нашлась такая задача, потребности которой превышают объем физической памяти), описанная модель выйти из положения не позволяет. Проблема фрагментации решается только путем перемещения задач в физической памяти, что влечет относительно дорогостоящие операции копирования существенных объемов данных. Наконец, проблема дублирования не решена вообще.
Управление памятью: общие понятия Модели организации виртуальной памяти Сегментная организация памяти l l 25 Усовершенствуем модель «база-предел» . Для этого введем понятие сегмента. Под сегментом будем понимать область физической памяти, имеющую начало (по аналогии с базой) и длину (по аналогии с пределом). В отличие от предыдущей модели, позволим каждой задаче иметь несколько пар базапредел, то есть несколько сегментов. Конечно, такая смена модели существенно затронет как устройство процессора, так и программное обеспечение, причем, если в модели «база-предел» требовалась поддержка только со стороны операционной системы, то в сегментной модели новую архитектуру придется учитывать и при написании кода пользовательских программ (по крайней мере, если мы захотим писать на языке ассемблера; трансляторы языков высокого уровня все нужные моменты учтут автоматически при переводе нашей программы в исполняемый код).
Управление памятью: общие понятия Модели организации виртуальной памяти Сегментная организация памяти селектор смещение Таблица сегментов атрибуты начальный адрес размер физический адрес l 26 В исполняемом адресе (то есть в адресе, формируемом инструкциями процессора) появляется специфическая часть, именуемая селектором сегмента.
Управление памятью: общие понятия Модели организации виртуальной памяти Сегментная организация памяти l l 27 Селектор сегмента содержит число, представляющее собой, упрощенно говоря, порядковый номер сегмента в таблице дескрипторов сегментов. На каждый сегмент эта таблица содержит физический адрес его начала и его длину, плюс к этому некоторые служебные параметры (например, флаги, разрешающие или запрещающие запись в этот сегмент, исполнение его содержимого в качестве кода и т. п. ). Физический адрес ячейки памяти вычисляется путем прибавления адреса начала сегмента, взятого из строки таблицы, выбранной селектором, к смещению, взятому из исполнительного адреса
Управление памятью: общие понятия Модели организации виртуальной памяти Сегментная организация памяти l 28 Мы получаем преимущества в отношении проблем объема и фрагментации. Откачивать на диск по-прежнему требуется сегмент целиком, но при наличии у каждой задачи нескольких сегментов это проще, чем откачивать всю задачу. При перемещении данных с целью дефрагментации можно перемещать задачу не целиком, а лишь некоторые из ее сегментов, и, кстати, найти свободную область подходящего размера для размещения сегмента в среднем проще, чем для всей задачи.
Управление памятью: общие понятия 29 ы иц ан ст р ы др ка ст р ан иц ы Модели организации виртуальной памяти Страничная организация памяти Физическая память Виртуальная память задачи 2 Виртуальная память задачи 1 l В этой модели каждая задача имеет свое собственное пространство виртуальных адресов и свои таблицы для перевода их в адреса физические. l Физическая память делится на кадры фиксированного размера, а пространство виртуальных адресов − на страницы того же размера.
Управление памятью: общие понятия Модели организации виртуальной памяти Страничная организация памяти l l 30 l При 32 -битной адресации (4 Gb адресуемого пространства) количество страниц составит больше миллиона. Если учесть, что каждая строка в таблице страниц занимает обычно 4 байта, получим, что на таблицу страниц каждого процесса требуется 4 Mb памяти. Безусловно, это неприемлемо: большинство задач занимает в памяти существенно меньше 1 Mb, так что на таблицы страниц придется потратить больше памяти, чем на сами задачи. Одним из возможных решений является искусственное ограничение количества страниц, но это решение далеко не лучшее, т. к. приводит к невозможности выполнения задач, требующих большего количества памяти. Более элегантное решение состоит в применении многоуровневых страничных таблиц.
Управление памятью: общие понятия Модели организации виртуальной памяти Страничная организация памяти l l 31 Как можно заметить, страничная организация памяти снимает проблемы объема и фрагментации. К недостаткам страничной модели можно отнести, во-первых, сравнительно большое количество неиспользуемой памяти в конце последней страницы каждой задачи (особенно при больших размерах страниц) и, во-вторых, большие объемы служебной информации (страничных таблиц).
Управление памятью: общие понятия Модели организации виртуальной памяти Сегментно-страничная организация памяти l l 32 Сегментная модель организации памяти имеет свои специфические достоинства, делая адресное пространство задачи многомерным. Сегментно-страничная модель представляет собой попытку объединить достоинства сегментной и страничной организации памяти. В этой модели задача имеет несколько сегментов, причем каждый сегмент представляет собой самостоятельное виртуальное адресное пространство, поделенное на страницы. Иначе говоря, каждой задаче приписывается, в общем случае, не одно отображение страниц в физические кадры, а несколько (по одному на каждый сегмент). Основным недостатком этой модели является ее чрезмерная сложность; практически не известны операционные системы, существенно использующие сегментно-страничную модель.
9 фактов, которые должен знать каждый в цифровой век. По материалам книги Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion, опубликованной в июне 2008 года издательством Addison. Wesley Professional. Авторы: Harry Lewis, Ken Ledeen и Hal Abelson. l Откуда Большой Брат знает, где ты находишься, что ты делаешь и о чем ты писал своим приятелям. 1. Мы знаем, где ты Если у тебя есть сотовый телефон (cell phone), то сотовый оператор всегда знает, где ты находишься. Это необходимо для того, чтобы до тебя могли дозвониться. Мобильный телефон регулярно связывается с ближайшей точкой доступа; эта информация всегда хранится в базе данных телефонной компании. Именно эта информация помогла полицейским обнаружить место аварии Т. Райдер (Tanya Rider) и спасти ее. 33
9 фактов, которые должен знать каждый в цифровой век. По материалам книги Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion, опубликованной в июне 2008 года издательством Addison. Wesley Professional. Авторы: Harry Lewis, Ken Ledeen и Hal Abelson. MAPLE VALLEY, Wash. - A woman who spent eight days trapped in a wrecked vehicle has severe injuries, but her brain function is normal and she can move her arms and legs, her physician said Friday. Tom Rider said he planned to replace the Honda Element his wife crashed. He said it was fully insured and that while he expects to be eligible for a replacement at no cost, he's more than willing to pay for one addition: a GPS locator. 34 Tanya Rider, 33, was found alive but dehydrated at the bottom of a steep ravine in suburban Maple Valley on Thursday, more than a week after she failed to return home from work. After being cut of her SUV by rescuers, she was taken to Seattle’s Harborview Medical Center, where she was in critical condition.
9 фактов, которые должен знать каждый в цифровой век. 2. В автомобили встраиваются «черные ящики» «Попал в аварию, сказал инспектору, что ехал со скоростью в 35 км/ч в зоне 40 км/ч. А он пошел смотреть, что записано в черном ящике, чтобы убедиться, не вру ли я» . Современные автомобили уже комплектуются такими устройствами. В маленькие ящички записывается множество фактов: как быстро ехал, в какой момент резко тормозил и многое другое. Скоро все машины будут оборудованы такими устройствами… 35
9 фактов, которые должен знать каждый в цифровой век. 3. Биты не пропадают Помните безалаберное SMS-послание? посланное Вами на прошлой неделе? Ваш провайдер тоже помнит. Сообщения не занимают много места, так почему бы не оставить их в архиве навсегда? Тем более, что кто-нибудь как-нибудь может попросить их прослушать… Юристы известного баскетболиста Брайанта (Kobe Bryant), получив доступ к почтовым сообщениям дамы, обвинявшей его в изнасиловании, сумели выиграть судебный процесс. 36
9 фактов, которые должен знать каждый в цифровой век. 4. Подслушивают с помощью твоего мобильного телефона? Ваш мобильник – маленькая радиостанция, способная принимать и посылать сообщения, дополненная управляющим компьютером. Эти компьютеры могут программироваться удаленно – не обязательно их приносить в офис провайдера. И такой телефон будет выполнять роль «жучка» , независимо от того, разговариваете Вы по нему или нет. В 2006 году право ФБР использовать такие закладки было легализовано в судебном порядке. 37
9 фактов, которые должен знать каждый в цифровой век. 5. Будь внимателен, выбрасывая старый компьютер. Избавляясь от старого компьютера Вы стерли с диска пароли и логины, финансовые документы и т. д. Но до тех пор, пока Вы реально не понимаете, как работает команда “Delete”, у Вас не может быть уверенности, что уничтожена вся информация. Ведь даже после форматирования диска часто можно восстановить его содержимое… Лучший способ уничтожения информации на диске – разбить его молотком. 38 Аналогична и ситуация с e-mail сообщениями Вашего мобильника. Их «удаление» не означает невозможность их прочтения.
9 фактов, которые должен знать каждый в цифровой век. 6. В сети никто не знает, кто я? Раньше считалось (так и было), что интернет обеспечивает полную анонимность. Сейчас все иначе. E-коммерция, бесплатные e-mail адреса, гигабайтные объемы «бесплатного дискового пространства» - все это связано с тем, что теперь в интернете негде спрятаться. Все Ваши действия в сети – поиск информации, покупки в интернет магазинах, просмотр карт Google Maps – отслеживаются и информация об этом сохраняется. Все письма отслеживаются, анализируются и сохраняются. (Удаление письма на myname@gmail. com означает лишь, что Вы – и только Вы - не можете его увидеть. ) 39
9 фактов, которые должен знать каждый в цифровой век. 7. Купили песню на i. Tunes – она не Ваша. 40 Вы не можете перепродать ее или прослушать на неавторизованном фирмой Apple плейере. Приветствуем Вас в сложном мире цифровых прав – регулируемом с помощью Digital Millennium Copyright Act. Теперь Вы не можете (по закону) подарить купленную мелодию своему другу, как когда-то дарили ему CD-диск.
9 фактов, которые должен знать каждый в цифровой век. Будь в безопасности. Простые меры предосторожности. Мир интернета гораздо более опасен, чем это было всего несколько лет назад. Сейчас с помощью сети многие управляют своими банковскими счетами, совершают покупки, переписываются с начальством, родственниками и друзьями. Однако достаточно узнать лишь пару цифр – и, получив доступ к твоему компьютеру, некто может получить много конфиденциальной информации. 41
9 фактов, которые должен знать каждый в цифровой век. 8. Phishing and Vishing. Опасайтесь посланий, что приходят по почте, с предложением ввести пароль, чтобы … Чаще всего это «phishing» - попытка стащить Ваш пароль с целью овладения банковским счетом. Vishing (voice phishing) – звонки по мобильному с той же целью… Не обращайте внимания на письма типа «Ваш почтовый ящик заблокирован – введите пароль…» . 42
9 фактов, которые должен знать каждый в цифровой век. 8. Phishing and Vishing. 43 ~? password harvesting fishing
9 фактов, которые должен знать каждый в цифровой век. 9. https: // но не http: // "S" stands for "Secure" 44 При вводе конфиденциальной информации с помощью браузера убедитесь, что включен режим шифрования. Банковские программы шифруют пересылаемую информацию и не позволяют всяким гнусным типам перехватить и узнать Ваш пароль и номер счета. В противном случае весь мир может увидеть, что Вы посылаете.
Лекция l 45 The end!