logo
ОЭВМ

20. Виртуальная память. Принцип работы.

В первых компьютерах память была очень мала по объему и к тому же дорого

стоила. IBM-650, ведущий компьютер того времени (конец 50-х годов), содержал всего 2000 слов памяти. В те времена программисты тратили много времени, пытаясь вместить свои программы в крошечную память. Традиционным решением проблемы было использование вспомогательной памяти (например, диска). Программист делил программу на несколько частей - оверлеев, каждый из которых помещался в память. Чтобы выполнить программу, сначала нужно было считать и запустить 1 оверлей. Когда он завершался, считывался и запускался 2 оверлей и т. д. Программист отвечал за разбиение программы на оверлеи и решал, в каком месте вспомогательной памяти должен храниться каждый оверлей, контролировал передачу оверлеев между основной и вспомогательной памятью и вообще управлял всем этим процессом без какой-либо помощи со стороны компьютера. В 1961 году был создан метод автоматического выполнения процесса наложения. Этот метод, в основе которого, как сейчас говорят, лежит использование виртуальной памяти, имел очевидное преимущество, поскольку освобождал программиста от массы нудной работы. Впервые этот метод был применен в ряде компьютеров, выпущенных в 60-е годы.

Виртуальное адресное пространство - максимально доступное приложению адресное пространство. Объём виртуального адресного пространства зависит от архитектуры компьютера и операционной системы. Он зависит от архитектуры компьютера, так как именно архитектура определяет, сколько бит используется для адресации. Он также зависит от операционной системы, т.к. в зависимости от реализации операционная система может накладывать дополнительные ограничения, помимо ограничений архитектуры. Для реализации виртуальной памяти в компьютере должен быть специальный аппаратный механизм управления памятью. Часто этот механизм называют устройством управления памятью (Memory Management Unit, MMU). Виртуальная память позволяет компьютерам намного проще справляться с большими и сложными приложениями, но приходиться платить производительностью — операционная система с виртуальной памятью намного сложнее операционной системы, не поддерживающей виртуальную память.