Администрирование вычислительных систем и сетей. Халабия Р.Ф. - 37 стр.

UptoLike

Составители: 

Во-первых, каждый процесс получает отдельное виртуальное адресное
пространство (virtual address space). Это значит, что процессу доступен
определенный диапазон ячеек памяти. Максимальный размер этого диапазона
памяти определяется длиной слова адреса в компьютере. Процесс, запущенный
в 32-разрядной системе, будет иметь виртуальное адресное пространство
размером 4 гигабайта (длина адреса - 32 бита). Подсистема виртуальной памяти
соотносит (отображает) пользовательский кусочек виртуального адресного
пространства и реальные страницы физической памяти.
Во-вторых, адресные пространства нескольких процессов могут
перекрываться незаметно для процессов, если они используют общий код.
Например, одновременно могут быть запущены три экземпляра одного и того
же командного процессора (пусть это будет bash). Они имеют отдельные
виртуальные адресные пространства. В каждом виртуальном пространстве
находится экземпляр процесса командного интерпретатора, копия библиотеки
libc и (возможно) копии других разделяемых процессами ресурсов. Подсистема
виртуальной памяти незаметно для процессов отображает эти разделяемые
куски памяти в одну и ту же область физической памяти так, что в физической
памяти содержится всего один экземпляр разделяемого ресурса. Похоже на
создание жестких ссылок на файл, верно?
В-третьих, подсистема виртуальной памяти выгружает наименее
используемые страницы памяти на диск, когда физической памяти не хватает
для всех процессов.
В-четвертых, подсистема виртуальной памяти запрещает процессу
обращаться к ячейкам памяти из чужого адресного пространства, причем это
делается на аппаратном уровне - посредством механизма диспетчеризации.
Для оценки памяти, занимаемой каждым из процессов, можно
использовать как уже известные команды top и ps, так и команду pmap
(последняя дает более подробное распределение памяти процесса по типам -
разделяемая память и т.п.): pmap
     Во-первых, каждый процесс получает отдельное виртуальное адресное
пространство (virtual address space). Это значит, что процессу доступен
определенный диапазон ячеек памяти. Максимальный размер этого диапазона
памяти определяется длиной слова адреса в компьютере. Процесс, запущенный
в 32-разрядной системе, будет иметь виртуальное адресное пространство
размером 4 гигабайта (длина адреса - 32 бита). Подсистема виртуальной памяти
соотносит (отображает) пользовательский кусочек виртуального адресного
пространства и реальные страницы физической памяти.
     Во-вторых,       адресные   пространства    нескольких     процессов   могут
перекрываться незаметно для процессов, если они используют общий код.
Например, одновременно могут быть запущены три экземпляра одного и того
же командного процессора (пусть это будет bash). Они имеют отдельные
виртуальные адресные пространства. В каждом виртуальном пространстве
находится экземпляр процесса командного интерпретатора, копия библиотеки
libc и (возможно) копии других разделяемых процессами ресурсов. Подсистема
виртуальной памяти незаметно для процессов отображает эти разделяемые
куски памяти в одну и ту же область физической памяти так, что в физической
памяти содержится всего один экземпляр разделяемого ресурса. Похоже на
создание жестких ссылок на файл, верно?
     В-третьих,   подсистема      виртуальной    памяти    выгружает    наименее
используемые страницы памяти на диск, когда физической памяти не хватает
для всех процессов.
     В-четвертых, подсистема виртуальной памяти запрещает процессу
обращаться к ячейкам памяти из чужого адресного пространства, причем это
делается на аппаратном уровне - посредством механизма диспетчеризации.
     Для   оценки памяти,        занимаемой     каждым    из   процессов,   можно
использовать как уже известные команды top и ps, так и команду pmap
(последняя дает более подробное распределение памяти процесса по типам -
разделяемая память и т.п.): pmap -х