The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Началось бета-тестирование FreeBSD 12.2, opennews (?), 13-Сен-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "Началось бета-тестирование FreeBSD 12.2"  +7 +/
Сообщение от КО (?), 13-Сен-20, 09:29 
"Режим W^X позволит" снизить производительность процентов на ндцать
Ответить | Правка | Наверх | Cообщить модератору

5. "Началось бета-тестирование FreeBSD 12.2"  +3 +/
Сообщение от funny.falcon (?), 13-Сен-20, 09:40 
Это почему? Оно ведь работает не в момент выполнения кода, а когда права на страницу выставляешь.

Или раньше было много записи в выполняемые страницы?

Ответить | Правка | Наверх | Cообщить модератору

53. "Началось бета-тестирование FreeBSD 12.2"  –7 +/
Сообщение от пох. (?), 13-Сен-20, 11:50 
> Это почему?

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

> Или раньше было много записи в выполняемые страницы?

Не очень, но, как назло, это были места, вызываемые в наиболее неудобных и критичных к времени исполнения ситуациях.

Ответить | Правка | Наверх | Cообщить модератору

97. "Началось бета-тестирование FreeBSD 12.2"  +1 +/
Сообщение от Бывалый (?), 13-Сен-20, 12:41 
> Потому что простой и понятный код теперь вообще работать не будет

Это вы про javascript что ли?

То что называют "W^X" это аппаратная возможность MMU, просто конфигурация флагов в таблице страниц виртуальной памяти. Тут речь идёт о том чтобы системный софт (ядро, линкер, динамический линкер, и т.д.) располагал исполняемый код отдельно от доступного на запись. Потому что на самом деле модифицировать на лету исполняемый код нужно только в специфичных сценариях вроде JIT для интерпретируемых языков. Для таких программ можно реализовать какой-то механизм исключения из правила W^X. В OpenBSD, например, программы с W&X должны могут быть загружены только со специального дискового раздела.

Резюмируя, W^X никак не скажется на производительности для большинства программ.

Ответить | Правка | Наверх | Cообщить модератору

99. "Началось бета-тестирование FreeBSD 12.2"  –7 +/
Сообщение от пох. (?), 13-Сен-20, 12:46 
ты дальше вебдева -то, похоже, не бывал?

> что на самом деле модифицировать на лету исполняемый код нужно только в специфичных сценариях

рекурсивная C-функция - очень, очень "специфичный сценарий", ага.

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

Ответить | Правка | Наверх | Cообщить модератору

138. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от Sw00p aka Jerom (?), 13-Сен-20, 14:42 
>Не напомните, кстати, а что случилось с другими архитектурами

Если жить с понятием "и так сойдёт", то это ожидаемо. Никто не пытался в полноте изучить вопрос архитектур. Тюринг сказал "пусть лента будет плоской и бесконечной", вот и пошло, а все почему? - "и так сойдёт".

Ответить | Правка | Наверх | Cообщить модератору

174. "Началось бета-тестирование FreeBSD 12.2"  –1 +/
Сообщение от пох. (?), 13-Сен-20, 15:45 
> пытался в полноте изучить вопрос архитектур.

Пытались. Они - банкроты.

Потому что пока одни "изучали" и производили ненужных дорогущих монстров, у других уже работало.

Ответить | Правка | Наверх | Cообщить модератору

238. "Началось бета-тестирование FreeBSD 12.2"  +1 +/
Сообщение от Sw00p aka Jerom (?), 13-Сен-20, 19:10 
> Пытались. Они - банкроты.

Вот далеко ходить не надо, возьмем текущую ситуацию с так называемым "квантовым компьютером". Какова его архитектура? Посмотрим на тот же IBM, Google и т.д. кто занимается данной областью, что будет в итоге? Всё тоже "и так сойдёт" при первой удачной "продуктовой" архитектуре. Нужен ли "квантовым компьютером" если "и так сойдёт" Фон Неймановский? Обанкротится ли IBM, Google и т.д. в итоге?

> Потому что пока одни "изучали" и производили ненужных дорогущих монстров, у других
> уже работало.

И все это работает до тех пор пока не столкнемся с ограничениями или изъянами архитектурными.


пс: Была ли необходимость к примеру в строительных кранах если "и так рабы поднимут камни на вершину пирамиды"?

Ответить | Правка | Наверх | Cообщить модератору

141. "Началось бета-тестирование FreeBSD 12.2"  +8 +/
Сообщение от еуые (?), 13-Сен-20, 14:50 
Рекурсивная C функция  конечно не модифицирует страницы с кодом.
Почитайте блин что такое стек и как чем он отличается от исполняемого кода.
Ответить | Правка | К родителю #99 | Наверх | Cообщить модератору

172. Скрыто модератором  +/
Сообщение от пох. (?), 13-Сен-20, 15:44 
Ответить | Правка | Наверх | Cообщить модератору

202. Скрыто модератором  +2 +/
Сообщение от topin89email (ok), 13-Сен-20, 16:33 
Ответить | Правка | Наверх | Cообщить модератору

213. Скрыто модератором  +/
Сообщение от пох. (?), 13-Сен-20, 17:24 
Ответить | Правка | Наверх | Cообщить модератору

292. Скрыто модератором  +3 +/
Сообщение от Norn (??), 14-Сен-20, 06:16 
Ответить | Правка | Наверх | Cообщить модератору

239. Скрыто модератором  +1 +/
Сообщение от Sw00p aka Jerom (?), 13-Сен-20, 19:11 
Ответить | Правка | К родителю #172 | Наверх | Cообщить модератору

280. Скрыто модератором  +/
Сообщение от Ordu (ok), 14-Сен-20, 00:44 
Ответить | Правка | К родителю #172 | Наверх | Cообщить модератору

308. Скрыто модератором  +/
Сообщение от пох. (?), 14-Сен-20, 13:07 
Ответить | Правка | Наверх | Cообщить модератору

313. Скрыто модератором  +2 +/
Сообщение от Ordu (ok), 14-Сен-20, 14:25 
Ответить | Правка | Наверх | Cообщить модератору

15. "Началось бета-тестирование FreeBSD 12.2"  –2 +/
Сообщение от Аноним (15), 13-Сен-20, 10:20 
Емнип эта технология уже лет 20 используется в линуксе и опнбсд (внезапно) и около 15 в венде, а nxbit уже давно отдельная инструкция процессора как раз из соображений производительности. Т.е. фряха как обычно. https://en.wikipedia.org/wiki/W%5EX
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

22. "Началось бета-тестирование FreeBSD 12.2"  +1 +/
Сообщение от Fracta1L (ok), 13-Сен-20, 10:39 
А как с этой штукой работают всякие интерпретаторы и jit?
Ответить | Правка | Наверх | Cообщить модератору

42. "Началось бета-тестирование FreeBSD 12.2"  –5 +/
Сообщение от пох. (?), 13-Сен-20, 11:41 
Ну очевидно же, как - в них тоже давно вся производительность принесена в жерту линукс-совместимости. А под фрей они скоро и собираться перестанут, даже те что еще кое-как.

Если кто не в курсе - nested C (!) functions до сравнительно недавнего времени реализовывались в gcc через executable stack. Но это же ж небезопастно! А пользователи - ну купят процессор помощнее, sponsored by intel (в случае фри - by Foundation - то есть, интел ни разу не палится).

Ответить | Правка | Наверх | Cообщить модератору

196. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от Дон Ягон (ok), 13-Сен-20, 16:21 
Это типа намёк на pax emutramp? С его 25% оверхедом?
Не, спасибо. Тот же jitless в хроме в реальной жизни (а не в тестах) и то меньше оверхед даёт.
Ответить | Правка | Наверх | Cообщить модератору

214. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от пох. (?), 13-Сен-20, 17:26 
> Не, спасибо. Тот же jitless в хроме в реальной жизни (а не
> в тестах) и то меньше оверхед даёт.

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

Ответить | Правка | Наверх | Cообщить модератору

232. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от Дон Ягон (ok), 13-Сен-20, 18:45 
Я, возможно, не понял тогда о чём ты.

