Организация памяти

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
tankt
member
Сообщения: 24
Зарегистрирован: 22 ноя 2005, 16:51
Откуда: Ростов-на-Дону

Организация памяти

Сообщение tankt » 10 ноя 2006, 10:22

Камрады! подскажите мне пож-ста. Линукс использует Пэйджинг, Windows использует свопинг, в чем разница между пэйджингом и свопингом?

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 10 ноя 2006, 10:42

а кто сказал что линукс не использует свопинг ?
даже раздел специальный выделяется обычно.

tankt
member
Сообщения: 24
Зарегистрирован: 22 ноя 2005, 16:51
Откуда: Ростов-на-Дону

Сообщение tankt » 10 ноя 2006, 10:54

хммм. но линукс то кидает в свап только когда у него заканчивается память по моему, а винда это делает постоянно......

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 10 ноя 2006, 11:21

tankt писал(а):хммм. но линукс то кидает в свап только когда у него заканчивается память по моему, а винда это делает постоянно......
это как настроишь.

:) а вообще к чему вопрос ?
на мой взгляд правильный на него ответ не имеет практического интереса - так, пофлеймить только

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 10 ноя 2006, 11:25

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

tankt
member
Сообщения: 24
Зарегистрирован: 22 ноя 2005, 16:51
Откуда: Ростов-на-Дону

Сообщение tankt » 10 ноя 2006, 11:41

ясно. спасибо)))) видимо еще что то недопонимаю поэтому не могу правильно сформулировать вопрос

Аватара пользователя
apelsin
Advanced member
Сообщения: 470
Зарегистрирован: 09 окт 2004, 12:32

Сообщение apelsin » 10 ноя 2006, 14:14

Что имеет в виду автор под paging'гом и swapping'гом не  совсем ясно, но так для информации:

Операционные системы при работе с памятью разбивают ее на блоки которые называют страницами памяти, memory pages.   Нельзя прочитать 1 байт из памяти или записать туда два байта, т.к. доступ осуществляется постранично, записать можно страницу, две, и так далее.   Default memory page size в лунксе 4К, в винде по мойму тоже 4К.

Есть понятие Virtual Memory это когда операционная система сгружает содержимое памяти [которая в данным момент активно не испольуется ] на диск чтобы освободить память для других нужд.   В винде страницы памяти аписываются в файл который называется page file.  В линуксе  страницы памяти записываются как правило в выделенную область на диске которая называется swap partition или в файл который называется swap file.

Windows и Linux отличаются реализацией этих механизмов работы с памятью. но это отдельная тема и не для этго форума.

tankt
member
Сообщения: 24
Зарегистрирован: 22 ноя 2005, 16:51
Откуда: Ростов-на-Дону

Сообщение tankt » 11 ноя 2006, 09:46

"Windows и Linux отличаются реализацией этих механизмов работы с памятью. но это отдельная тема и не для этго форума."

угу. вот именно это меня и интересует! не подскажите где можно почитать про это))))

and3008
Заслуженный сетевик
Сообщения: 1109
Зарегистрирован: 03 янв 2004, 23:30
Откуда: Н.Новгород

Сообщение and3008 » 11 ноя 2006, 20:31

Есть книга.
Таненбаум. Современные операционные системы.

http://www.ozon.ru/context/detail/id/1271679/

Там все ответы подобные вопросы.

Аватара пользователя
apelsin
Advanced member
Сообщения: 470
Зарегистрирован: 09 окт 2004, 12:32

Сообщение apelsin » 13 ноя 2006, 12:41

На эту тему лучше всего почитать книжки,  по винде это наверно будет
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:

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 37 гостей