Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Внутренняя и внешняя память



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

Однако реальная жизнь многообразнее этой упрощенной схемы, и на практике дисковая и оперативная память переплетаются сложным образом. Главные не­достатки дисковой памяти — большое время доступа и низкая скорость обме­на — устраняются с помощью виртуального диска, представляющего собой свое­образно используемую область оперативной памяти. В этой области хранятся файлы, и с точки зрения операционной системы (и, тем более, прикладной про­граммы) она выглядит как обычный, но очень быстрый диск. Конечно же, его объем ограничен, и этот объем вычитается из объема физически установленной памяти, доступной процессору в качестве обычной оперативной. Кроме того, виртуальный диск в отличие от реального не является энергонезависимым. Бо­лее того, информация на нем не переживет даже перезагрузки операционной системы. Однако несмотря на эти ограничения виртуальный диск во многих случаях может повысить эффективность работы компьютера при интенсивном дисковом обмене. В операционной системе виртуальный диск реализуется за­грузкой программного драйвера, как правило, с именем RAMDRIVE.SYS(в некото­рых версиях — VDISK.SYS). Другим способом решения проблем быстродействия дисковой памяти за счет оперативной является кэширование дисков — хранение образов последних из использованных блоков дисковой памяти в оперативной в надежде на то, что вскоре будет следующий запрос к ним, который удастся удовлетворить из памяти. В Windows 9x/NT кэширование возложено на опера­ционную систему, в MS-DOSкэшированием дисков занимается загружаемый драйвер SMARTDRV.EXE,но даже и без этого драйвера «неглубокое» кэширование выполняет операционная система (ОС), и этим процессом можно управлять с помощью строки BUFFERS^xxx файла CONFIG.SYS.Если затребованный с диска блок уже находится в одном из буферов, ОС не будет «беспокоить» диск, а удовлетворит запрос из буфера. Чем больше значение ххх, тем больше блоков может держать ОС в оперативной памяти, но область памяти для буферов, есте­ственно, уменьшает объем памяти, доступной программам.

Основной недостаток оперативной памяти заключается в том, что конструктив­но достижимый объем ее во много раз меньше, чем дисковой (пока что это было справедливо на всех ступенях технического прогресса). Решить проблему уве­личения объема оперативной памяти за счет дисковой позволяет виртуальная память, которую можно считать кэшированием оперативной памяти на диске. Суть ее заключается в том, что программам предоставляется виртуальное про­странство оперативной памяти, по размерам превышающее объем физически установленной оперативной памяти. Это виртуальное пространство разбито на страницы фиксированного размера, а в физической оперативной памяти в каж­дый момент времени присутствует только часть из них. Остальные страницы хранятся на диске, откуда операционная система может их «подкачать» в физи­ческую память на место предварительно выгруженных на диск страниц. Про­цесс замещения страниц называется свопингом (swapping), а области дисковой памяти, выделяемые для этих целей, — файлами подкачки, или своп-файлами (swap file). Для прикладной программы этот процесс прозрачен (если только она не критична ко времени обращения к памяти). Для пользователя этот про­цесс заметен по работе диска в те моменты, когда не требуется обращение к файлам. Расплатой за почти безмерное увеличение объема доступной опера­тивной памяти является снижение средней производительности обращений к памяти и некоторый расход дисковой памяти на файл подкачки. Естественно, размер виртуальной памяти не может превышать суммы размеров ОЗУ и дис­ковой памяти. Виртуальная память с подкачкой страниц реализуется операци­онными системами защищенного режима (например, OS/2, MS Windows) на основе аппаратных средств 32-разрядных процессоров (386 и выше), а теперь и 64-разрядных.

Таково в общих чертах устройство подсистемы памяти. Здесь для упрощения изложения опущена система кэширования оперативной памяти, которая для современных процессоров чаще всего является двухуровневой. Об этом под­робнее можно прочесть в главе 7. Кроме того, не упоминалось автономное кэ­ширование дисковых устройств, реализуемое в самих накопителях и их высоко­производительных контроллерах. Эта тема раскрывается в главе 9.

В общем случае в подсистему памяти обязательно входят оперативная память и энергонезависимая память, хранящая, по крайней мере, программу первона­чальной загрузки компьютера. Дисковая память как таковая может и отсутство­вать. Однако внешняя память с прямым доступом в том или ином виде — будь то действительно дисковые накопители, флэш-диск (не имеющий круглых, а тем более вращающихся деталей) или сетевой диск, отображающий часть дис­ка физически значительно удаленного компьютера-сервера, — является обяза­тельным атрибутом персонального компьютера. Благодаря применению диско­вой памяти компьютер становится универсальным устройством, способным выполнять великое множество прикладных программ, интересующих пользова­теля. Эти программы загружаются в память именно с дисков. Без внешней памя­ти компьютер вырождается в узкоспециализированное устройство с ограничен­ным набором функций (например, функций эмуляции терминала или функций интерпретатора языка Basic), «зашитых» в его постоянную память, объем кото­рой не может быть большим по технико-экономическим причинам.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.