Остальные методы требуют использования внешней памяти

Сейчас пару слов про внешнюю память (свопинг и виртуальную память)

Программа для ее выполнения должна находиться в оперативной памяти.

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

Итак, нам надо много задач для загрузки процессора, но в оперативную память столько не влезет.

Поэтому было предложено попеременно выгружать неактивные задачи (заблоченные, ожидающие ввода-вывода, готовые, но в очереди на исполнение) с оперативы на диск.

Такая подмена называется ВИРТУАЛИЗАЦИЕЙ – и она здорово помогает повысить уровень мультипрограммирования, т.к. теперь объем оперативы не так жестко ограничивает количество одновременно выполняемых задач.

Виртуальный ресурс – это такой ресурс, который для пользователя вроде как обладает определенными свойствами, но на самом деле их у него нет.

Работа такой виртуальной памяти будет значительно МЕДЛЕННЕЕ.

Что должна делать ОС для поддержки виртуальной памяти:

- размещать часть кодов исполняемых прог в памяти – часть – на диске.

- выбирать нужные образы процессов для перемещения их в/из оперативы;

- перемещать данные между памятью и диском

- преобразовывать виртуальные адреса в физические

- все это она должна делать сама, автоматически, чтобы у прикладного программиста не болела голова.

/* Первая попытка использовать внешнюю память – оверлеи.

Программист разбивал свою прогу на части, которые выполняли работу по очереди: один оверлей закончил – второй загрузился и начал работу.

То есть бедные программисты должны были все это учитывать, морока, в общем.*/

Существует 2 основных подхода к организации виртуализации памяти:

- свопинг

- виртуальная память


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: