|
|
|
|
|
для: sim5
(25.12.2007 в 03:03)
| | Пурга. | |
|
|
|
|
|
|
|
для: Trianon
(24.12.2007 в 20:47)
| | Так я и не говорю, что вы Дон Кихот, а я пустая мельница. :)
Память на компьютере ведь, это не только OЗУ как таковое, это адресное пространство, которым физически может управлять процессор, и в котором часть адресов отдана под устройства ввода/вывода, часть под ПЗУ, часть под ОЗУ и т.д.. Физическую память подключаемых устройств также можно рассматривать как продолжение этого адресного пространства, так как мы можем иметь к этой памяти доступ, к таковым естественно можно отнести и винчестер. Вот от куда и растут ноги идеи виртуальности.
Каждое приложение имеет право на все это адресное пространство, и оно получает это право, но "вроде бы как", так как рядом с любым приложением, работает другое, точно также претендующее на все пространство адресов. Но все это обман по большому счету, все они работают в одном реальном адресном пространстве, причем не все одновременно, а по временным квотам, которые дает система каждому приложению - каждому Nn процессорного времени. И получается, что одновременно виртуально существует множество одинаковых адресных пространств, в которых работает множество процессов.
Первые дамашние компьютеры на 8-разрядных i8080 не имели операционных систем, и в них нельзя было запустить несколько приложений, да и программист должен был указывать сам область адресов этих приложений, следить за этим, так как о программах с перемещаемыми адресами и речи не было. Хотя это можно было сделать, вот только управлять этим было некому. Но ведь и тогда уже программы хранили свои данные на дискете, по мере их надобности считывали их - и чем это отличается от виртуальности по принципу?
С появлением Windows 95 появились понятия вытесняющей многозадачности, виртуального пространства адресов, а ведь зачатки всего этого были еще в Windows 3.11, но как-то об этом не говорилось, просто подход к этому у этих ОС очень разителен.
Вероятно на 100%, вы заметили, что если у вас в системе запущенных приложений мизер, да и они сами по себе "не прожорливые", даже в этом случае Windows работает со свопингом. Если у вас достаточно реальной памяти в системе, отключите своп, и вы заметите, что ваш компьтер будет шевелиться быстрее, и можно забыть о виртуальной памяти в части RAM, но уж виртуальные процессы в виртуально-реальных адресных простанствах так и будут работать.
Виртуальность это миф и химера, наваждения и галлюцинации. :)) | |
|
|
|
|
|
|
|
для: ddhvvn
(24.12.2007 в 20:33)
| | Нет, там всё гораздо сложнее - это Linux начинает скидывать страницы, когда заканчивается оперативная память, Windows задействует виртуальную память гораздо раньше, позволяя отображать динамические библиотеки в виртуальную память, назначать конкретные блоки программы для размещения на диске или в оперативной памяти... Если интересно, можно почитать в книге Дж. Рихтера Windows для профессионалов, которая является библией системных программистов под Windows. | |
|
|
|
|
|
|
|
для: sim5
(24.12.2007 в 13:23)
| | http://ru.wikipedia.org/wiki/Виртуальная_память
Собственно, это не в качестве аргумента в споре... предмета не вижу. | |
|
|
|
|
|
|
|
для: cheops
(24.12.2007 в 20:29)
| | >...самостоятельно управлять ей желаение ни разу не возникало (хотя Windows API предоставляет широкие средства для этого).
Ссори за нескромный вопрос: а для чего? Ну хоть Вы и не пользовались этой возможностью, но навреняка знаете, что можно сделать? Увеличить/уменьшить размер? Или по-совему усмотрению кидать файлы туда-сюда? | |
|
|
|
|
|
|
|
для: sim5
(24.12.2007 в 13:23)
| | Да, собственно против этого никто не возражает, насколько я понял, весь сыр-бор вокруг следующего положения: считать виртуальной памятью только swap-память или swap-память плюс оперативную память.
PS Если честно, но мне всё равно, так как памятью операционная система распоряжается, а самостоятельно управлять ей желаение ни разу не возникало (хотя Windows API предоставляет широкие средства для этого). | |
|
|
|
|
|
|
|
для: sim5
(24.12.2007 в 14:51)
| | Все ясно.. спасибо! | |
|
|
|
|
|
|
|
для: ddhvvn
(24.12.2007 в 14:31)
| | Нет, я этого не говорил. Просто, если у вас один физический диск разбит на два раздела, то это не значит, что у винчестера появился "лишний блок головок". Выигрыш в этом случае в том, что у второго раздела (лог. диска) будет своя FAT таблица, и если своп файл на этом диске расположен в начале, то доступ к нему будет быстрее, а обращение к системному диску и своп файлу можно сказать (с натяжкой) разделены. Совсем иная картина, если вы расположите своп файл на другом физическом диске, здесь выигрыш действительно будет, и понятно почему. | |
|
|
|
|
|
|
|
для: sim5
(24.12.2007 в 13:23)
| | sim5, извините, что прерываю Вашу дискуссию с Трианоном и Хеопсом...
>Файл подкачки расположен в корне системного диска, но так как он интенсивно используется системой, то лучше его держать на другом физическом (худший вариант - логическом) диске в самом его начале.
Я не понял, если файл подкачки на другом логическом диске, то это еще хуже чем, если он находится на системном диске? | |
|
|
|
|
|
|
|
для: cheops
(24.12.2007 в 13:00)
| | У меня нет в системе виртуальной памяти вообще, я работаю с отключенным своп файлом, и весь объем памяти в системе, это реально существующая память - 4 ГБайта с двойным доступом.
Я не понимаю, как можно понятия виртуальности применять к реальности. Если, например, 32-разрядная шина может обеспечить не более 4 ГБ памяти, то сколько бы мы не говорили о виртуальности, больше от этого памяти не станет, пока мы не обеспечим эту самую виртуальность. Но мы обеспечиваем не память как таковую, а временное хранение данных реальной памяти в виртуальной.
Да, в системе может быть запущеного много процессов, много приложений, и система каждому приложению будет квотировать свои системные ресурсы, устройства ввода/вывода, устройства хранения данных, и конечно память. При этом каждое приложение работает в виртуальной области, и каждому приложениею кажется, что оно одно любимое в системе, и только оно владеет всем. Но система предоставляет приложению память, которую оно запрашивает, а не приложение ею владеет, и если этой реальной памяти не хвататет, то и будет задействована виртуальная, в Widows это винчестер. Сам винчестер назвать ОЗУ можно только с очень-очень большой натяжкой, потому, надо еще загрузить эту виртуальную память в реальную, а только потом отдать приложению. "Громыхающая" работа такой виртуальной памяти очень хорошо наблюдалась на старых машинах. | |
|
|
| |
|