Jump to content

Одноуровневый магазин

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

Первоначально этот термин относился к тому, что сейчас обычно называют виртуальной памятью , которая была введена в 1962 году системой Atlas в Манчестерском университете . [1]

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

Концепция постоянного объекта была впервые представлена ​​компанией Multics в середине 1960-х годов в проекте, совместно используемом MIT , General Electric и Bell Labs . [2] Она также была реализована как виртуальная память, а фактическая физическая реализация включала несколько уровней типов хранения. (Например, у Multiks изначально было три уровня: основная память, высокоскоростной барабан и диски.)

IBM владеет патентами на одноуровневое хранилище, реализованное в операционной системе IBM i на IBM Power Systems и ее предшественниках, еще в System/38 , выпущенной в 1978 году. [3] [4]

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

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

Попытки решить эту проблему привели к разработке виртуальной памяти (ВМ). Системы виртуальных машин разбивают основную память на ряд сегментов фиксированного размера или «страниц» и выделяют их программам по требованию. Программы не знают о существовании системы ВМ, они просто запрашивают память и получают ее или отказывают, как и раньше. Разница в том, что каждая программа не будет ограничена некоторой частью основной памяти, отведенной для нее, а вместо этого ей будет предоставлен доступ ко всей памяти, фиксированной «виртуальной» основной памяти, которая обычно намного больше реальной физической памяти. . По мере того, как программы использовали физическую память, и в конечном итоге она заканчивалась, система VM проверяла страницы на наличие данных, которые в данный момент не нужны, и записывала их во вторичное хранилище. Это было известно как «пейджинг». Когда программа пыталась получить доступ к значениям в памяти, которые были выгружены, система VM снова вмешивалась, записывая какую-то другую страницу памяти и загружая запрошенную обратно. Это невидимо для программы, для нее оно появляется там. представляет собой единую большую память, и ее данные всегда доступны. Программы, написанные в системе VM, в остальном аналогичны программам на более ранних машинах. Для постоянного хранения данных программа все еще должна была иметь код для чтения и записи данных во вторичное хранилище и из него, чаще всего это файловая система , но иногда и ядро ​​базы данных .

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

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

Проектирование System/38 и IBM i

[ редактировать ]

Проект одноуровневого хранилища IBM был первоначально задуман и впервые реализован Фрэнком Солтисом и Гленном Генри в конце 1970-х годов как способ создания переходной реализации к компьютерам со 100% твердотельной памятью . В то время считалось, что дисковые накопители устареют и будут полностью заменены какой-либо формой твердотельной памяти. System/38 был разработан так, чтобы быть независимым от формы аппаратной памяти, используемой в качестве вторичного хранилища. Однако этого не произошло, поскольку, хотя твердотельная память стала дешевле в геометрической прогрессии, дисководы также стали дешевле; таким образом, соотношение цен в пользу дисковых накопителей сохраняется: гораздо более высокая емкость, чем у твердотельной памяти, гораздо более медленный доступ и гораздо меньшая стоимость.

В System/38 и IBM i всем данным в хранилище назначается адрес, доступный инструкциям процессора, в виртуальной памяти , и на них ссылаются по этому адресу, независимо от того, находятся они в данный момент в физической памяти или нет. Если данные, на которые ссылается этот адрес, отсутствуют в физической памяти, ошибка страницы возникает . Ошибка страницы обрабатывается программным обеспечением низкого уровня, которое считывает страницу в доступный страничный фрейм в основном хранилище. [5] [6]

В реализации одноуровневого хранилища IBM i ошибки страниц делятся на две категории. Это ошибки базы данных и ошибки, не связанные с базой данных. Сбои базы данных возникают, когда страница, связанная с объектом реляционной базы данных, например таблицей, представлением или индексом, в данный момент не находится в основном хранилище. Ошибки, не связанные с базой данных, возникают, когда какой-либо другой тип объекта в настоящее время отсутствует в первичном хранилище.

См. также

[ редактировать ]
  1. ^ Одноуровневая система хранения , Т. Килберн, ДБГ Эдвардс, М. Дж. Ланиган, Ф. Х. Самнер, IRE Trans. Электронные компьютеры, апрель 1962 г. , по состоянию на 7 августа 2014 г.
  2. ^ Виртуальная память, процессы и совместное использование в Multics , Роберт К. Дейли, Джек Б. Деннис, доступ: 7 августа 2014 г.
  3. ^ Вуди, Алекс. «Фрэнк Солтис обсуждает возможное будущее одноуровневого хранилища» . itjungle.com . IT-джунгли . Проверено 4 декабря 2020 г.
  4. ^ Технические разработки IBM System/38 (PDF) , декабрь 1978 г.
  5. ^ французский, RE; Коллинз, RW; Лоен, LW (июль 1980 г.). «Управление машинным хранилищем System / 38». Технические разработки IBM System/38 (PDF) (второе изд.). стр. 63–66.
  6. ^ «Управление памятью AS/400» .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b6319df2b602f3eace5ace2c4db8eea5__1707471600
URL1:https://arc.ask3.ru/arc/aa/b6/a5/b6319df2b602f3eace5ace2c4db8eea5.html
Заголовок, (Title) документа по адресу, URL1:
Single-level store - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)