В современных ОС конецепция, при которой каждому процессу память компьютера представляется полностью доступной для его нужд (как будто других процессов, ядра и вообще ОС не существует) и ее размер равен максимум для данной архитектуры(реальный физический размер не обязан быть максимуммом).
При этом память разбита постранично(определенными секторами), ОС ведет статистику использования каждой страницы(это мое виденье, точно я в этом не уверен) и в случае нехватки физической памяти, сливает страницы разных процессов с низкой статистикой на сторидж-устройство.
При этом память разбита постранично(определенными секторами), ОС ведет статистику использования каждой страницы(это мое виденье, точно я в этом не уверен) и в случае нехватки физической памяти, сливает страницы разных процессов с низкой статистикой на сторидж-устройство.
"Общая виртуальная память" компьютера разделяется на kernel space и user space(userland). В первой части находятся ядро, его расширения и некоторые драйверы устройств, в юзерспейсе находятся библиотеки, приложения и некоторые драйверы. Это повышает отказоустойчивость и безопасность ОС.
Процессы приложений видят свою виртуальную память и не имеют доступа к чужой( при этом, если позволяют права, некоторые процессы могут запросить у ядра доступ к участку памяти другого(чужого) процесса - например debuggers). Также они могут запросить разделенную память с другими процессами у ядра, хотя можно использовать и другие техники межпроцессного взаимодействия - пайпы и сокеты.

Комментариев нет:
Отправить комментарий