Одноуровневый магазин - Single-level store

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

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

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

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

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

Дизайн

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

Дизайн System / 38 и IBM i

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

В IBM i операционная система полагает, что она имеет доступ к практически неограниченному массиву хранения «реальной памяти» (т. Е. Первичной памяти). Транслятор адресов сопоставляет доступную реальную память с физической памятью, находящейся на дисковых накопителях («вращающихся» или твердотельных) или на сервере SAN (например, V7000). Операционная система просто помещает объект по адресу в своей памяти. ОС «не знает» (или не заботится), находится ли объект физически в памяти или на более медленном устройстве хранения данных. Лицензионный внутренний код, на котором работает ОС, обрабатывает сбои страниц на страницах объектов, не находящихся в физической памяти, считывая страницу в доступный страничный фрейм в первичном хранилище.

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

IBM i рассматривает все вторичное хранилище как единый пул данных, а не как набор нескольких пулов (файловых систем), как это обычно делается в других операционных системах, таких как системы, подобные Unix и Microsoft Windows . Он намеренно разбрасывает страницы всех объектов по всем дискам, чтобы объекты можно было сохранять и извлекать гораздо быстрее. В результате сервер IBM i редко становится привязанным к диску. Одноуровневые операционные системы хранения также позволяют свободно заменять ресурсы ЦП, памяти и дисков друг на друга во время выполнения, чтобы сгладить узкие места в производительности.

Смотрите также

использованная литература