Свойство локальности данных
Оказывается, при таком способе организации по мере снижения скорости доступа к уровню памяти снижается также и частота обращений к нему. Ключевую роль здесь играет свойство реальных программ, в течение ограниченного отрезка времени способных работать с небольшим набором адресов памяти. Это эмпирически наблюдаемое свойство известно как принцип локальности или локализации обращений. Свойство локальности (соседние в пространстве и времени объекты характеризуются похожими свойствами) присуще не только функционированию ОС, но и природе вообще. В случае ОС свойство локальности объяснимо, если учесть, как пишутся программы и как хранятся данные, то есть обычно в течение какого-то отрезка времени ограниченный фрагмент кода работает с ограниченным набором данных. Эту часть кода и данных удается разместить в памяти с быстрым доступом. В результате реальное время доступа к памяти определяется временем доступа к верхним уровням, что и обусловливает эффективность использования иерархической схемы. Надо сказать, что описываемая организация вычислительной системы во многом имитирует деятельность человеческого мозга при переработке информации. Действительно, решая конкретную проблему, человек работает с небольшим объемом информации, храня не относящиеся к делу сведения в своей памяти или во внешней памяти (например, в книгах).
Кэш процессора обычно является частью аппаратуры, поэтому менеджер памяти ОС занимается распределением информации главным образом в основной и внешней памяти компьютера. В некоторых схемах потоки между оперативной и внешней памятью регулируются программистом (см. например, далее оверлейные структуры), однако это связано с затратами времени программиста, так что подобную деятельность стараются возложить на ОС. Адреса в основной памяти, характеризующие реальное расположение данных в физической памяти, называются физическими адресами. Набор физических адресов, с которым работает программа, называют физическим адресным пространством.
Память без абстракции (физическая память)
Ранние ОС персональных компьютеров (такие например, как MS DOS) использовали существующую физическую память компьютера, без какой либо абстракции, поскольку могли работать только с одним процессом. При обращении программы к ячейке памяти (такая команда процессора называлась «регистр-память»), компьютер перемещал её содержимое в регистр процессора. Программист мог оперировать с памятью от 0 до некоторого определенного значения. Каждая вновь запускаемая программа просто стирала содержимой предыдущей программы. В таких условиях создание второго процесса было просто невозможно. ОС как правило размещалась в нижних адресах памяти и имела жесткую границу.
Рис. Три способа организации памяти ОС с физической памятью
Единственный способ запустить несколько задач – организации нескольких потоков в рамках одного процесса. Однако такая модель не позволяет запускать несколько не связанных между собой программ, и требуют довольно сложного программирования, поскольку между протоками будет существовать конкуренция за ресурсы. В настоящий момент физическая адресация работает в бытовых приборах и недорогом электронном оборудовании. В этих устройствах используется ПЗУ (постоянное запоминающее устройство), которое содержит готовую программу с абсолютной адресацией в физической памяти. К таким же устройствам можно отнести банковские карты. Чип на них генерирует код на запрос банкомата. Эта операция происходит в физической памяти чипа и при наличии специального оборудования может быть считана.
Дата добавления: 2018-09-24; просмотров: 579;