Операционные системы. Учебное пособие. Марапулец Ю.В. - 90 стр.

UptoLike

Составители: 

ГЛАВА 4. ОРГАНИЗАЦИЯ ПАМЯТИ В СОВРЕМЕННЫХ ОС
§ 4.1. Общие принципы организации памяти
Оперативная память (ОП) - один из важнейших ресурсов ОС, без которого не-
возможна работа на персональном компьютере. Поэтому изучение механизмов исполь-
зования памяти различными задачами и самой операционной системой по значимости
аналогично изучению механизмов многопоточности, событий, прерываний и т.п. С по-
явлением первых поколений ЭВМ в них было введено понятие оперативной памяти,
которую часто называют физической памятью. Оперативная память представляет со-
бой упорядоченное множество ячеек, и все они пронумерованы, то есть к каждой из них
можно обратиться, указав ее порядковый номер (адрес). Количество ячеек физической
памяти ограничено и фиксировано. Центральный процессор извлекает из ОП команды и
данные и помещает в нее результаты вычислений. Одновременно с этим, с точки зрения
программиста, ОП - область, с которой можно работать с помощью некоторого набора
логических имен (переменных), которые могут быть символьными или числовыми. Сле-
дует отметить, что множество переменных неупорядочено, хотя отдельные элементы и
могут располагаться в некотором порядке, например, элементы массива. Имена пере-
менных и входных точек программных модулей составляют пространство имен.
Операционная система должна связать каждое указанное пользователем имя с фи-
зической ячейкой памяти, то есть осуществить отображение пространства имен на физи-
ческую память компьютера. В общем случае это отображение осуществляется в два эта-
па, представленных на рис.4.1 [2]: сначала системой программирования, а затем
операционной системой, управляющей соответствующими аппаратными средствами. В
современных ОС переход с первого этапа на второй осуществляется через промежуточ-
ный виртуальный или логический адрес. При этом можно сказать, что множество всех
допустимых значений виртуального адреса для некоторой программы определяет ее
виртуальное адресное пространство или виртуальную память. Виртуальное адрес-
ное пространство зависит прежде всего от архитектуры процессора и от системы про-
граммирования и практически не зависит от объема реальной физической памяти, уста-
новленной в персональном компьютере.
Любая система программирования осуществляет трансляцию и компоновку про-
граммы, используя библиотечные программные модули. В результате работы системы
программирования полученные виртуальные адреса могут иметь как двоичную форму,
так и символьно-двоичную, то есть некоторые программные модули и их переменные
получают какие-то числовые значения, а другие, адреса для которых в данный момент
не могут быть определены, имеют по-прежнему символьную форму и их окончательная
привязка к физическим ячейкам будет осуществлена на этапе загрузки программы в па-
мять перед ее непосредственным выполнением.
Одним из частных случаев отображения пространства имен на физическую память
[2] является тождественность виртуального адресного пространства физической
памяти. При этом нет необходимости осуществлять второе отображение. В данном
случае говорят, что система программирования генерирует абсолютную двоичную про-
грамму; в этой программе все двоичные адреса таковы, что программа может испол-
няться только в том случае, если ее виртуальные адреса будут точно соответствовать
физическим. Часть программных модулей любой операционной системы обязательно
должны быть абсолютными двоичными программами. Эти программы размещаются по
фиксированным адресам и с их помощью далее можно реализовывать размещение ос-
тальных программных модулей, подготовленных системой программирования, на раз-
личных свободных физических адресах.
92
     ГЛАВА 4. ОРГАНИЗАЦИЯ ПАМЯТИ В СОВРЕМЕННЫХ ОС

     § 4.1. Общие принципы организации памяти

      Оперативная память (ОП) - один из важнейших ресурсов ОС, без которого не-
возможна работа на персональном компьютере. Поэтому изучение механизмов исполь-
зования памяти различными задачами и самой операционной системой по значимости
аналогично изучению механизмов многопоточности, событий, прерываний и т.п. С по-
явлением первых поколений ЭВМ в них было введено понятие оперативной памяти,
которую часто называют физической памятью. Оперативная память представляет со-
бой упорядоченное множество ячеек, и все они пронумерованы, то есть к каждой из них
можно обратиться, указав ее порядковый номер (адрес). Количество ячеек физической
памяти ограничено и фиксировано. Центральный процессор извлекает из ОП команды и
данные и помещает в нее результаты вычислений. Одновременно с этим, с точки зрения
программиста, ОП - область, с которой можно работать с помощью некоторого набора
логических имен (переменных), которые могут быть символьными или числовыми. Сле-
дует отметить, что множество переменных неупорядочено, хотя отдельные элементы и
могут располагаться в некотором порядке, например, элементы массива. Имена пере-
менных и входных точек программных модулей составляют пространство имен.
      Операционная система должна связать каждое указанное пользователем имя с фи-
зической ячейкой памяти, то есть осуществить отображение пространства имен на физи-
ческую память компьютера. В общем случае это отображение осуществляется в два эта-
па, представленных на рис.4.1 [2]: сначала системой программирования, а затем
операционной системой, управляющей соответствующими аппаратными средствами. В
современных ОС переход с первого этапа на второй осуществляется через промежуточ-
ный виртуальный или логический адрес. При этом можно сказать, что множество всех
допустимых значений виртуального адреса для некоторой программы определяет ее
виртуальное адресное пространство или виртуальную память. Виртуальное адрес-
ное пространство зависит прежде всего от архитектуры процессора и от системы про-
граммирования и практически не зависит от объема реальной физической памяти, уста-
новленной в персональном компьютере.
      Любая система программирования осуществляет трансляцию и компоновку про-
граммы, используя библиотечные программные модули. В результате работы системы
программирования полученные виртуальные адреса могут иметь как двоичную форму,
так и символьно-двоичную, то есть некоторые программные модули и их переменные
получают какие-то числовые значения, а другие, адреса для которых в данный момент
не могут быть определены, имеют по-прежнему символьную форму и их окончательная
привязка к физическим ячейкам будет осуществлена на этапе загрузки программы в па-
мять перед ее непосредственным выполнением.
      Одним из частных случаев отображения пространства имен на физическую память
[2] является тождественность виртуального адресного пространства физической
памяти. При этом нет необходимости осуществлять второе отображение. В данном
случае говорят, что система программирования генерирует абсолютную двоичную про-
грамму; в этой программе все двоичные адреса таковы, что программа может испол-
няться только в том случае, если ее виртуальные адреса будут точно соответствовать
физическим. Часть программных модулей любой операционной системы обязательно
должны быть абсолютными двоичными программами. Эти программы размещаются по
фиксированным адресам и с их помощью далее можно реализовывать размещение ос-
тальных программных модулей, подготовленных системой программирования, на раз-
личных свободных физических адресах.



                                        92