Всем привет!
Никак не могу найти ответ на вопрос, может подскажите...
При создании процесса ядро создает виртуальное адресное пространство в 4 Гб (для 32-х разрядных x86 систем). Эта виртуальная память разделена, по большому счету, на 2 области — User Space и Kernel Space. Так вот меня интересует, из каких соображений сделано разделение только 2:2 и 3:1? Почему нет 3.5:0.5, например? Хочу понять принципы, но нигде ничего подробно не написано на эту тему...
Буду благодарен за подробное объяснение или за ссылки.
Ну основной
Ну основной принцип - чтобы и приложению и ядру было достаточно. Кроме того на x86 системах оперативной памяти как правило сильно меньше, чем виртуальной. Да и приложения (обычные для x86, не жесткие научные пакеты) обычно не требуют гигабайты памяти на одной машине.
А те, которые требуют, обычно распаралеливают, у каждого процесса будет свое ядресное пространство, свои 3 гига памяти.
В ядерном пространстве же еще всякие кэши хранятся. Если оставишь ядру мало памяти, то общее использовании оперативки получится неэффективным. Она, например пустая будет, я ядро не сможет её под кэши захапать.
Так что 3.5:0.5 - это уже ты маловато ядру оставляешь, на многих машинах больше полгига оперативки.
Это все пустые
Это все пустые разглагольствования, меня не интересующие. Вы уж извините, но мне интересны исключительно точные принципы, точная теория, а не личные мнения...
Секта Черных Пингвинов
http://blackpenguins.ru
Какая точная
Какая точная теория? Мегаформула которая выдает наилучшее разделение? Её нет. Сделаешь много памяти приложениям - ядро не сомжет организовать кэширование и все будет тормозить, сделаешь много памяти ядру - приложения не смогут обрабатывать большие объемы данных.
У тебя много памяти (скажем все 4 гигабайта) и очень обильные операции ввода-вывода - деление памяти пополам будет более результативным, а если ввод-вывод маленькие но есть приложение в один поток обсчитывающее очень большой кусок данных - большая производительность окажется при меньшем объеме памяти у ядра.
А если у тебя меньше 2х гигов памяти, то разницы в разбиении скорее всего не заметишь. Если много мелких приложений и нет сильного ввода-вывода, тоже разницы не будет.
Ясно только, что наибольшая производительность будет достигаться где-то в середине, поэтому и предлагаются варианты, близкие к середине.
Меня
Меня интересует не этот наколенный детсадовский бред, извини. Есть очень хорошая книга: "Разработка ядра Linux", автор Роберт Лав, издатель Novell Press. Эта книга дает ответы почти на все вопросы функционирования узлов ядра на достаточно высоком уровне. Но вопрос, заданный мной изначально, подробно не освещен. Так вот меня интересует не детский бред, а профессиональное изложение или ссылки на такую информацию.
Секта Черных Пингвинов
http://blackpenguins.ru
Если такой
Если такой умный, то тогда скажи, зачем иное разделение памяти, что ты можешь выиграть за счет иного разделения памяти?
видимо челу не
видимо челу не нужно твоё мнение, ему нужно дать ссылку на мифического Гуру, который скажет тоже самое - НО он Гуру, а мы можем и дальше лаптем щи хлебать...
+1:(
+1:(
Я не хочу
Я не хочу делить иначе, я хочу понять, почему именно так разделено. Но ответы из разряда "Если сделать крылья самолету короткими - он не полетит, а если длинными - они отвалятся" мне не нужны, потому что такие ответы не объясняют, какие все-таки точно делать крылья.
Секта Черных Пингвинов
http://blackpenguins.ru
так народ
так народ давайте без наездов друг на друга!
ЗЫ есть софт который свободно отжирает гигов 30-40 оперы и я им пользуюсь...
ЗЗЫ про точную теорию поговорим после того как ты представишь точное квантовомеханическое решение для чего нибудь сложнее атома водорода... Возьми гелий например и посторайся точно решить... А потом и поговорим если желание останеться...
_________________
Gentoo GNU/Linux 2.6.20 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)
___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
найди книгу
найди книгу Мела Гормана (Mel Gorman) Understanding The Linux Virtual Memory Manager в ней дается более-менее ясное представление по интересующему тебя вопросу..
явно там не написано почему используются такие соотношения, но как говорится, между строк, .. в общем прочитав ты поймешь на что и сколько выделяется памяти и соответственно почему 3.5 на 0.5 не есть гуд :)
_________________
acer aprire 3002 (sempron 3000, 2Gb, sis, 80Gb)
Спасибо за
Спасибо за ссылку на книгу! Обязательно ее посмотрю.
Секта Черных Пингвинов
http://blackpenguins.ru
Кстати, как
Кстати, как найдёшь из каких соображений, гуру, отпишись, интересно будет узнать. )
memory separation
что бы понять принцЫп поробуй кушать суп чайной ложкой и сравни скорость поглощения супа, если будешь кушать столовой ложкой.
Ваш gUrU_gUrU :D
+1 _________________ Linux
+1
_________________
Linux ns 2.6.18-suspend2-r1 #2 SMP Sat Feb 3 13:56:55 KRAT 2007 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
Как я и думал,
Как я и думал, детишки, на этом форуме мне никто ответа дать не сможет... Жаль, я думал, что здесь есть профессионалы.
Секта Черных Пингвинов
http://blackpenguins.ru
Re: Как я и думал,
Мальчик, сначала научись не хамить людям, которые искренне пытаются тебе помочь - а потом уже можешь попробовать начать вопросы задавать. Тихим и вежливым тоном.
Усвоил? Подотри сопельки и выполняй.
Re: Как я и думал,
Приказывать будешь папочке с мамочкой сидя на горшочке. А я сам разберусь кто искренне хочет помочь, а кому лишь бы потрындеть неважно где. Вот ты как раз из второй категории.
Секта Черных Пингвинов
http://blackpenguins.ru
Может это не
Может это не полностью объясняет принцип, но дает некоторую информацию:
PS: ничё что статьи про вражескую ось :D
PS: в исходниках ядра можно изменить это распределение
PS: а вообще чисто научно такое разделение сделано из соображения симмертии +) кстати, это не шутка
/ Enchant /
"Никакую проблему нельзя решить на том же уровне, на котором она возникла"
Всем, кто
Всем, кто действительно по делу что-то пытается сказать - большое спасибо. Пустобрехам просьба не засорять топик сообщениями, не соответствующими теме (не знаешь, что сказать по делу - лучше промолчать).
Был вопрос вида: "А зачем ему это нужно?". Отвечаю - информация требуется для практического применения.
Секта Черных Пингвинов
http://blackpenguins.ru