Какой смысл критиковать W^X (который имеет почти нулевой оверхед сам по себе и в известных мне реализациях точечно отключается для бинарников, где нужна W|X и производительность), если альтернатива - emutramp (я не знаю других решений проблемы использующих nested c functions) имеет отнюдь не нулевой оверхед? Сравнимый во многих задачах (не во всех, наверное, да) с отключением jit вообще?

Ответить | Правка | Наверх | Cообщить модератору

309. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от пох. (?), 14-Сен-20, 13:08 
> и в известных мне реализациях точечно отключается для бинарников, где нужна

это не в бинарниках, это они в ядре "рационализировали". здравствуй, kernel panic - и непонятно будет даже, откуда взявшийся.

Ответить | Правка | Наверх | Cообщить модератору

311. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от Дон Ягон (ok), 14-Сен-20, 13:37 
А, да, и правда. Что-то это от меня ускользнуло.
Ответить | Правка | Наверх | Cообщить модератору

246. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от Аноним (246), 13-Сен-20, 20:11 
Наговнокодили на своей сишечке, теперь расхлёбывайте. Или это Столлман виноват?
Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

281. "Началось бета-тестирование FreeBSD 12.2"  +1 +/
Сообщение от Webmonkey (?), 14-Сен-20, 01:15 
Nested functions не нужны настолько, что их даже в стандарте С нет.
Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

100. "Началось бета-тестирование FreeBSD 12.2"  +2 +/
Сообщение от Аноним (100), 13-Сен-20, 12:47 
сначала странице ставится флаг W, записывается код, а перед запуском кода убирается W и одновременно ставится X
искренне ваш, К.О.
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

206. "Началось бета-тестирование FreeBSD 12.2"  +2 +/
Сообщение от Odalist (?), 13-Сен-20, 16:44 
> А как с этой штукой работают всякие интерпретаторы и jit?

Фрактальчик, ты теперь бздун? А как же манжара?

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

39. "Началось бета-тестирование FreeBSD 12.2"  –4 +/
Сообщение от пох. (?), 13-Сен-20, 11:37 
> Емнип эта технология уже лет 20 используется в линуксе

а сколько там еще используется технологий с "20-60% performance hit", даже если их специальным крыжиком _отключить_, не напомните ли?

> и опнбсд (внезапно)

то есть идеальным сферическим в вакууме тормозом? Может, нам еще и giant lock оттуда позаимствовать, а то что-то своего давно уже не было видно?

> Т.е. фряха как обычно.

Да, как обычно - белки-истерички норовящие все испортить во имя никому ненужной псевдобезопастности обычно туда тоже добираются, хотя и с опозданием.

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

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

117. "Началось бета-тестирование FreeBSD 12.2"  +4 +/
Сообщение от анонн (ok), 13-Сен-20, 13:30 
> Емнип эта технология уже лет 20 используется в линуксе и опнбсд (внезапно)
> и около 15 в венде, а nxbit уже давно отдельная инструкция процессора как раз из соображений производительности. Т.е. фряха как обычно. https://en.wikipedia.org/wiki/W%5EX

1) неплохо бы собственные ссылки еще и читать:
> In late 2014 and early 2015, W^X was added in the OpenBSD kernel on the AMD64 architecture

2)


commit 35d8561b4c4fdd818bacce23bc56f142116331dc
Author: peter <peter@FreeBSD.org>
Date:   Tue Jun 8 01:02:52 2004 +0000

    Initial PG_NX support (no-execute page bit)
    - export the rest of the cpu features (and amd's features).

3)
https://www.freebsd.org/news/status/report-2019-07-2019-09.html
> FreeBSD has long made use of the NX flag for userspace mappings whenever possible, ... A recent project has sought to implement a W^X-by-default policy for the amd64 kernel by completing an audit ... This work has landed in HEAD and will be available in FreeBSD 13.0 and 12.2.
>> применение по умолчанию ...  ядро

Т.е. лап.атые комментаторы в новости про фряху - как обычно.


Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

122. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от пох. (?), 13-Сен-20, 13:50 
> Initial PG_NX support (no-execute page bit)

