Виртуальная память

We use cookies. Read the Privacy and Cookie Policy

Виртуальная память

Одноуровневая память AS/400 получила свое имя в честь первопроходцев разработки виртуальной памяти в 60-х годах. Чтобы понять происхождение этого термина, необходимо углубиться в историю.

Впервые виртуальная память появилась в компьютере Atlas, созданном в 1961 в английском городе Манчестере (Manchester). В те годы для изготовления памяти использовалась очень дорогостоящая технология магнитных сердечников. Большим программам требовалось много памяти, зачастую больше, чем было на компьютере. Чтобы программа могла поместиться в памяти, приходилось разбивать ее на малые фрагменты и хранить на магнитных дисках или барабанах.

Магнитные барабаны были популярны в начале 60-х годов. Барабан похож на жесткий диск, но у него по одной головке чтения/записи на каждую дорожку. В то время барабаны обеспечивали более высокую производительность по сравнению с дисками, так как исключалось время позиционирования головки на дорожку. С сокращением времени позиционирования барабаны вышли из употребления.

При разбиении больших программ на малые фрагменты управление памятью требовало от программиста больших усилий. Если фрагмент программы, который должен был исполняться, находился вне памяти, то программист вставлял команды считывания этого фрагмента в память с диска или барабана. Фрагменты программы назывались оверлеями (overlays), и значительная часть программирования заключалась в создании и управлении ими. Виртуальная память смогла устранить эту проблему. Память увеличилась, и программисты могли больше не беспокоиться о том, поместится ли в нее программа. Управление перемещением данных и программ в большой виртуальной памяти взяла на себя ОС.

В 1962 году Т. Д. Килбурн (T.D. Kilburn) с соавторами написал свою статью, посвященную системе памяти компьютера Atlas. В статье были такие слова: «. Система представляет программисту комбинацию память-барабан в виде одноуровневой памяти. Необходимое перемещение данных выполняется автоматически»[ 62 ].