Глава 3 Управление памятью

Память представляет собой очень важный ресурс, требующий четкого управления. Несмотря на то что в наши дни объем памяти среднего домашнего компьютера в десятки тысяч раз превышает ресурсы IBM 7094, бывшего в начале 1960-х годов самым большим компьютером в мире, размер компьютерных программ растет быстрее, чем объем памяти.
Закон Паркинсона можно перефразировать следующим образом: «Программы увеличиваются в размерах, стремясь заполнить всю память, доступную для их размещения». В этой главе мы рассмотрим, как операционные системы создают из памяти абстракции и как они этими абстракциями управляют.

В идеале каждому программисту хотелось бы иметь предоставленную только ему неограниченную по объему и скорости работы память, которая к тому же не теряет своего содержимого при отключении питания. Раз уж мы так размечтались, то почему бы не сделать память еще и совсем дешевой? К сожалению, существующие технологии пока не могут дать нам желаемого. Может быть, способ создания такой памяти удастся изобрести именно вам.

Тогда чем же нам придется довольствоваться? Со временем была разработана концепция иерархии памяти, согласно которой компьютеры обладают несколькими мегабайтами очень быстродействующей, дорогой и энергозависимой кэш-памяти, несколькими гигабайтами памяти, средней как по скорости, так и по цене, а также несколькими терабайтами памяти на довольно медленных, сравнительно дешевых дисковых накопителях, не говоря уже о сменных накопителях, таких как DVD и флеш-устройства USB. Превратить эту иерархию в абстракцию, то есть в удобную модель, а затем управлять этой абстракцией — и есть задача операционной системы.

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

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

3.1.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Глава 3 Управление памятью:

  1. Глава 9. КЛАДОВАЯ ПАМЯТИ
  2. ГЛАВА 46. ДОВЕРИТЕЛЬНОЕ УПРАВЛЕНИЕ ИМУЩЕСТВОМ
  3. Глава 9 СОЦИАЛЬНЫЙ КОНТРОЛЬ И УПРАВЛЕНИЕ
  4. Глава 70 - Гражданского кодекса Управление имуществом
  5. Глава 5. Психология управления в органах правопорядка
  6. Глава 5 СОЦИАЛЬНЫЕ ОСНОВЫ УПРАВЛЕНИЯ В ОРГАНИЗАЦИИ
  7. Глава 58. Обязательства из договора доверительного управления имуществом
  8. Глава 7 ДОГОВОРЫ ХРАНЕНИЯ, СТРАХОВАНИЯ, ПОРУЧЕНИЯ, КОМИССИИ, УПРАВЛЕНИЯ ИМУЩЕСТВОМ
  9. ГЛАВА 1. ОСОБЕННОСТИ НАУЧНО-ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ УПРАВЛЕНИЯ СОЦИАЛЬНОЙ СФЕРОЙ
  10. ПРЕДСТАВЛЕНИЕ ПАМЯТИ
  11. Статья 1040. Обращение взыскания на имущество, переданное в управление, по требованию кредитора установщика управления