это просто фичу сделали доступной - для тех, кому хотелось такой дополнительной защиты. Это, действительно, сто лет назад.

А сейчас идея в том чтобы "все попереписать-попереломать, зато безопастно" - непосредственно в тех частях ядра, которые могли задействовать writable code. Причем, разумеется, никто не стал последовательно искать такие места в коде, физически невозможно, вместо этого просто понаставили nx на все данные ядра - и сидят, ждут, у кого и где сломается. Как поломалось - добавляют новый костылик.

Ответить | Правка | Наверх | Cообщить модератору

127. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от анонн (ok), 13-Сен-20, 13:59 
>> Initial PG_NX support (no-execute page bit)
> это просто фичу сделали доступной - для тех, кому хотелось такой дополнительной защиты. Это, действительно, сто лет назад.

Ну дык, об этом же и гордо задирающий гузочку выше комментатор? (просто он свалил все к кучу и сделал выводы по знакомым и совпадающим с википедийным артиклем словам)

Ответить | Правка | Наверх | Cообщить модератору

177. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от пох. (?), 13-Сен-20, 15:49 
> Ну дык, об этом же и гордо задирающий гузочку выше комментатор? (просто

да хрен его знает, он, по-моему, вообще ни в чем не разбирается, он же "разработчик", ему некогда.

Но там в ядро понатащили вредных тормозных решений тоже изрядно давно. Настолько, что они даже перестали быть такими уж заметно тормозными на фоне понатащенного следом. Ну а чего такова, закон мура...ой, оказался мурой, ну ничего, зато ядер можно сделать 64! Смотрите, смотрите - оно даже почти не медленее предыдущих версий на процессоре вдвое дешевле!

Ответить | Правка | Наверх | Cообщить модератору
Часть нити удалена модератором

180. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от пох. (?), 13-Сен-20, 15:53 
>> Дефолтный DEP в венде уже очень и очень давно.
>>>  около 15 в венде
> DEP по умолчанию в венде самое раннее, в 7 могли включить (но
> емнип, не включили. Хотя я не особо интересовался). Но никак не
> 15 лет назад.

7 винда - 2008й год. Ок, не 15, "всего лишь 12".

> в ядре" (HardenedBSD) еще 5 лет назад ...

запрет исполнения _userland_ кода такого сорта был в экспериментальном виде в ядре линукса еще 1.3 - 1998й
Правда, он ломал программы на obj-c, и некоторые просто сишные, поэтому его автор никогда и не пытался вмержить этот код в мэйнлайн - кому надо, брали и пользовались. Большинству было не надо, тем более что мгновенно нашлись способы написания эксплойтов, не вляпывающихся в эту проблему.

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

Тогда кого-то еще беспокоила производительность.

Ответить | Правка | К родителю #232 | Наверх | Cообщить модератору

191. "Началось бета-тестирование FreeBSD 12.2"  +/
Сообщение от анонн (ok), 13-Сен-20, 16:08 
> 7 винда - 2008й год. Ок, не 15, "всего лишь 12".

Это подразумевает, что он таки был. Но мне смутно припоминается такой "сикуритикомбайн" для выставления этих фич, где все это нужно было включать, потому что opt-in (и по умолчанию включен только для своих виндосервисов, да и то - не всех).
Тем более, "в наследство" из XP досталась куча програм с "защитой", которая с флагами W^X даже исключительно для стека могла запросто крэшиться, не говоря о том, что сам ("защитный") софт нередко аллоцировал сразу RWX для распаковки кода и далее не знаморачивался с флагами. Т.е. дефолтный DEP сломал бы целую кучу софта.

Ответить | Правка | Наверх | Cообщить модератору

216. "Началось бета-тестирование FreeBSD 12.2"  +1 +/
Сообщение от пох. (?), 13-Сен-20, 17:29 
> Это подразумевает, что он таки был. Но мне смутно припоминается такой "сикуритикомбайн"

system settings. По умолчанию - да, выключен, они же не хотели все переломать всему 3d-party софту.

> Тем более, "в наследство" из XP досталась куча програм с "защитой", которая

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

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру