Организация памяти
Модераторы: Trinity admin`s, Free-lance moderator`s
Организация памяти
Камрады! подскажите мне пож-ста. Линукс использует Пэйджинг, Windows использует свопинг, в чем разница между пэйджингом и свопингом?
Что имеет в виду автор под paging'гом и swapping'гом не совсем ясно, но так для информации:
Операционные системы при работе с памятью разбивают ее на блоки которые называют страницами памяти, memory pages. Нельзя прочитать 1 байт из памяти или записать туда два байта, т.к. доступ осуществляется постранично, записать можно страницу, две, и так далее. Default memory page size в лунксе 4К, в винде по мойму тоже 4К.
Есть понятие Virtual Memory это когда операционная система сгружает содержимое памяти [которая в данным момент активно не испольуется ] на диск чтобы освободить память для других нужд. В винде страницы памяти аписываются в файл который называется page file. В линуксе страницы памяти записываются как правило в выделенную область на диске которая называется swap partition или в файл который называется swap file.
Windows и Linux отличаются реализацией этих механизмов работы с памятью. но это отдельная тема и не для этго форума.
Операционные системы при работе с памятью разбивают ее на блоки которые называют страницами памяти, memory pages. Нельзя прочитать 1 байт из памяти или записать туда два байта, т.к. доступ осуществляется постранично, записать можно страницу, две, и так далее. Default memory page size в лунксе 4К, в винде по мойму тоже 4К.
Есть понятие Virtual Memory это когда операционная система сгружает содержимое памяти [которая в данным момент активно не испольуется ] на диск чтобы освободить память для других нужд. В винде страницы памяти аписываются в файл который называется page file. В линуксе страницы памяти записываются как правило в выделенную область на диске которая называется swap partition или в файл который называется swap file.
Windows и Linux отличаются реализацией этих механизмов работы с памятью. но это отдельная тема и не для этго форума.
Есть книга.
Таненбаум. Современные операционные системы.
http://www.ozon.ru/context/detail/id/1271679/
Там все ответы подобные вопросы.
Таненбаум. Современные операционные системы.
http://www.ozon.ru/context/detail/id/1271679/
Там все ответы подобные вопросы.
На эту тему лучше всего почитать книжки, по винде это наверно будет
Inside Microsoft WIndows xxxxx, в последный редакции и Windows Internals, ed.4
все от Microsoft Press.
По линуксу скорее всего любая купленная вами книга будет устаревшей, т.к. линукс очень быстро развивается. Самая современная книга тут будет Linux Device Drivers но я бы ее не рекомендовал.
Самое главное что перед прочтением вышеуказанных ресурсов неплохо прочесть Танненбаума (см. пост выше)
Вообще начните отсюда: http://en.wikipedia.org/wiki/Virtual_memory
там есть Notes и список литературы в конце.
По линуксу, для понимания вопроса начните тут http://www.linuxhq.com/guides/TLK/mm/memory.html а детали посмотрите в исходном коде, внутри директории mm http://kernel.org/git/?p=linux/kernel/g ... git;a=tree;
По винде еще можно в msdn поискать по теме "memory management"
Вообщем, в добрый путь :roll:
Inside Microsoft WIndows xxxxx, в последный редакции и Windows Internals, ed.4
все от Microsoft Press.
По линуксу скорее всего любая купленная вами книга будет устаревшей, т.к. линукс очень быстро развивается. Самая современная книга тут будет Linux Device Drivers но я бы ее не рекомендовал.
Самое главное что перед прочтением вышеуказанных ресурсов неплохо прочесть Танненбаума (см. пост выше)
Вообще начните отсюда: http://en.wikipedia.org/wiki/Virtual_memory
там есть Notes и список литературы в конце.
По линуксу, для понимания вопроса начните тут http://www.linuxhq.com/guides/TLK/mm/memory.html а детали посмотрите в исходном коде, внутри директории mm http://kernel.org/git/?p=linux/kernel/g ... git;a=tree;
По винде еще можно в msdn поискать по теме "memory management"
Вообщем, в добрый путь :roll:
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и 4 гостя