Нужна ли физическая оперативка?

avatar Kujivunia

566

9

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5535

Рейтинг: 959

Нарушения: 10

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5535

Рейтинг: 959

Нарушения: 10

Проходя курс Операционных систем, и узнав про виртуальную память, я задумался. 

Как я понял: виртуальная память 

а) внушает процессору, что у него 2**разрядность_процессора памяти, а не жалкие 2 плашки по 2 гига, путём предоставления ему соответствующего адресного пространства

б) всё, что не влезло в ОЗУ, она кидает на диск. 

в) когда процессор обращается к адресу, который есть на реальной плашке, он сразу получает данные. Если он бросает вызов на то, что в реале на диске лежит - менеджер виртуалки меняет местами этот кусок с ненужным куском на оперативке, и после этого уже с оперативки кидает процессору нужный кусок. 

 

Специалисты, я прав? 

 

Собственно, вопрос: 

А если менеджер виртуальной памяти просто не будет делать эти обмены между ОЗУ и диском, то что будет? Процессору ведь плевать, он обращается по существующему адресу. Значит, можно запустить программу полностью на жёстком диске, не помещая её в реальную плашку? В теории. Типа, понятно, что она будет работать в 1000 раз медленнее. Но ведь это возможно? 

ИЛИ процессор напрямую связан ТОЛЬКО с каналами ОЗУ, и даже менеджер виртуалки не способен перенаправить страницу из своей области на диске в процессор прямотоком, минуя промежуточную запись на плашку? 

НО ведь процессор имеет шину памяти непосредственно до диска, значит по идее менеджер виртуалки МОЖЕТ кидать страницы прямотоком с диска, минуя ОЗУ? 

8JQh_ZVeonw.jpg?size=888x425&quality=96&sign=7c9d8af28c658c601ec6430a7a57e564&type=album

GennadyGorin134

Пользователь

Регистрация: 20.01.2020

Сообщения: 3993

Рейтинг: 4085

GennadyGorin134

Регистрация: 20.01.2020

Сообщения: 3993

Рейтинг: 4085

img

И будешь ждать в 1млн раз дольше

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5535

Рейтинг: 959

Нарушения: 10

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5535

Рейтинг: 959

Нарушения: 10

GennadyGorin134 сказал(а):

И будешь ждать в 1млн раз дольше

Нажмите, чтобы раскрыть...

Не умеешь читать и не знаешь факты - не пиши. 

Gachi_Muchi

Пользователь

Регистрация: 02.07.2019

Сообщения: 507

Рейтинг: 291

Gachi_Muchi

Регистрация: 02.07.2019

Сообщения: 507

Рейтинг: 291

Ну типо да, если у тебя забита вся ОЗУ то данные с диска возьмутся напрямую, а не полезут через оперативку, и пойду в л3 кэш, правда это будет в сотни раз медленнее, имея достаточно физической памяти, виртуальная по сути нафиг не нужна 

FactorialD

Пользователь

Регистрация: 21.09.2017

Сообщения: 33

Рейтинг: 10

FactorialD

Регистрация: 21.09.2017

Сообщения: 33

Рейтинг: 10

Теоретически так можно сделать, но тогда уже проще поставить себе файл подкачки на 20 гигов и положить его на ссд. У меня 16 оперативы и когда я запускаю оперу и еще по мелочи, то оператива тупо кончается, а так у меня на ссд лежит файл подкачки на 35 гигов и я не чувствую разницы. 

Спойлер: "тыц"

Это типа такая пирамида скорости получается: регистры процессора - кеш процессора - оперативная память - диск

Lambda-chan

Пользователь

Регистрация: 26.07.2012

Сообщения: 4615

Рейтинг: 8640

Lambda-chan

Регистрация: 26.07.2012

Сообщения: 4615

Рейтинг: 8640

Kujivunia сказал(а):

ИЛИ процессор напрямую связан ТОЛЬКО с каналами ОЗУ, и даже менеджер виртуалки не способен перенаправить страницу из своей области на диске в процессор прямотоком, минуя промежуточную запись на плашку?

Нажмите, чтобы раскрыть...

Да, насколько я понимаю, у CPU отсутствует прямой доступ к HDD, читать можно только из RAM.

Вот тут https://superuser.com/a/832200 , например, это кратко объясняется

Свиномансер

Пользователь

Регистрация: 07.09.2014

Сообщения: 14246

Рейтинг: 3924

Свиномансер

Регистрация: 07.09.2014

Сообщения: 14246

Рейтинг: 3924

В теории наверно и можно, вот только тормоза и бсоды мне кажется обеспечены. 

Ибо представь, мало того что скорость никакущая так и задержка к доступу наверн огромная. 

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

Nik3s

Пользователь

Регистрация: 09.06.2015

Сообщения: 580

Рейтинг: 157

Nik3s

Регистрация: 09.06.2015

Сообщения: 580

Рейтинг: 157

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

CHEN_

Пользователь

Регистрация: 24.03.2017

Сообщения: 15096

Рейтинг: 3364

Нарушения: 25

CHEN_

Регистрация: 24.03.2017

Сообщения: 15096

Рейтинг: 3364

Нарушения: 25

FactorialD сказал(а):

Теоретически так можно сделать, но тогда уже проще поставить себе файл подкачки на 20 гигов и положить его на ссд. У меня 16 оперативы и когда я запускаю оперу и еще по мелочи, то оператива тупо кончается, а так у меня на ссд лежит файл подкачки на 35 гигов и я не чувствую разницы. 

Спойлер: "тыц"

 

Это типа такая пирамида скорости получается: регистры процессора - кеш процессора - оперативная память - диск

Нажмите, чтобы раскрыть...

Тебе не жалко ССД?

Его больше используют как ОНЛИ ТУ РИД.

Свиномансер сказал(а):

В теории наверно и можно, вот только тормоза и бсоды мне кажется обеспечены. 

Ибо представь, мало того что скорость никакущая так и задержка к доступу наверн огромная. 

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

Нажмите, чтобы раскрыть...

с этим каждый день сталкиваются те, кто купил ноут с 4Гб оперой и ВИНД 10 на борту. 

FactorialD

Пользователь

Регистрация: 21.09.2017

Сообщения: 33

Рейтинг: 10

FactorialD

Регистрация: 21.09.2017

Сообщения: 33

Рейтинг: 10

Billy99912 сказал(а):

Тебе не жалко ССД?

Его больше используют как ОНЛИ ТУ РИД.

Нажмите, чтобы раскрыть...

 

Ну в теории он должен долго прослужить. Он уже у меня год работает, сегодня проверял утилитой, которая инфу по дискам показывает, и она пишет что с ссд все норм и еще годика три протянет минимум. Так что для ноутбука в самый раз.