А где атака то? Ну то есть, это ШИНА, а на шине устройства могут делать довольно много неприятных вещей. Если устройство через DMA начнет портить память это тоже атака? А если устройсто начнет блокировать шину памяти? Ну а если оно будет генерировать немерянное количество прерываний? Таких «атак» можно придумать тысячи.
Насчет «лагов при подгрузке страниц в бэкграунде» сказать не могу — не видел. Но вот насчет «общего стартап тайм», Вы попробуйте скопировать эту самую оперу на RAM диск а запустить все равно с жесткого диска. Ну ведь ясен же пень, что «холодный старт» будет медленее горячего/теплого — просто за счет того, что из кеша пока нечего брать. А то Вы так мило исключили из сравнения время заполнения данными рам-диска, но почему то сравниваете со временем холодного старта (то есть ВКЛЮЧАЯ время заполнения теми же самыми данными кеша).
А вообще я встречал случаи, когда непонимание принципов работы кеша (да и рам диска тоже) приводило к таким замечательным изобретениям сумрачного гения, как pagefile на ram-диске.
Ну это пожалуй единственный правильный критерий. Единственно, стоило бы проводить сравнение двойным слепым. А ведь Вы вполне можете оказаться предвзятым (как и я не замечая разницы в отзывчивости при одинаковой нагрузке)
Нет, это не вопрос реализации. Фундаментальной разницы нет. Более того, производительность снижается не при доступе к свопу, а при доступе к диску вообще. И именно количество обращений к диску вообще и призвана снизить такая схема.
А с чего они должны быть равноправными?
С того, что фундаментально между ними нет разницы: это все disk-backed memory.
Память, выделенная проге, рано или поздно будет использована снова.
Нет. Не уверен, писали ли Вы когда нибудь программы.
Файловый кэш — далеко не факт, что он понадобится в будущем хотя бы раз.
Да не факт. И именно поэтому нужно принимать решение на основе РЕАЛЬНОГО использования. Не надо гадать, если можно просто померять и принять ОБОСНОВАННОЕ решение.
Вы уж определитесь, как оно на самом деле :)
Уже определился. Страницы «стареют» в несколько проходов (потому что аппаратно можно узнать только было ли вообще обращение к странице со времени последнего сброса бита). После чего самые старые «подрезаются»
Есть источники, которые подробно описывают этот вопрос?
Да полно. Наиболее полно и доступно — у Руссиновича/Соломона/Ионеску
> Не «возможно», а факт. И суть в том, что обобщая Вы пренебрегаете этим фактом.
Нет, все таки клиническим фактом является то, что Вы ВООБЩЕ не разбираетесь в вопросе
> Чем LUA не соотвествует Least privilege principle
Еще одну клевую аббревиатуру нагуглили. LUA это есть least privilege principle.
> root — пользователь с максимум привелегий
Ага и одновременно пользователь, имеющий ХОТЬ КАКИЕ ТО привилегии
> Дану? Правда что-ли? А нука поставьте под win7 драйверы от winnt4? Или даже ближе и уже — поставьте в win7 драйвер winxp/2k3 например для promise tx4.
Бля, это начинает выводить из себя. ВО ПЕРВЫХ, nt4 (aka legacy, aka non-wdm) драйверная модель поддерживается до сих пор. ВО ВТОРЫХ, чтоб говорить предметно, ПОКАЖИТЕ КОНКРЕТНО какой из вызовов менялся msdn.microsoft.com/en-us/library/ff546644(v=VS.85).aspx
> Вы завели речь о наличии нормальной и стабильной layered модели устройств в linux — чем же она в linux не нормальна?
Меняется каждые несколько лет. Все еще не layered (ну ничего — через десяток лет и это «украдут»)
> Система загрузки/выгрузки драйверов — дай бог памяти что-бы хотя бы вспомнить kernel-panic
Во первых, ПРИ ЧЕМ ЗДЕСЬ ЭТО?
> А вот BSOD(по драйверу идущему в составе win7, jmicron AСHI) мне в первой же установке финальной win7 лицезреть пришлось
Раз уж мы спустились на такой детский уровень (в составе Win7 идут вендорские дрова, никакого отношения к самой модели не имеющие), то вот Вам свеженький https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/568779
Это, кстати, весьма показательно. В Microsoft отложили релиз только для того, чтобы перетестить все после изменения пары ресурсных файлов. А в каноникал ЗНАЯ про критический баг — все равно выпустили релиз. Если Вы вдруг не поняли с первого раза: это весьма показательно, но никакого отношения к модели драйверов не имеет
> И драйвер под linux написать гораздо проще чем под windows.
О, слова иксперта. Пробовали? Таки где мне достать актуальную документацию по текущей модели драйверов в линупсе?
> Не надо сказки рассказывать, m$ уничтожила apple, купила и сделала своей
Ога, свой. Акции то не имели голоса. Просто дали bail-out по доброте душевной
> Конкуренция m$ не выгодна, им выгоднее откупаться от антимонопольных комитетов штрафами.
Так Вы еще и знаменитый макроиканамист?
> Обобщённый и минималистичный контроль над объектами в windows вылился в монстроидальную систему породившую OLE, а затем и ActiveX.
Вы даже не поняли о каких объектах речь, разибирающийся. И да, какие претензии к OLE и ActiveX?
> Однако эта «хрупкость» оказывается крепче, чем «лунная» RM windows.
Ога, Неуловимый Джо такой неуловимый.
Исходя из Ваших заявлений, что Вы в вопросе разбираетесь, но при этом имея факт того, что Вы несете полнейшую чушь, смею предположить что Вы попросту толсто троллите
> Сначала Вам стоит чуть меньше задирать нос — например, допускать что собеседник знаком с ACL/ACCESS_TOKEN.
Если человек говорит чушь (и в данном комментарии тоже), то логичнее предположить, что он говорит ее по незнанию, чем от того, что ему просто нравится публично нести чушь
> почему дыр в ней выявлялось и выявляется великое множество
Ну вот. Не соблаговолит ли «разбирающийся» иксперт привести парочку из «великого множества»?
> почему пользователи в массе своей пренебрегают ею, выставляя права админа;
Не стоит отвечать за «массу пользователей». Есть три категории людей: 1) Те, которые не знают как 2) Те, которые знают как, но не понимают почему нельзя 3) Те, которые знают как, но понимают почему не стоит
Так вот вторая категория — не такая многочисленная как Вам кажется, ибо она промежуточная. Люди или остаются в первой или относительно быстро проскальзывают в третью
Какое отношение это имеет к Вашему «разбиранию» в модели безопасности?
> почему вирусный софт уже давно стал ПО для windows?
Потому что это кому то выгодно. Чего Вы хотели сказать то этим вопросом и какое отношение это имеет к Вашему «разбиранию» в модели безопасности?
> То есть это у вас такой пик был, после которого осталось 400 мб данных в свопе? Или таки нет? ;)
Прошу прочитать то, что я написал выше еще раз. Вам почему то кажется, что своп-файл зло, которого надо избегать любой ценой. На самом же деле этим злом является ДИСКОВАЯ АКТИВНОСТЬ. Если у Вас есть совершенно равноправный пул file-backed данных (часть из которых backed своп файлом, а другая — обычными файлами), то решение о том, выгружать ли страницы принимается для всего пула в целом. Именно размер всего этого пула (кеш + вся используемая память) превысил размер доступной физической памяти. А если еще учесть, что дело происходило на машине, не перегружавшейся до этого несколько недель — вполне естественно, что часть данных приложений, открытых неделю назад оказались в свопе.
> Следуя моей логике, вообще не нужно выгружать данные приложений в своп без крайней необходимости.
Ну то есть можно вообще не иметь места под кеш, только бы не сгружать НЕИСПОЛЬЗУЕМЫЕ данные в своп?
> Кстати, у кэшированных данных учитывается число обращения к ним? Или только срок последнего обращения?
Прошу прощения, ввел в заблуждение предыдущим комментарием. Именно ЧИСЛО обращений с начала процедуры «старения» и учитывается.
1. Постоянного скрежета нет (не наблюдал ни на одной из пары десятков разнообразных машин). Периодический бывает и то только в случаях, когда совсем без свопа просто закончилась бы память — тут уж Вам выбирать чего Вам важнее
2. Таки практически не сказывается: ни разу в жизни не видел винчестера с вышедшим из строя шаговым двигателем. Уж всяко вращение шпинделя/температурное расширение доконают винчестер быстрее.
Спасибо за поправку. Насчет разогрева я еще знал, что используются разные виды (но все равно считал лазеры самыми «прогрессивными» и повсеместно использующимися в последних реакторах), а вот про удержание чем нибудь, отличным от сверхпроводящих магнитов даже не догадывался. В любом случае разогрев магнитами не выглядит слишком убедительно
При том, что «блины» и плата разогреваются независимо от того, используется ли шаговый двигатель, а электроника не «изнашивается». Использование свопа раз в полгода практически не влияет на продолжительность жизни винчестера
Нет, первый «описанный мной случай» возможен при пиках нагрузки
Второй — совершенно нормальное явление на машинах с ЛЮБЫМ количеством памяти. В винде вообще вся физическая память (с небольшими исключениями, типа non-paged памяти) это фактически кеш. Разница лишь в том, закеширован какой то файл с данными или pagefile. Решение о том, кому оставаться в памяти, а кому идти на диск принимается на основании «возраста» страницы — последнего времени обращения к ней (плюс приоритеты страниц, но это отдельный разговор).
Следуя Вашей логике, лучше постоянно подгружать страницы из файлов, лишь бы держать своп пустым?
На самом деле, «рождение маленькой звезды» и «воссоздание реакции внутри солнечного ядра» уже давно, неоднократно и, главное, успешно проводилось. Вся хитрость в слове «контроллируемая». Очевидно, ни одно вещество не выдержит контакта с плазмой разогретой до 107K, поэтому плазму удерживают полем (магнитным), но она очень быстро дестабилизируется
> там для разогрева плазмы планируется использовать сверхпроводящие магниты
Нет, магниты для удержания (причем на всех установках термоядерного синтеза). Разогрев осуществляется лазерами.
В мегабайтах это порядка 400. И нет, когда есть свободная оперативка использование свопа не должно быть нулевым.
Во первых память могла освободиться. По Вашему система должна при первой же возможности подкачать все из свопа обратно в память? Зачем, если это можно будет сделать когда те данные ДЕЙСТВИТЕЛЬНО потребуются?
Во вторых кеш управляется теми же самыми механизмами, что и остальная память (aging/trimming). Вы хотите сказать, что лучше сидеть совсем без кеша, зато держать в ОЗУ страницы, которые не использовались, скажем, уже неделю? И это только для того, чтоб не использовать своп?
И Вы уверены, что вышла из строя механика? СИЛЬНО сомневаюсь. На моей памяти «горели» только 20-гиговые фуджитсу (у них были глюки с контроллером), остальные выкидывались задолго до того, как выходили из строя.
Когда Вы в последний раз видели винт, с вышедшей из строя механикой? Вообще то перепады температур (винты довольно существенно нагреваются во время работы) влияют на них ГОРАЗДО больше, чем использование шагового двигателя. Это раз.
Ну а два это то, что в случаях, когда Вам хватит физической памяти у Вас и своп практически не будет использоваться. Тут уж Вам решать, что Вам нужнее: экономия ресурса шагового двигателя (у которого ресурс наверное лет 20-30 минимум) с НЕВОЗМОЖНОСТЬЮ работы из-за нехватки памяти или новые возможности за счет незначительного (я бы даже сказал пренебрежимо малого, исходя из того, что морально винт устареет значительно быстрее, чем физически) уменьшения срока службы
А вообще я встречал случаи, когда непонимание принципов работы кеша (да и рам диска тоже) приводило к таким замечательным изобретениям сумрачного гения, как pagefile на ram-диске.
С того, что фундаментально между ними нет разницы: это все disk-backed memory.
Память, выделенная проге, рано или поздно будет использована снова.
Нет. Не уверен, писали ли Вы когда нибудь программы.
Файловый кэш — далеко не факт, что он понадобится в будущем хотя бы раз.
Да не факт. И именно поэтому нужно принимать решение на основе РЕАЛЬНОГО использования. Не надо гадать, если можно просто померять и принять ОБОСНОВАННОЕ решение.
Вы уж определитесь, как оно на самом деле :)
Уже определился. Страницы «стареют» в несколько проходов (потому что аппаратно можно узнать только было ли вообще обращение к странице со времени последнего сброса бита). После чего самые старые «подрезаются»
Есть источники, которые подробно описывают этот вопрос?
Да полно. Наиболее полно и доступно — у Руссиновича/Соломона/Ионеску
Нет, все таки клиническим фактом является то, что Вы ВООБЩЕ не разбираетесь в вопросе
> Чем LUA не соотвествует Least privilege principle
Еще одну клевую аббревиатуру нагуглили. LUA это есть least privilege principle.
> root — пользователь с максимум привелегий
Ага и одновременно пользователь, имеющий ХОТЬ КАКИЕ ТО привилегии
> Дану? Правда что-ли? А нука поставьте под win7 драйверы от winnt4? Или даже ближе и уже — поставьте в win7 драйвер winxp/2k3 например для promise tx4.
Бля, это начинает выводить из себя. ВО ПЕРВЫХ, nt4 (aka legacy, aka non-wdm) драйверная модель поддерживается до сих пор. ВО ВТОРЫХ, чтоб говорить предметно, ПОКАЖИТЕ КОНКРЕТНО какой из вызовов менялся msdn.microsoft.com/en-us/library/ff546644(v=VS.85).aspx
> Вы завели речь о наличии нормальной и стабильной layered модели устройств в linux — чем же она в linux не нормальна?
Меняется каждые несколько лет. Все еще не layered (ну ничего — через десяток лет и это «украдут»)
> Система загрузки/выгрузки драйверов — дай бог памяти что-бы хотя бы вспомнить kernel-panic
Во первых, ПРИ ЧЕМ ЗДЕСЬ ЭТО?
> А вот BSOD(по драйверу идущему в составе win7, jmicron AСHI) мне в первой же установке финальной win7 лицезреть пришлось
Раз уж мы спустились на такой детский уровень (в составе Win7 идут вендорские дрова, никакого отношения к самой модели не имеющие), то вот Вам свеженький https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/568779
Это, кстати, весьма показательно. В Microsoft отложили релиз только для того, чтобы перетестить все после изменения пары ресурсных файлов. А в каноникал ЗНАЯ про критический баг — все равно выпустили релиз. Если Вы вдруг не поняли с первого раза: это весьма показательно, но никакого отношения к модели драйверов не имеет
> И драйвер под linux написать гораздо проще чем под windows.
О, слова иксперта. Пробовали? Таки где мне достать актуальную документацию по текущей модели драйверов в линупсе?
> Не надо сказки рассказывать, m$ уничтожила apple, купила и сделала своей
Ога, свой. Акции то не имели голоса. Просто дали bail-out по доброте душевной
> Конкуренция m$ не выгодна, им выгоднее откупаться от антимонопольных комитетов штрафами.
Так Вы еще и знаменитый макроиканамист?
Да
> Обобщённый и минималистичный контроль над объектами в windows вылился в монстроидальную систему породившую OLE, а затем и ActiveX.
Вы даже не поняли о каких объектах речь, разибирающийся. И да, какие претензии к OLE и ActiveX?
> Однако эта «хрупкость» оказывается крепче, чем «лунная» RM windows.
Ога, Неуловимый Джо такой неуловимый.
Исходя из Ваших заявлений, что Вы в вопросе разбираетесь, но при этом имея факт того, что Вы несете полнейшую чушь, смею предположить что Вы попросту толсто троллите
Если человек говорит чушь (и в данном комментарии тоже), то логичнее предположить, что он говорит ее по незнанию, чем от того, что ему просто нравится публично нести чушь
> почему дыр в ней выявлялось и выявляется великое множество
Ну вот. Не соблаговолит ли «разбирающийся» иксперт привести парочку из «великого множества»?
> почему пользователи в массе своей пренебрегают ею, выставляя права админа;
Не стоит отвечать за «массу пользователей». Есть три категории людей: 1) Те, которые не знают как 2) Те, которые знают как, но не понимают почему нельзя 3) Те, которые знают как, но понимают почему не стоит
Так вот вторая категория — не такая многочисленная как Вам кажется, ибо она промежуточная. Люди или остаются в первой или относительно быстро проскальзывают в третью
Какое отношение это имеет к Вашему «разбиранию» в модели безопасности?
> почему вирусный софт уже давно стал ПО для windows?
Потому что это кому то выгодно. Чего Вы хотели сказать то этим вопросом и какое отношение это имеет к Вашему «разбиранию» в модели безопасности?
Прошу прочитать то, что я написал выше еще раз. Вам почему то кажется, что своп-файл зло, которого надо избегать любой ценой. На самом же деле этим злом является ДИСКОВАЯ АКТИВНОСТЬ. Если у Вас есть совершенно равноправный пул file-backed данных (часть из которых backed своп файлом, а другая — обычными файлами), то решение о том, выгружать ли страницы принимается для всего пула в целом. Именно размер всего этого пула (кеш + вся используемая память) превысил размер доступной физической памяти. А если еще учесть, что дело происходило на машине, не перегружавшейся до этого несколько недель — вполне естественно, что часть данных приложений, открытых неделю назад оказались в свопе.
> Следуя моей логике, вообще не нужно выгружать данные приложений в своп без крайней необходимости.
Ну то есть можно вообще не иметь места под кеш, только бы не сгружать НЕИСПОЛЬЗУЕМЫЕ данные в своп?
> Кстати, у кэшированных данных учитывается число обращения к ним? Или только срок последнего обращения?
Прошу прощения, ввел в заблуждение предыдущим комментарием. Именно ЧИСЛО обращений с начала процедуры «старения» и учитывается.
2. Таки практически не сказывается: ни разу в жизни не видел винчестера с вышедшим из строя шаговым двигателем. Уж всяко вращение шпинделя/температурное расширение доконают винчестер быстрее.
Второй — совершенно нормальное явление на машинах с ЛЮБЫМ количеством памяти. В винде вообще вся физическая память (с небольшими исключениями, типа non-paged памяти) это фактически кеш. Разница лишь в том, закеширован какой то файл с данными или pagefile. Решение о том, кому оставаться в памяти, а кому идти на диск принимается на основании «возраста» страницы — последнего времени обращения к ней (плюс приоритеты страниц, но это отдельный разговор).
Следуя Вашей логике, лучше постоянно подгружать страницы из файлов, лишь бы держать своп пустым?
> там для разогрева плазмы планируется использовать сверхпроводящие магниты
Нет, магниты для удержания (причем на всех установках термоядерного синтеза). Разогрев осуществляется лазерами.
Во первых память могла освободиться. По Вашему система должна при первой же возможности подкачать все из свопа обратно в память? Зачем, если это можно будет сделать когда те данные ДЕЙСТВИТЕЛЬНО потребуются?
Во вторых кеш управляется теми же самыми механизмами, что и остальная память (aging/trimming). Вы хотите сказать, что лучше сидеть совсем без кеша, зато держать в ОЗУ страницы, которые не использовались, скажем, уже неделю? И это только для того, чтоб не использовать своп?
Ну а два это то, что в случаях, когда Вам хватит физической памяти у Вас и своп практически не будет использоваться. Тут уж Вам решать, что Вам нужнее: экономия ресурса шагового двигателя (у которого ресурс наверное лет 20-30 минимум) с НЕВОЗМОЖНОСТЬЮ работы из-за нехватки памяти или новые возможности за счет незначительного (я бы даже сказал пренебрежимо малого, исходя из того, что морально винт устареет значительно быстрее, чем физически) уменьшения срока службы