1.1, Аноним (1), 08:03, 25/03/2019 [ответить] [﹢﹢﹢] [ · · · ] [↓] [к модератору]
| +/– |
> В системе применяется принцип "все есть URL".
А там можно как в похапе ровно одной функцией file_exists проверить phar:// на существование и начать его исполнять?
| |
|
2.25, Аноним (-), 11:03, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –1 +/– |
Да глупость какая-то. В винде тоже можно зачем-то написать \\.\COM1, только никому не приходит в голову показывать это в консоли и вондовсэксплорере.
| |
|
|
2.3, Ordu (ok), 08:13, 25/03/2019 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +5 +/– |
Я тоже этого не понимаю до конца. Сам бог, казалось бы, велел вывести монолит на новый уровень, а они вместо этого сообщения между потоками передают. Может они думают не только об ошибках работы с памятью, и не только о тех ошибках, которые можно предотвратить грамотными API, но и об остальных ошибках, на которые никакая креативность не предложит лучшего способа реагировать, кроме panic?
| |
2.6, Аноним (6), 08:41, 25/03/2019 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +6 +/– |
Суть скорее в том что кроме расто драйверов существуют и другие драйвера которые могут быть написаны и на си.
Да и не каждому ядру понравится крашится от драйверов мыши (привет из юникса).
А также не каждый драйвер будет работать во благо пользователя теже вирусы например.
| |
|
|
4.32, Аноним (32), 11:39, 25/03/2019 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +7 +/– |
Затем, что эти драйвера уже написаны, и будут портироваться сюда, потому что врядли кто-то сегодня потянет написание с нуля драйверов, даже для самых популярных устройств
| |
|
5.39, Аноним (-), 11:58, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
ЛОЛШТО? Драйвер это вообще-то адаптер, преобразующий протокол устройства в протокол (API) ОС. Если это действительно новая ОС со своим протоколом, то и драйверы придётся именно переписывать.
| |
|
6.52, НяшМяш (ok), 13:23, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –1 +/– |
Ну будет у тебя интерфейс драйвера другой. А логику драйвера будешь с нуля реверсить - спеки читать (если они есть вообще)? Тот же видеодрайвер проще взять линуксический и поменять в нём осезависимый код.
| |
|
7.58, Аноним (58), 13:35, 25/03/2019 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +4 +/– |
>видеодрайвер проще взять линуксический и поменять в нём осезависимый код.
>видеодрайвер
>поменять осезависимый код.
Это весь код, что ли?
| |
7.70, Аноним (2), 14:13, 25/03/2019 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +/– |
> Тот же > видеодрайвер проще взять линуксический
> и поменять в нём осезависимый код.
А ещё проще взять готовый виндовый. Тем более, давно есть наглядный пример.
| |
|
|
|
|
5.61, Аноним (2), 13:46, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
Да, готов. Ведь ради этого всё и затевалось. Правда, я бы предпочёл переписать всё на Component Pascal или Sing#, в крайнем случае на ML.
| |
|
|
|
|
3.19, Аноним (2), 10:24, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –2 +/– |
То есть безопасность Rust обусловлена применением микроядра? Вы же понимаете, если это так, то в прикладном софте говорить о ней не приходится?
| |
|
4.66, Аноним (58), 14:04, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +3 +/– |
>то есть безопасность Rust обусловлена применением микроядра
>Безопасность кирпича обусловлена применением здания.
Иди домой ты пьян.
| |
|
5.72, Аноним (2), 14:19, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –1 +/– |
>>то есть безопасность Rust обусловлена применением микроядра
>>Безопасность кирпича обусловлена применением здания.
> Иди домой ты пьян.
Переставил причину и следствие по совету эксперта.
| |
|
|
|
2.81, Anonimus (??), 16:37, 25/03/2019 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +/– |
Это по идее просто так не совсем удачно описали принцип работы микроядерной архитектуры. Как бы все изолированно друг от друга в том числе и драйвера.
| |
2.101, Aknor (?), 21:42, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +3 +/– |
Когда-нибудь система становится зрелой и получает проприентарные драйвера.Так сто лучще бы их изолировать.
| |
2.133, northbear (??), 12:37, 27/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Есть разница между безопасным в смысле stability, и безопасным в смысле security. Rust безопасный в смысле stability... Изоляция нужна для security...
| |
|
3.137, Аноним (2), 12:06, 28/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> Есть разница между безопасным в смысле stability, и безопасным в смысле security.
> Rust безопасный в смысле stability... Изоляция нужна для security...
А в смысле safety у всего этого как? Шифрование изолированных адресных пространство, как я понял с Ваших слов, Rust реализует прозрачно.
| |
|
4.142, northbear (??), 15:02, 27/05/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
>> Есть разница между безопасным в смысле stability, и безопасным в смысле security.
>> Rust безопасный в смысле stability... Изоляция нужна для security...
> А в смысле safety у всего этого как? Шифрование изолированных адресных пространство,
> как я понял с Ваших слов, Rust реализует прозрачно.
Rust - это язык программирования. Он к этой проблеме ортогонален... Это вопрос приложения, а не языка программирования.
| |
|
|
|
|
2.64, Аноним (58), 13:57, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
>А почему подчёркивание, а не дефис?
Какой на ухо дефис? Через минус, что ли? Минут в именах символов используют только дeбилы и создатели CSS, то есть только дeбилы.
| |
|
3.87, Аноним (87), 18:35, 25/03/2019 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +/– |
> Минус в именах символов используют только дeбилы и создатели CSS
Кроме языков программирования подчёркивания употребляются реже минусов. CSS вы уже упомянули. В доменных именах подчёркивания просто запрещены. В XML в именах тегов тоже минусы предпочтительнее (не уверен, что подчёркивания разрешены). В unix-утилитах подчёркивание тоже дикость, обычно используются минусы.
| |
|
|
1.13, BrainFucker (ok), 09:19, 25/03/2019 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| –4 +/– |
И как с их ссылками работать в скриптах, с помощью wgef и curl? В юниксах концепция "всё файлы" была удобна в скриптах особенно. А в чём смысл "всё ссылки" непонятно, будто просто изврат ради изврата.
Файлы-то хоть можно прочитать чем угодно, хоть браузером. А ссылки большинство не поддерживает, а те приложения что поддерживают, то только пару видов всего. Бессмысленная концепция совершенно.
| |
|
|
3.20, BrainFucker (ok), 10:50, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> Почему ты считаешь, что URL подразумевает HTTP?
Где ты там увидел подразумевание? В юниксах можно прочитать файл чем угодно, т.к. читать файлы умеют все. Чем прочитать данные по ссылке типа упомянутого в статье log://? Это поддержку каждого протокола надо добавлять во все утилиты, нафиг такое.
| |
|
4.42, KonstantinB (ok), 12:18, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
Если там так же, как в Plan 9, - ничего не надо.
В Plan 9 (откуда они взяли идею) протокол реализуется драйвером, а работаешь ты с таким URL точно так же как с файлом, через стандартные операции ввода-вывода. Точно так же, как в Линуксе сделан procfs.
Какая разница, /var/log/logfile или log://logfile? Принципиально никакой, только драйвер указывается в явном виде.
| |
|
5.45, BrainFucker (ok), 12:32, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –5 +/– |
> Точно так же, как в Линуксе сделан procfs.
> Какая разница, /var/log/logfile или log://logfile? Принципиально никакой, только драйвер указывается в явном виде.
/proc я могу читать чем угодно, хоть веб-браузером, несмотря на то что он на это не был расчитан. А при попытке открыть log:// я получу ошибку о незнакомом протоколе. Вот и вся разница.
| |
|
|
|
Часть нити удалена модератором |
|
|
|
7.98, BrainFucker (ok), 20:52, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –2 +/– |
> Нет, ты напишешь cat log://logfile и получишь желаемое.
Но разработчики ОС не осилят пропатчить абсолютно все приложения так чтобы они поддерживали всевозможные протоколы и схемы ссылок. При том что там кто угодно может выдумывать свои принципиально новые ссылки: "можно написать модуль обращения к портам ввода/вывода и привязать его к URL port_io://"
Тут нет ничего похожего на принцип UNIX. Главная суть принципа "всё есть файл" в том что нет необходимости поддерживать для каждой фигни свой протокол, коих могут плодить 100500, достаточно уметь читать/писать файл: https://i.imgur.com/GLs2RjG.png
| |
|
|
|
|
|
2.16, KonstantinB (ok), 09:47, 25/03/2019 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +2 +/– |
При чем тут HTTP?
Работать примерно так же, как с файлами. Но есть нюанс.
В юниксовых скриптах "все есть файл" во многом подразумевает "все есть текстовый файл с некоей структурой, которую можно распарсить простейшими утилитами" (не, понятно, что и с бинарными данными работать можно, но это нестандартный сценарий), и надо заранее знать ожидаемый формат ввода и вывода.
С URL это развитие той же идеи со своего рода типизацией: scheme указывает на протокол. Можно все разнообразие свести к некоторому промежуточному универсальному формату и на лету конвертировать одно в другое автоматически. А учитывая, что есть еще и query string, можно варьировать параметрами, специфичными для протокола, безо всяких специальных конструкций.
| |
|
3.115, funny.falcon (?), 08:50, 26/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
"Все есть файл" не значит "текстовый".
В современном unix это значит, можно работать через файловый дескриптор операциями read/write. Но основатели Unix считают, что этого не достаточно.
В ортодоксальном (читай, православном) Plan9 (созданном теми основателями Unix) это означает "ко всему есть доступ через функцию open и путь в файловой системе". В Plan9 и сокеты имеют интерфейс через файлы в файловой системе, и оконная система, и драйверы устройств.
| |
|
2.96, Ordu (ok), 20:03, 25/03/2019 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +2 +/– |
Вот так:
cat https://www.opennet.ru/ | iconv -f koi8-r -t utf8 | grep 'align=middle' | sed 's|.*">\(.*\)</a>.*|\1|'
> А ссылки большинство не поддерживает
Я тебе открою секрет: большинство утилит командной строки и имена файлов не поддерживают, они делигируют всю работу с именами файлов ядру.
| |
|
3.100, BrainFucker (ok), 20:57, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –5 +/– |
> Я тебе открою секрет: большинство утилит командной строки и имена файлов не
> поддерживают, они делигируют всю работу с именами файлов ядру.
Да, но надо лишь уметь работать с файлами и ты умеешь почти всё. Это главная суть идеи "всё есть файл". А в случае концепции "всё есть ссылка", особенно в их реализации, этого не получится. https://i.imgur.com/GLs2RjG.png
Банально потому что разработчики будут не в состоянии пропатчить всё ПО так чтобы оно поддерживало всевозможные схемы и протоколы URL'ов, тем более там они предлагают любым желающим выдумывать свои какие угодно. Поэтому тут нет ничего якобы "похожего на принцип UNIX, только ссылки вместо файлов". Их концепция не даёт того, что даёт концепция "всё есть файл". Вот я о чём.
| |
|
|
5.108, BrainFucker (ok), 23:18, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Хм, ну ок, так действительно вполне возможно что это может работать...
Кстати, схему file:// стоило бы таким образом и в линуксах сделать, а то из гуишных файловых менеджеров ссылки на файлы почему-то копируются именно как file://..., при копировании в консоль приходится вручную стирать протокол.
| |
|
|
|
|
1.23, kiwinix (?), 10:52, 25/03/2019 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| –1 +/– |
Кто объяснит зачем эта ОС?
Просто чтоб ядро не текло? (Раст не умеет текти)
Либо по тому что могут?)
Я вот просто сомневаюсь что выйдет ос которая будет работать быстрее.
Тогда практическое применение?
| |
|
2.54, Аноним (58), 13:26, 25/03/2019 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +/– |
>Раст не умеет текти
Любой полный по Тьюрингу язык программирования может и "текти" и виснуть и глючить. Это прямо следует из его полноты.
В том же Расте: Создаем динамического размера буфер(Vec<i32>) в бесконечном цикле пихаем туда значения. Вуаля, за минуту-другую вся память утекла.
| |
|
3.111, Аноним (111), 00:17, 26/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
Ты спутал OOM и утечку памяти. Последняя - это когда объект мёртв, до него не достучаться, а память всё равно кушает. В твоём же примере Vec не куда не девается - к нему вполне себе можно обратиться, что ты и делаешь.
То что для твоего буфера не хватило памяти - ну сорян, данных много, их где-то надо хранить. Между прочим, Раст это делает намного эффективнее других безопасных языков ибо объекты намного тоньше.
| |
|
4.127, angra (ok), 03:39, 27/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
Нет, это ты перепутал частный случай(когда объект мёртв, до него не достучаться, а память всё равно кушает), с общей проблемой. Какая разница, что на объект где-то есть ссылка, если нет кода, который освободит его? Точно также нет разницы, освобождается ли память ручным вызовом free или автоматически сборщиком мусора после удаления последней ссылки на него. Утечки памяти это результат логических ошибок в программе, а не модели управления памятью в языке.
| |
|
|
2.55, pda (?), 13:26, 25/03/2019 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +1 +/– |
На данный момент "for fun". Как и Linux в начале. Может когда-нибудь применение найдётся. А может и нет.
| |
2.79, Аноним (79), 15:56, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –1 +/– |
Микроядро интересне. Может и кольца заюзают наконец (которым сто лет в обед), в отличии от.
Ну а раст - because we can.
| |
2.84, Аноним (84), 16:51, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
>Кто объяснит зачем эта ОС?
For fun, для экспериментов, в качестве хобби, для исследований возможностей и лимитов Rust, для исследований микроядерной архитектуры, для статей на OpenNet. Возможно, какие-то ещё интересные применения найдутся со временем.
| |
2.90, J.L. (?), 18:47, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
> Кто объяснит зачем эта ОС?
> Просто чтоб ядро не текло? (Раст не умеет текти)
> Либо по тому что могут?)
> Я вот просто сомневаюсь что выйдет ос которая будет работать быстрее.
> Тогда практическое применение?
имхо это шикарный демонстратор языка +(возможно) проверка концепций
если они даже бутлоадер на расте написали и создали свой пакетменеджер вместо использования какого-либо стандартного (например nix) - это явно демонстратор технологий и/или языка
| |
2.94, Ivan_83 (ok), 19:53, 25/03/2019 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +/– |
Там в академических кругах кто то взялся пропихивать RUST студентам, ну и видимо они теперь за оценку/зачот будут кодить втуда.
Насчёт быстрее - всем пофик, главное чтобы безопасно, а для быстроты нужно покупать железо за 100500 нефти.
По мне - очередное недоразумение от придурков из мозиллы, которое их друзья придурки в академ среде теперь пропихивают. И те и другие показывают друг на друга пальцем и говорят о том что оно всем надо.
Плюс паразитирование на маркетинговых бюджетах всяких контор продающих "безопасность", потому что у них типа всё безопасно.
| |
|
3.125, аноним3 (?), 00:34, 27/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –2 +/– |
не в линуксе, а в конкретных приложения и их совместном проживании)) и да ну не верю я в безопасные языки. единственный безопасный - это ассемблер + точное знание архитектуры и оборудования под которую пишется. и да как в древности никаких операционных систем только напрямую запуск на железе. вот тут пожалуй безопасно)) ну если комп вообще не включать пожалуй еще безопаснее))
| |
|
|
|
|
3.76, VINRARUS (ok), 14:56, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –1 +/– |
> Mozilla скорее всего перейдёт на движок chromium.
Глупый тролинг. На chromium выгодно переходить токо комерческим организациям, так как не нада тратить деньги на програмистов, достаточно 2х дизайнеров.
А Mozilla существует типо как план Б для юзеров веба.
| |
|
4.77, Анонимс (?), 15:41, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –1 +/– |
> Глупый тролинг. На chromium выгодно переходить токо комерческим организациям, так как не
> нада тратить деньги на програмистов, достаточно 2х дизайнеров.
Вы ошибаетесь. Mozilla Corporation (частная, коммерческая организация) - дочерняя компания Mozilla Foundation, созданная 3 августа 2005 года. Ей были переданы функции по планированию, маркетингу, разработке и распространению Mozilla Firefox. Главной задачей для любой корпорации является получение прибыли. Написание собственного движка - это большой труд и непомерные затраты и издержки. Микрософт это поняли и перешли вместо своего движка в Edge на движок chromium. Поэтому, закономерным итогом всего этого для Mozilla Corporation я вижу переход c собственного движка Gecko на движок Chromium.
| |
|
5.83, Kuromi (ok), 16:49, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Ошибаетесь, Микрососы просто прочитали древнюю мудрость "Не можешь побороть - возглавь" (собственно их Embrace, extend, and extinguish примерно о том же). Во первых они сейчас резко повышают свою совместимость в вэблм, во вторых сокращают атраты, а в третьих начнут ползуче протаскивать нужные им фичи.
Вот возьмем стандарт WebAuthn - с начала 2019-ого Микрософт выключила браузерам прямой доступ к FIDO ключам, теперь только через их проприетарную прослойку Windows Hello, которая навязывает биометрию и TMP модули.
Причем если погуглить, то уже видно, что активно продавливается мысль Webauthn = Windows Hello и никак иначе. Embrace уже навязан, начинаем Extend.
С Хромиумом конечно так быстро и просто не выйдет, но веселье еще впереди.
| |
5.107, Ordu (ok), 23:09, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
Я могу перечислить тебе ещё десяток уважаемых компаний, которые не стали разрабатывать собственного движка. Но я не понимаю как из этого следует, что мозилле не следует разрабатывать собственный движок.
Я могу перечислить десяток уважаемых компаний, которые не разрабатывают windows, значит ли это, что разрабатывать windows невыгодно, и майкрософту следует отказаться от поддержки windows?
Я могу перечислить десяток уважаемых компаний, которые не разрабатывают ракету для вывода на орбиту спутников, значит ли это, что затея Маска провальна?
| |
|
6.132, Попугай Кеша (?), 10:19, 27/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Если компания хочет власти и влияния - пишет свою ОС, свой сервис карт/картографии, свой язык создает, свой движок браузера.
Это больше, чем деньги - это власть. Надо быть большим и зубастым, чтобы диктовать свою волю. МС, судя по всему, уже не такие зубастые.
| |
|
|
|
|
|
|
2.40, Аноним (-), 12:10, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –1 +/– |
Конечно, они же там зачем-то всё подряд пилят. Не только стандартную библиотеку Си на ржавчине, но и freetype тоже перепиливают с Си на раст. И ничего толком не доделано, что характерно.
| |
|
3.48, НяшМяш (ok), 13:19, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +6 +/– |
Что характерно, это "недоделано" уже запускается и работает. Первый линукс тоже вышел без системдэ и драйверов нвидии.
| |
|
4.92, Аноним84701 (ok), 19:36, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
> Что характерно, это "недоделано" уже запускается и работает. Первый линукс тоже вышел без системдэ и драйверов нвидии.
Причем и первый и второй и ... цатый (например: ядро 1.2.13 в третьей слаке) имел еще и меньше строк кода. чем некая "система инициализации" ;)
| |
|
|
|
1.38, evkogan (?), 11:57, 25/03/2019 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +25 +/– |
Не понимаю отрицательных отзывов.
Они сделали еще одну микроядерную ОС. Ну захотели и сделали, молодцы. Судя по всему она уже сейчас может не меньше старых и над расширением совместимости с существующим софтом активно работают.
Написали ее на RUST, ну то же молодцы, с одной стороны течь не будет, с другой возможности RUST показывают. Инструмент вполне соответствует задаче.
Концепция все URL, это прямое расширение концепции все файл и вполне логична. Обращаться к файлам как это принято в Linux это хорошо. Дать возможность по этому же типу делать кучу других стандартных вещей типа логов и т.п. тоже хорошо.
Написание всяких библиотек и загрузчиков с учетом возможности использовать не только с Redox - это вообще какой-то возврат в прошлое, когда люди думали как сделать хорошие универсальные вещи. В отличии от подходов всяких системды.
Чем все недовольны?
Жаль что пока готова только для тестов. Нужно:
1. поддержка железа - возможно прослойка для использования дров линуховых
2. репозитарий с пакетами и пакетов сильно побольше.
И после этого можно и нужно будет сравнить производительность этого микроядра с современным линуксом. Понятно что медленнее, вопрос насколько в каких задачах.
Например на этом можно было бы построить безопасный дистр. потери производительности должны быть не больше чем запуск кучи виртуалок. А изначальный подход все есть ссылка должен быть удобен для встраивания проверок доступа между приложениями: кому в какие стороны можно данные передавать, а в какие нет.
| |
|
2.47, Аноним (47), 13:15, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
>Написали ее на RUST, ну то же молодцы, с одной стороны течь не будет
rust защищает от порчи памяти, но не от ее утечек. Там даже mem::forget сделали безопасной функцией
| |
|
3.80, evkogan (?), 16:06, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Сам я Rust не пробовал. Все думаю посмотреть поглубже.
С порчей памяти понятно.
А можно пример как на нем сделать утечку?
| |
|
4.89, Ordu (ok), 18:43, 25/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
> А можно пример как на нем сделать утечку?
fn memleak() {
let leak = Vec::<u64>::with_capacity(1_000_000_000);
std::mem::forget(leak);
}
fn main() {
memleak();
println!("Memleak success");
}
Это правда не очень хороший пример, потому что Vec::with_capacity берёт неинициализированную память, и из-за этого эффективно отъедает лишь кусок адресного пространства процесса, а не физическую память: ядро не выделяет страницы, пока к ним не было обращения. Но ежели ты туда запишешь что-нибудь, чтобы ядро страницы-таки выделило, то... ты только осторожнее, оно может серьёзно протормозить твою систему.
Можно пойти более сложным путём и создать цикл из Rc<T>, ссылающихся друг на друга.
| |
|
5.124, Аноним (-), 17:49, 26/03/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Всё написанное верно, но при этом все утечки помимо Rc-циклов - явный и осознанный выстрел себе в ногу, который не нужен в 99,999...% кода.
| |
|
6.144, Ktoto (?), 14:36, 26/09/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Хм, вчера только прочитал что нельзя в расте получить мутирующую и не мутирующую ссылку на один и тот же объект, таким образом нельзя сделать кольцевые ссылки.
Таким образом даже себе в ногу так не выстрелить :-)))
| |
|
|
|
|
|
|
2.71, Аноним (58), 14:14, 25/03/2019 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +/– |
>Каждый год переписывать всю кодовую базу под новый "модный" язык программирования
Алиса в Зазеркалье:
— У нас, когда долго бежишь, непременно попадаешь в другое место.
— Ну, а здесь, знаешь ли, приходится бежать со всех ног, чтобы только остаться на том же самом месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее.
| |
|
1.119, Константавр (ok), 12:00, 26/03/2019 [ответить] [﹢﹢﹢] [ · · · ] [↑] [к модератору]
| +1 +/– |
Рад за них. Хочу, чтобы у них получилось. Вот только лицензия... Помню несколько проектов под митовской лицензией, которые развивали, взращивали, а потом приходил хитрожопец и создавал форк с некоторыми улучшениями, но уже платную и всё разваливалось. Последнее что помню - Urho3D и его форк на сишарпе с платными плюшками, который в результате тоже стал открытым, но сообщество развалил и автора оригинала обидел. Все эти пермисивные игры...
| |
1.145, Blaze (ok), 18:49, 21/10/2019 [ответить] [﹢﹢﹢] [ · · · ] [к модератору]
| +1 +/– |
Эм Orbital из Redox и другой Orbital это совершенно два разных проекта, просто случайно название совпало и всё.
Тот Orbial https://github.com/giucam/orbital, про который вы написали, и правда работает на Wayland, базируется на её эталонной реализации (Weston) и написан на C++.
Но тот Orbital https://github.com/redox-os/orbital, который в Redox, написан на Rust и использует свои Orb** библиотеки, никаких вейлендов. Не имеет ничего общего с тем Orbital кроме названия и что это композитный оконный диспетчер
Да, иногда бывают такие случайности
| |
|