Сколько всего разделов памяти ?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by GenTao, 10 Oct 2009.

  1. GenTao

    GenTao New Member

    Joined:
    10 Oct 2009
    Messages:
    123
    Likes Received:
    2
    Reputations:
    -3
    Как я понимаю,в системах WINDOWS используется динамическое разделение памяти(создание динамических разделов) для каждого процесса.Тогда количество занятых разделов будет равняться количеству процессов,присутствующих в системе ?
    И ещё вопрос - можно ли прогармму записывать в разные ячейки памяти,в случае,когда память подвергнута сильной фрагментации ?
     
    #1 GenTao, 10 Oct 2009
    Last edited: 10 Oct 2009
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Ты наверное не понимаешь принцип работы виртуальной памяти.
    В Винде всё обстоит так:
    Есть физическая память, которой управляет менеджер памяти.
    И есть Виртуальная память, которая по сути - это ссылка на физическую память.
    Существую каталоги страниц (РТЕ) там находится связь - какая страница виртуальной памяти с какой страницей физической памяти связана или если юзается файл подкачки, то откуда взаимодействие с этим механизмом.
    И вот есть общий катало страниц - глобальный и отдельно на каждый процесс.
    По этому если в виртуальном адресном пространстве записаны подряд несколько страниц, то это не значит что они также будут идти в физической памяти.
    Советую почитать книги по програмирвоанию дров. там описаны принципи работы этого механизма.
    Вот будет тебе полезно: