Слайд 1Архитектура вычислительных систем.
Лекция 3.
Ловецкий К.П.
Москва,
сентябрь 2011
Иерархия запоминающих устройств
Управление
оперативной памятью
Слайд 2Информация в вычислительной системе может запоминаться и
храниться устройствами различного
типа в зависимости от того,
насколько оперативным должен быть доступ
к данной информации,
насколько долговременным должно быть ее хранение и каков ее объем.
Иерархия запоминающих устройств
Слайд 3(Random Access Memory) —
один из видов памяти,
позволяющий в
любой момент
времени получить доступ к
любой ячейке по её
адресу на
чтение или запись.
Варианты конструкции модулей
RAM, используемые в качестве
ОЗУ компьютеров.
Сверху вниз: DIP, SIPP,
SIMM 30 pin, SIMM 72 pin,
DIMM, DDR DIMM
Слайд 4Название «винчестер» накопитель получил благодаря фирме IBM,
которая в 1973
году выпустила жёсткий диск модели 3340,
впервые объединивший в одном
неразъёмном корпусе пластины диска
и считывающие головки. При его разработке инженеры использовали
краткое внутреннее название «30-30», что означало два модуля
(в максимальной компоновке) по 30 Мб каждый.
Кеннет Хотон, руководитель проекта, по созвучию с обозначением
популярного охотничьего ружья «Winchester 30-30» предложил
назвать этот диск «винчестером».
Магнитный диск
Слайд 5Магнитный диск
The cylinder schematic derives from hard drives internally being
a stack of platters, as in these 1970s vintage disk
pack (cover removed).
Слайд 6Магнитный диск
Current hard disk form factors
Слайд 7Магнитный диск
Units of storage capacity
The capacity of hard disk drives
is given by manufacturers in megabytes (1 MB = 1,000,000 bytes), gigabytes (1 GB = 1,000,000,000
bytes) or terabytes (1 TB = 1,000,000,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 1024n 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 предполагает, что все дорожки в заданной зоне диска имеют одинаковое число секторов.
Цилиндр — совокупность дорожек, равноотстоящих от центра, на всех рабочих поверхностях пластин жёсткого диска. Номер головки задает используемую рабочую поверхность (то есть конкретную дорожку из цилиндра), а номер сектора — конкретный сектор на дорожке.
Слайд 9Иерархия запоминающих устройств
Регистры центрального процессора
Наиболее оперативно доступна информация в регистрах
центрального процессора. Однако объем регистровой памяти задается раз и навсегда
при проектировании процессора и увеличен быть не может; при этом объем регистровой памяти ограничен, т.к. каждый новый регистр ЦП увеличивает сложность схемы ЦП, требует введения дополнительных инструкций и в целом может существенно повысить стоимость процессора.
Слайд 10Иерархия запоминающих устройств
Кэш-память
Кэш-память предназначена для увеличения скорости доступа к данным,
находящимся в оперативной памяти. Различают кэш первого уровня, физически реализованный
на одной микросхеме с ЦП, и кэш второго уровня, представляющий собой отдельный конструктив, связанный с процессором непосредственно (без использования общей шины). В кэш-памяти дублируются данные из оперативной памяти, наиболее часто использующиеся выполняющейся программой.
Скорость доступа к кэшу существенно выше, чем к оперативной памяти, однако сам кэш имеет достаточно сложное устройство, объем его ограничен, а стоимость гораздо выше, чем у оперативной памяти такого же объема.
Слайд 11Иерархия запоминающих устройств
Оперативная память
Оперативная память является основным хранилищем программ и
данных, находящихся в непосредственной обработке. Объем оперативной памяти может быть
сравнительно большим, а стоимость ее в последние годы снизилась.
Тем не менее, ее объема может не хватать. Кроме того, содержимое оперативной памяти, кэша и регистров теряется с выключением компьютера, так что для долговременного хранения данных эти виды запоминающих устройств непригодны.
Слайд 12Иерархия запоминающих устройств
Магнитные диски
На следующем уровнем иерархии находятся магнитные диски
или, вообще говоря, устройства долговременного хранения, позволяющие производить доступ к
данным в произвольном порядке. Кроме собственно магнитных дисков, к устройствам такого класса относятся, например, накопители на flash-картах, CD-диски и т.п.
Объем таких устройств может быть на порядки больше, чем объем ОЗУ, а стоимость − существенно ниже. Кроме того, сохраненная на дисках информация не теряется при выключении питания и может храниться долгое время. Однако доступ к дискам медленнее (в сравнении со скоростью доступа к ОЗУ); более того, процессор не в состоянии непосредственно обращаться к дискам, так что данные для их использования должны быть предварительно скопированы в оперативную память (ОЗУ).
Слайд 13Иерархия запоминающих устройств
Магнитные диски
Накопи́тель на жёстких магни́тных ди́сках, НЖМД, жёсткий
диск, хард, харддиск, HDD, HMDD или винче́стер, (англ. Hard (Magnetic)
Disk Drive, HDD, HMDD) — энергонезависимое, перезаписываемое компьютерное запоминающее устройство. Является основным накопителем данных практически во всех современных компьютерах.
Слайд 14Магнитные диски
В отличие от «гибкого» диска (дискеты), информация в НЖМД
записывается на жёсткие (алюминиевые или стеклянные) пластины, покрытые слоем ферромагнитного
материала, чаще всего двуокиси хрома. В некоторых НЖМД используется одна пластина, в других — несколько на одной оси. Считывающие головки в рабочем режиме не касаются поверхности пластин благодаря прослойке набегающего потока воздуха, образуемого у поверхности при быстром вращении.
Расстояние между головкой и диском составляет несколько нанометров (в современных дисках 5-10 нм), а отсутствие механического контакта обеспечивает долгий срок службы устройства. При отсутствии вращения дисков, головки находятся у шпинделя или за пределами диска в безопасной зоне, где исключён их нештатный контакт с поверхностью дисков.
Слайд 15Управление оперативной памятью
Менеджер памяти
Регистровая память находится под непосредственным контролем программиста.
Кэш-память контролируется процессором автоматически; программист может не принимать во внимание
ее существование.
Что касается оперативной памяти, то распределение и управление ею является одной из важнейших задач операционной системы.
Слайд 16Управление оперативной памятью
Проблемы, решаемые менеджером памяти
Защита процессов друг от друга
и операционной системы от процессов. Управление аппаратной защитой памяти. Как
уже говорилось, в мультизадачной системе необходимы аппаратные механизмы защиты памяти. Управление ими, включая выделение памяти процессам, возлагается на операционную систему.
Недостаток объема оперативной памяти. Объема оперативной памяти может не хватить для размещения ядра и всех процессов; в этом случае современные операционные системы высвобождают физическую память, сбрасывая (откачивая) давно не использовавшиеся данные на диск.
Слайд 17Управление оперативной памятью
Проблемы, решаемые менеджером памяти
Дублирование данных. Дублирование может возникнуть,
например, при запуске нескольких копий одной и той же программы:
хотя при этом их данные могут различаться, сегменты кода будут содержать в точности одно и то же. Естественно, такого дублирования желательно избегать.
Перемещение кода. Код программ может быть привязан к конкретным значениям адресов памяти, в которые загружается программа (например, код может использовать переходы по абсолютным адресам). Вместе с тем, в мультизадачной ситуации, вообще говоря, неизвестно, в какое конкретно место физической памяти придется загружать конкретную программу; если привязать ее к физическим адресам, именно это место в памяти может оказаться занято другой программой.
Слайд 18Управление оперативной памятью
Проблемы, решаемые менеджером памяти
Фрагментация. При постоянном выделении и
освобождении блоков памяти разного размера может возникнуть ситуация, при которой
очередной блок не может быть выделен, несмотря на то, что общее количество свободной памяти превышает его размер.
С проблемой фрагментации непосредственно связана проблема увеличения размеров существующей задачи в случае, если ей потребовалась дополнительная память: может оказаться, что память за верхней границей задачи занята и расширять ее некуда.
В мультизадачной системе управление оперативной памятью становится сложной задачей, требующей как аппаратной, так и программной поддержки.
Слайд 19Управление оперативной памятью
Возникновение фрагментации памяти
В некоторый момент мы не можем
разместить в памяти задачу N5, потому что нет подходящего свободного
блока адресов, несмотря на то, что общее количество свободной памяти превышает размер новой задачи.
5
Слайд 20Управление памятью: общие понятия
Подкачка
Для решения проблемы нехватки оперативной памяти операционные
системы используют подкачку (swapping in/out). Подкачка состоит в том, что
находящиеся в оперативной памяти данные, которые временно не используются (например, принадлежат блокированным задачам), могут быть для временного хранения перенесены на диск (откачаны), а при возникновении в них потребности – вновь загружены в оперативную память (подкачаны).
Слайд 21Управление памятью: общие понятия
Виртуальная память
Использование виртуальной памяти позволяет эффективно преодолевать
проблему перемещения кода, а в некоторых случаях облегчает решение проблем
дублирования данных, фрагментации и защиты. Реализация подкачки также обычно опирается на виртуальную память, хотя теоретически может быть сделана и без нее.
Идея виртуальной памяти состоит в том, что исполнительные адреса, фигурирующие в машинных командах, считаются не адресами физических ячеек памяти, а некоторыми абстрактными виртуальными адресами. Все множество виртуальных адресов называется виртуальным адресным пространством. Виртуальные адреса преобразуются процессором в адреса ячеек памяти (физические адреса) по некоторым правилам, причем эти правила могут динамически изменяться.
Слайд 22Управление памятью: общие понятия
Модели организации виртуальной памяти
Простейшая модель: база и
предел.
Снабдим процессор двумя регистрами специального назначения, которые будем называть база
и предел. В привилегированном режиме значения этих регистров игнорируются. После перехода процессора в ограниченный режим при выполнении любой команды процессор (на аппаратном уровне) к любому заданному командой исполнительному адресу прибавляет значение базы и уже результат этого сложения использует в качестве адреса в физической памяти. Перед обращением к памяти процессор производит (опять же на аппаратном уровне) проверку, не превышает ли полученный адрес значения предела. Если обнаруживается превышение, процессор отрабатывает внутреннее прерывание «нарушение защиты памяти». Модификация базы и предела при работе процессора в ограниченном режиме запрещена.
Слайд 23Управление памятью: общие понятия
Модели организации виртуальной памяти
Простейшая модель: база и
предел.
Регистр «база» задает адрес, начиная с которого в памяти располагается
текущая задача. Исполнительные адреса, задаваемые инструкциями в коде задачи, не совпадают с «настоящими» адресами ячеек памяти, к которым в итоге производится обращение, так что эти адреса можно считать виртуальными.
Слайд 24Управление памятью: общие понятия
Модели организации виртуальной памяти
Простейшая модель: база и
предел.
Ясно, что таким образом проблемы защиты и адаптации к адресам
решены. С проблемой объема памяти дела обстоят далеко не так гладко: на диск можно сбросить только целиком всю память той или иной задачи. Кроме того, если объема физической памяти не хватает даже для одной задачи (то есть нашлась такая задача, потребности которой превышают объем физической памяти), описанная модель выйти из положения не позволяет. Проблема фрагментации решается только путем перемещения задач в физической памяти, что влечет относительно дорогостоящие операции копирования существенных объемов данных. Наконец, проблема дублирования не решена вообще.
Слайд 25Управление памятью: общие понятия
Модели организации виртуальной памяти
Сегментная организация памяти
Усовершенствуем модель
«база-предел». Для этого введем понятие сегмента. Под сегментом будем понимать
область физической памяти, имеющую начало (по аналогии с базой) и длину (по аналогии с пределом). В отличие от предыдущей модели, позволим каждой задаче иметь несколько пар база-предел, то есть несколько сегментов.
Конечно, такая смена модели существенно затронет как устройство процессора, так и программное обеспечение, причем, если в модели «база-предел» требовалась поддержка только со стороны операционной системы, то в сегментной модели новую архитектуру придется учитывать и при написании кода пользовательских программ (по крайней мере, если мы захотим писать на языке ассемблера; трансляторы языков высокого уровня все нужные моменты учтут автоматически при переводе нашей программы в исполняемый код).
Слайд 26Управление памятью: общие понятия
Модели организации виртуальной памяти
Сегментная организация памяти
В исполняемом
адресе (то есть в адресе, формируемом инструкциями процессора) появляется специфическая
часть, именуемая селектором сегмента.
Слайд 27Управление памятью: общие понятия
Модели организации виртуальной памяти
Сегментная организация памяти
Селектор сегмента
содержит число, представляющее собой, упрощенно говоря, порядковый номер сегмента в
таблице дескрипторов сегментов. На каждый сегмент эта таблица содержит физический адрес его начала и его длину, плюс к этому некоторые служебные параметры (например, флаги, разрешающие или запрещающие запись в этот сегмент, исполнение его содержимого в качестве кода и т.п.).
Физический адрес ячейки памяти вычисляется путем прибавления адреса начала сегмента, взятого из строки таблицы, выбранной селектором, к смещению, взятому из исполнительного адреса
Слайд 28Управление памятью: общие понятия
Модели организации виртуальной памяти
Сегментная организация памяти
Мы получаем
преимущества в отношении проблем объема и фрагментации. Откачивать на диск
по-прежнему требуется сегмент целиком, но при наличии у каждой задачи нескольких сегментов это проще, чем откачивать всю задачу. При перемещении данных с целью дефрагментации можно перемещать задачу не целиком, а лишь некоторые из ее сегментов, и, кстати, найти свободную область подходящего размера для размещения сегмента в среднем проще, чем для всей задачи.
Слайд 29Управление памятью: общие понятия
Модели организации виртуальной памяти
Страничная организация памяти
В этой
модели каждая задача имеет свое собственное пространство виртуальных адресов и
свои таблицы для перевода их в адреса физические.
Физическая память делится на кадры фиксированного размера, а пространство виртуальных адресов − на страницы того же размера.
Слайд 30Управление памятью: общие понятия
Модели организации виртуальной памяти
Страничная организация памяти
При 32-битной
адресации (4Gb адресуемого пространства) количество страниц составит больше миллиона. Если
учесть, что каждая строка в таблице страниц занимает обычно 4 байта, получим, что на таблицу страниц каждого процесса требуется 4Mb памяти.
Безусловно, это неприемлемо: большинство задач занимает в памяти существенно меньше 1 Mb, так что на таблицы страниц придется потратить больше памяти, чем на сами задачи. Одним из возможных решений является искусственное ограничение количества страниц, но это решение далеко не лучшее, т.к. приводит к невозможности выполнения задач, требующих большего количества памяти.
Более элегантное решение состоит в применении многоуровневых страничных таблиц.
Слайд 31Управление памятью: общие понятия
Модели организации виртуальной памяти
Страничная организация памяти
Как можно
заметить, страничная организация памяти снимает проблемы объема и фрагментации.
К недостаткам
страничной модели можно отнести, во-первых, сравнительно большое количество неиспользуемой памяти в конце последней страницы каждой задачи (особенно при больших размерах страниц) и, во-вторых, большие объемы служебной информации (страничных таблиц).
Слайд 32Управление памятью: общие понятия
Модели организации виртуальной памяти
Сегментно-страничная организация памяти
Сегментная модель
организации памяти имеет свои специфические достоинства, делая адресное пространство задачи
многомерным. Сегментно-страничная модель представляет собой попытку объединить достоинства сегментной и страничной организации памяти. В этой модели задача имеет несколько сегментов, причем каждый сегмент представляет собой самостоятельное виртуальное адресное пространство, поделенное на страницы. Иначе говоря, каждой задаче приписывается, в общем случае, не одно отображение страниц в физические кадры, а несколько (по одному на каждый сегмент).
Основным недостатком этой модели является ее чрезмерная сложность; практически не известны операционные системы, существенно использующие сегментно-страничную модель.
Слайд 339 фактов, которые должен знать каждый в цифровой век.
Мы знаем,
где ты
Если у тебя есть сотовый телефон (cell phone), то
сотовый оператор всегда знает, где ты находишься. Это необходимо для того, чтобы до тебя могли дозвониться. Мобильный телефон регулярно связывается с ближайшей точкой доступа; эта информация всегда хранится в базе данных телефонной компании.
Именно эта информация помогла полицейским обнаружить место аварии Т. Райдер (Tanya Rider) и спасти ее.
По материалам книги Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion, опубликованной в июне 2008 года издательством Addison-Wesley Professional. Авторы: Harry Lewis, Ken Ledeen и Hal Abelson.
Откуда Большой Брат знает, где ты находишься, что ты делаешь и о чем ты писал своим приятелям.
Слайд 349 фактов, которые должен знать каждый в цифровой век.
По материалам
книги 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.
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 out of her SUV by rescuers, she was taken to Seattle’s Harborview Medical Center, where she was in critical condition.
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.
Слайд 359 фактов, которые должен знать каждый в цифровой век.
«Попал в
аварию, сказал инспектору, что ехал со скоростью в 35 км/ч
в зоне 40 км/ч. А он пошел смотреть, что записано в черном ящике, чтобы убедиться, не вру ли я».
Современные автомобили уже комплектуются такими устройствами. В маленькие ящички записывается множество фактов: как быстро ехал, в какой момент резко тормозил и многое другое. Скоро все машины будут оборудованы такими устройствами…
2. В автомобили встраиваются «черные ящики»
Слайд 369 фактов, которые должен знать каждый в цифровой век.
Помните безалаберное
SMS-послание? посланное Вами на прошлой неделе? Ваш провайдер тоже помнит.
Сообщения не занимают много места, так почему бы не оставить их в архиве навсегда? Тем более, что кто-нибудь как-нибудь может попросить их прослушать…
Юристы известного баскетболиста Брайанта (Kobe Bryant), получив доступ к почтовым сообщениям дамы, обвинявшей его в изнасиловании, сумели выиграть судебный процесс.
3. Биты не пропадают
Слайд 379 фактов, которые должен знать каждый в цифровой век.
Ваш мобильник
– маленькая радиостанция, способная принимать и посылать сообщения, дополненная управляющим
компьютером. Эти компьютеры могут программироваться удаленно – не обязательно их приносить в офис провайдера. И такой телефон будет выполнять роль «жучка», независимо от того, разговариваете Вы по нему или нет.
В 2006 году право ФБР использовать такие закладки было легализовано в судебном порядке.
4. Подслушивают с помощью твоего мобильного телефона?
Слайд 389 фактов, которые должен знать каждый в цифровой век.
Избавляясь от
старого компьютера Вы стерли с диска пароли и логины, финансовые
документы и т.д.
Но до тех пор, пока Вы реально не понимаете, как работает команда “Delete”, у Вас не может быть уверенности, что уничтожена вся информация. Ведь даже после форматирования диска часто можно восстановить его содержимое…
Лучший способ уничтожения информации на диске – разбить его молотком.
Аналогична и ситуация с e-mail сообщениями Вашего мобильника. Их «удаление» не означает невозможность их прочтения.
5. Будь внимателен, выбрасывая старый компьютер.
Слайд 399 фактов, которые должен знать каждый в цифровой век.
Раньше считалось
(так и было), что интернет обеспечивает полную анонимность. Сейчас все
иначе.
E-коммерция, бесплатные e-mail адреса, гигабайтные объемы «бесплатного дискового пространства» - все это связано с тем, что теперь в интернете негде спрятаться.
Все Ваши действия в сети – поиск информации, покупки в интернет магазинах, просмотр карт Google Maps – отслеживаются и информация об этом сохраняется.
Все письма отслеживаются, анализируются и сохраняются. (Удаление письма на myname@gmail.com означает лишь, что Вы – и только Вы - не можете его увидеть.)
6. В сети никто не знает, кто я?
Слайд 409 фактов, которые должен знать каждый в цифровой век.
Вы не
можете перепродать ее или прослушать на неавторизованном фирмой Apple плейере.
Приветствуем Вас в сложном мире цифровых прав – регулируемом с помощью Digital Millennium Copyright Act.
Теперь Вы не можете (по закону) подарить купленную мелодию своему другу, как когда-то дарили ему CD-диск.
7. Купили песню на iTunes – она не Ваша.
Слайд 419 фактов, которые должен знать каждый в цифровой век.
Мир интернета
гораздо более опасен, чем это было всего несколько лет назад.
Сейчас с помощью сети многие управляют своими банковскими счетами, совершают покупки, переписываются с начальством, родственниками и друзьями.
Однако достаточно узнать лишь пару цифр – и, получив доступ к твоему компьютеру, некто может получить много конфиденциальной информации.
Будь в безопасности. Простые меры предосторожности.
Слайд 429 фактов, которые должен знать каждый в цифровой век.
Опасайтесь посланий,
что приходят по почте, с предложением ввести пароль, чтобы …
Чаще
всего это «phishing» - попытка стащить Ваш пароль с целью овладения банковским счетом.
Vishing (voice phishing) – звонки по мобильному с той же целью…
Не обращайте внимания на письма типа «Ваш почтовый ящик заблокирован – введите пароль…».
8. Phishing and Vishing.
Слайд 439 фактов, которые должен знать каждый в цифровой век.
8. Phishing
and Vishing.
~?password harvesting fishing
Слайд 449 фактов, которые должен знать каждый в цифровой век.
При вводе
конфиденциальной информации с помощью браузера убедитесь, что включен режим шифрования.
Банковские
программы шифруют пересылаемую информацию и не позволяют всяким гнусным типам перехватить и узнать Ваш пароль и номер счета.
В противном случае весь мир может увидеть, что Вы посылаете.
9. https:// но не http:// "S" stands for "Secure"