The OpenNET Project / Index page

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

Представлена операционная система Redox, написанная на языке Rust

07.10.2015 17:06

Представлена новая операционная система Redox, примечательная использованием для разработки языка Rust. Наработки проекта распространяются под свободной лицензией MIT. После сборки систему можно опробовать при помощи VirtualBox или QEMU.

Redox развивается в соответствии с философией Unix и основывается на принципе "все есть URL". Например, для записи в лог может использоваться URL "log://", для взаимодействия между процессами "bus://", для сетевого взаимодействия "tcp://" и т.п. Модули, которые могут быть реализованы в форме драйверов, расширений ядра и пользовательских приложений, могут регистрировать свои обработчики URL, например, можно написать модуль обращения к портам ввода/вывода и привязать его к URL "port_io://", после чего можно использовать его для доступа к 60 порту через открытие URL "port_io://60".

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

Несмотря на то, что система находится на начальной стадии развития, она уже снабжена похожим на X11 графическим интерфейсом, VFS, сетевым стеком, а также снабжена собственным пакетным менеджером оxide и системой инициализации fired. В качестве основной файловой системы планируется использовать ZFS, реализация которой в текущем виде пока не доведена до рабочего состояния.

Система инициализации fired во многом повторяет типичные init-системы, поддерживает параллельный запуск сервисов и зависит только от ядра. Для настройки запуска используются файлы конфигурации на языке Toml вместо скриптов на shell. Сетевая подсистема предоставляет несколько URL для доступа на различных уровнях: "tcp://", "udp://", "ip://", "ethernet://" и "network://". Например, для обращения к 80 порту хоста 10.85.85.1 следует использовать URL "tcp://10.85.85.1/80".

  1. Главная ссылка к новости (http://www.redox-os.org/news/t...)
  2. OpenNews: Выпуск языка программирования Rust 1.3
  3. OpenNews: Проект по созданию варианта СУБД Redis, переписанного на языке Rust
  4. OpenNews: Увидел свет язык программирования Rust 1.0
  5. OpenNews: Многопроцессный режим в ночных сборках Firefox. Тесты производительности Asm.js и движка Servo
  6. OpenNews: Браузерный движок Servo достиг состояния корректного отображения GitHub
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/43105-rust
Ключевые слова: rust, redox
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (86) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 17:08, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Отлично, раст могет! Смущают только области применения этой ОС
     
     
  • 2.3, Аноним (-), 17:15, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    раз всё есть url, значит браузеры планируют поглотить ос. напоминает "стиральную трагедию".
     
     
  • 3.33, Аноним (-), 21:50, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Браузеры уже как несколько лет этим занимаются.
     
  • 2.4, slavius (?), 17:23, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    технически почти где угодно, но юрл.... придется многому учиться))) да и прог маловато. но вот в сетевой принтер запихать наверно ничего или другой embeded.
     
  • 2.11, Нимано (?), 18:11, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Смущают только области применения этой ОС

    just for fun

    https://www.reddit.com/r/rust/comments/3mw67c/i_am_jackpot51_the_writer_of_red
    > When I first saw rust, I asked, could this be used everywhere? I git pulled the repo and saw that it was using
    > libc bindings for system calls! It should be easy enough to get rid of the C bindings altogether, and call the
    > OS directly, which would also be written in Rust.

    Т.е. "увидел раст, решил написать на нем ОСь, вроде получилось".

    > Отлично, раст могет!

    Жду комментариев типа "это не показатель! Наваять игрушечную ОС можно даже на пистоне!"

     
     
  • 3.27, redwolf (ok), 20:18, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    После того, как я увидел, что можно заставить PHP работать на Java-машине, меня уже сложно удивить. Вопрос в том, стоит ли создавать средства, не привязанные к реальным задачам.
     
     
  • 4.34, Аноним (-), 22:00, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А в чем сложность php на JVM?
     
     
  • 5.36, redwolf (ok), 22:15, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А в чем сложность php на JVM?

    Сложности нет. Только разработка требует определённого количества времени, а стоит ли его тратить, если реальных задач, которые требуют данное средство нет?

    Я упомянул этот проект, если что: https://github.com/jphp-compiler/jphp

     
     
  • 6.68, Аноним (-), 08:28, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Только разработка требует определённого количества времени, а стоит ли его тратить, если реальных задач, которые требуют данное средство нет?

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

     
  • 4.53, Нимано (?), 02:35, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вы сравниваете теплое с мягким Раст все таки позиционируется в том числе и ка... большой текст свёрнут, показать
     
  • 4.67, Coocos (?), 08:27, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Вот если бы JVM на PHP...
     
  • 2.35, Aleks Revo (ok), 22:12, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В первую очередь виртуалки — компактная, быстро стартующая система, в которую можно пробросить отдельное железо, работу которого нужно резко оптимизировать, но ради этого не хочется лезть в ядро хоста. Вот давеча новость была - под сетевые карты прикладной софт свои дрова юзал и вообще вводил свой альтернативный сетевой стек. Если под это дело будет хорошая платформа, можем ожидать широкого развития концепции.
     

  • 1.2, amominous (?), 17:09, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Будем посмотреть
     
  • 1.5, Пользователь (?), 17:24, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    На rust операционка, вот это да. Быстрая, как ракета. Интересно, будет ли совместимость с существующим linux софтом?
     
  • 1.6, нонайм (?), 17:25, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    ничосси. оч забавная тема.
     
  • 1.7, lp (??), 17:44, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >основывается на принципе "все есть URL"

    видимо, вдохновлялись Plan9

     
     
  • 2.8, Andrey Mitrofanov (?), 17:46, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • –7 +/
    >>основывается на принципе "все есть URL"
    > видимо, вдохновлялись Plan9

    Сенсация! Учёные обнаружили ОС-ы, где всйио!!!, буквально ФСЁЙО == биты.

     
  • 2.65, Ph0zzy (ok), 07:28, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    почему тогда готовый https://ru.wikipedia.org/wiki/9P не использовать?
     
     
  • 3.91, freehck (ok), 22:09, 15/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Да какая разница, всё одно переписывать на Rust пришлось бы. )
     

  • 1.9, ИнтернетГерой (ok), 17:52, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Объясните пожалуйста, чем отличается экзоядро от микроядра?
     
     
  • 2.14, Anonim (??), 18:38, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    В экзо ядре всё модули, в микро ядре есть некоторые вещи которые включены в само ядро.
     
     
  • 3.21, Аноним (-), 19:12, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Нет. В микроядре всё, кроме самой основы, реализуется как отдельные процессы, а в экзоядре - как библиотеки.
     
     
  • 4.28, ИнтернетГерой (ok), 20:30, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Спасибо за ответ, есть над чем подумать.
     
  • 4.61, Вареник (?), 06:08, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Т.е. ошибкоустойчивости модулей микроядра все равно нет, все выполняется с привилегиями и адресным пространством ядра?
     
     
  • 5.64, Ph0zzy (ok), 07:17, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Выдержка из википедии:

    |Микроядра предоставляют лишь небольшой набор низкоуровневых примитивов/механизмов/компонентов/сервисов/модулей, например:

    |*    механизм для работы со страницами памяти (см. адресация памяти, виртуальная память) (выделение памяти процессам, обеспечение её изоляции/защиты);
    |*    механизм для работы с потоками (нитями) процессов (см. планировщик потоков (англ. scheduling)) (выделение процессорного времени потокам процессов);
    |*    механизм для взаимодействия процессов (англ. inter process communications, IPC) (обход изоляции памяти для организации обмена данными между процессами; реализуется через синхронный обмен сообщениями).

    А вот пример защищенного микроядра:
    https://github.com/seL4/seL4

     

  • 1.10, anonymous (??), 18:04, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Не взлетит. Эпоха новых (десктопных) ОС прошла. Всё упирается в драйвера. А они есть в винде (хуже со старыми, зато ассортимент "современного десктопного" поддерживаемого железа побольше) и в линуксе (лучше с поддержкой древного железа).

    В этом смысле оно не хуже и ни лучше hurd, minix, haiku, syllable и т.п.

    Sad, but true :(

     
     
  • 2.13, Аноним (-), 18:33, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Всё упирается в драйвера.

    От драйверов как раз сейчас ничего не зависит, всюду виртуализация.

     
     
  • 3.15, анон (?), 18:41, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Дваждую. Тут скорее вопрос в том, есть ли реальный профит на фоне Линукса или Виндоуса? Пока, разумеется, нет. Но, возможно, в перспективе есть нечто особо удачное для некоторой схемы использования. Тот же QNX живет и здравствует в разных устройствах. В самолетах имеется Deos, в маршрутизаторах куча специализированных поделок.

     
     
  • 4.17, Аноним (-), 18:44, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Что за Deos?
     
  • 3.19, anonymous (??), 19:01, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Я забыл слово десктоп подчеркнуть. В качестве хост-системы сабж не поставишь (драйвера, 3d-ускорялки, звук), а в качестве гест-системы сабж (и ему подобные) годится только на "запустить, потыкать и удалить".
     
     
  • 4.30, Ан (??), 21:00, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Да что ты так нервничаешь?
    Не взлетит так не взлетит.
    А драйвера и сфера применения это всё дело времени, если заинтересует разработка.
    А то нервничают некоторые будто бы твоё время и деньги на это тратят или заставляют над этим работать.
     
     
  • 5.45, anonymous (??), 22:34, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я не нервничаю, я вангую.

    Разработка ради разработки - такого хватает ;)

     
     
  • 6.51, Ан (??), 00:30, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вот как разработка тут интересно учитывая направленность Rust.
    Мало ли вдруг Rust станет новым C или по крайней мере спровоцирует какое-то изменение в этой сфере.
     
  • 2.76, Ph0zzy (ok), 13:10, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    для микроядерных и экзоядерных ОС новые дрова легче накатывать. они же как внешние сервисы будут работать.
     

  • 1.16, Аноним (-), 18:43, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    мысль интересная, только почему "tcp://10.85.85.1/80" а не "tcp://10.85.85.1:80" ??? нафига ломать сложившиеся форматы?
     
     
  • 2.22, Аноним (-), 19:26, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • –16 +/
    Написано же
    > Redox развивается в соответствии с философией Unix

    А какой же это юникс-вей, если все будет просто и интуитивно?

     
     
  • 3.32, Michael Shigorin (ok), 21:04, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А какой же это юникс-вей, если все будет просто и интуитивно?

    Очередной непопавшийвдрузья, так понимаю.

     
     
  • 4.37, Анончег (?), 22:18, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мишаня, а в чём конкретно мои анонимные братья неправы? Нафига порт слэшем отделять вместо двоеточия?

    На сегодня 80 и 443 порты в браузере никто не пишет, а после первого слэша уже идёт путь, но никак не порт.

    Или это просто опечатался автор статьи?

     
     
  • 5.42, Michael Shigorin (ok), 22:27, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Мишаня, а в чём конкретно мои анонимные братья неправы?

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

    Про схему самому интересно -- с разбегу могу лишь предположить, что по TCP адресации дальше порта нет (хотя... сессии адресовать?), поэтому и решили это подчеркнуть.

     
  • 5.52, Ананимаз (?), 01:48, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Мишаня, а в чём конкретно мои анонимные братья неправы? Нафига порт слэшем
    > отделять вместо двоеточия?
    > На сегодня 80 и 443 порты в браузере никто не пишет, а
    > после первого слэша уже идёт путь, но никак не порт.
    > Или это просто опечатался автор статьи?

    А причем тут браузер вообще? Тут аналогия с путем к файлу

    http://127.0.0.1/80/test.com
    если вдруг запилят разбор уровнем выше. И тут твои привычки и то, как там пишут в браузерах, совершенно не к месту.

     
     
  • 6.57, Аноним (-), 03:32, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если не пишут -  зачем тогда и протокол? Если "всё есть файл",то напоминаю, что в никсах НЕТ структур для чтения/записи файлов. Пишутся только блоки байт произвольной длинны, и ни о каких протоколах открытый fh/сокет понятия не имеет.
     
     
  • 7.62, Вареник (?), 06:11, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Если не пишут -  зачем тогда и протокол? Если "всё есть
    > файл",то напоминаю, что в никсах НЕТ структур для чтения/записи файлов. Пишутся
    > только блоки байт произвольной длинны, и ни о каких протоколах открытый
    > fh/сокет понятия не имеет.

    Да. Это какой-то UnixWay в понимании разработчика форм на JavaScript.

     
  • 2.79, angra (ok), 14:51, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > мысль интересная, только почему "tcp://10.85.85.1/80" а не "tcp://10.85.85.1:80" ???
    > нафига ломать сложившиеся форматы?

    Это более логично, так как порт является спецификой tcp/udp, но в большинстве других протоколов отсутствует. Использование формата с двоеточием было бы сродни буквам дисков в винде вместо единой корневой системы.

     
     
  • 3.83, анином (?), 04:18, 09/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    указание порта в урле, наподобие "http://mysite.com:8081/", соответствует стандарту.
    Так что, "tcp://10.85.85.1/80" - очень даже не логично
     

  • 1.18, Омский линуксоид (ok), 18:49, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Что только не придумают, лишь бы не писать на C.
     
     
  • 2.20, Тот_Самый_Анонимус (?), 19:08, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чего только не придумают, чтобы не жить в Омске, да?
     
     
  • 3.38, Анончег (?), 22:19, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Чего только не придумают, чтобы не жить в Омске, да?

    Сильный аргумент, вряд ли он омским линуксоидам будет по зубам :)

     
  • 2.25, Fyfy (?), 19:55, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А ты сам на С хоть что нибудь написал кроме хеллолуролд?
     
  • 2.29, Аноним (-), 20:56, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты правильно понял.
     

  • 1.23, IZh. (?), 19:39, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А давайте напишем операционку на perl'е -- всё есть regex. ;-)
     
     
  • 2.26, Fyfy (?), 19:59, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше на Java + Groovy для клиентской части :)
     
     
  • 3.39, Анончег (?), 22:21, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Лучше на Java + Groovy для клиентской части :)

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

     
     
  • 4.43, Michael Shigorin (ok), 22:28, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Вношу встречное предложение - лисп, и только он.

    Поставьте уже Emacs и почитайте про Symbolics, что ли. :)

     
     
  • 5.48, Анончег (?), 23:17, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Поставьте уже Emacs и почитайте про Symbolics, что ли. :)

    Emacs поставить! Ну у тебя и шуточки  :)


     
  • 4.56, Fyfy (?), 03:31, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Хм, лисп говоришь сейчас посмотрим... НЕТ ФИГУРНЫХ СКОБОЧЕК??? Фуу это не язык это уг какое то! :D
     
     
  • 5.84, name (??), 06:46, 09/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Clojure бери?
     

  • 1.24, Аноним (24), 19:48, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > и основывается на принципе "все есть URL"

    сделали как в PHP

    http://php.net/manual/ru/wrappers.php

     
     
  • 2.73, Аноним (-), 10:22, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В PHP эта парадигма привела к серьезнейшим дырам в безопасности.
     

  • 1.31, Аноним (-), 21:00, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Как понимаю, ОС написана на расте, значит и может запускать только программы на расте, ведь так? Сложно ли будет добавить поддержку си?
     
     
  • 2.40, Анончег (?), 22:22, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Как понимаю, ОС написана на расте, значит и может запускать только программы
    > на расте, ведь так? Сложно ли будет добавить поддержку си?

    Сишечка не нужна, Она померла, сразу вслед за паночкой.

     
  • 2.41, Aleks Revo (ok), 22:26, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как понимаю, ОС написана на расте, значит и может запускать только программы
    > на расте, ведь так? Сложно ли будет добавить поддержку си?

    С чего бы такое ограничение?
    Какого рода поддержка ожидается для программ на C? JVM? ))

     
  • 2.47, ggg (??), 22:48, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    думаю, есть смысл сюа смотреть: http://kgv.github.io/rust_book_ru/src/ffi.html
     

  • 1.44, Корабельная чумная крыса (?), 22:33, 07/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Низкоуровневые драйвера на Rust? очень смещно!
     
     
  • 2.46, Aleks Revo (ok), 22:39, 07/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Низкоуровневые драйвера на Rust? очень смещно!

    "Очень смещно" в течение нескольких последних версий падающее при попытке загрузки ядро с ошибкой типа null-pointer dereference в одном из драйверов.

     
     
  • 3.54, Корабельная чумная крыса (?), 03:25, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Низкоуровневые драйвера на Rust? очень смещно!
    > "Очень смещно" в течение нескольких последних версий падающее при попытке загрузки ядро
    > с ошибкой типа null-pointer dereference в одном из драйверов.

    Рантайм с собой тягать на каждый чих?

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

    Cишечка опять всех обыграла низким уровнем.

     
     
  • 4.58, bla (??), 03:36, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Рантайм, можно не таскать.
     
  • 3.55, Корабельная чумная крыса (?), 03:30, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Низкоуровневые драйвера на Rust? очень смещно!
    > "Очень смещно" в течение нескольких последних версий падающее при попытке загрузки ядро
    > с ошибкой типа null-pointer dereference в одном из драйверов.

    Это допольнительные расходы ресурсов на проверки null-pointer dereference,

    На C борются с nullptr. В Rus буут бороться с обходом проверки nullptr для повышения эффективности.

     
     
  • 4.59, bla (??), 03:37, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>> Низкоуровневые драйвера на Rust? очень смещно!
    >> "Очень смещно" в течение нескольких последних версий падающее при попытке загрузки ядро
    >> с ошибкой типа null-pointer dereference в одном из драйверов.
    > Это допольнительные расходы ресурсов на проверки null-pointer dereference,
    > На C борются с nullptr. В Rus буут бороться с обходом проверки
    > nullptr для повышения эффективности.

    Проверка nullptr происходит при компиляции

     
     
  • 5.66, абвгдейка (ok), 08:26, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    всех? точно?:)
     
     
  • 6.75, ... (?), 12:45, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    да
     
  • 5.77, angra (ok), 14:43, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Из man malloc:

    The malloc() and calloc() functions return a pointer to the allocated memory that is suitably aligned for any kind of variable.  On error, these functions return NULL.  

    Если ты вдруг не в курсе, эти функции вызываются программой во время исполнения, а не компиляции.

     
     
  • 6.81, Ан (??), 19:36, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ошибки после вызова этих функций это какой-то уже примитив совсем. Гораздо хуже ситуация когда оказывается что в далеке от этих malloc и calloc в силу логики оказывается разыменование нулевого указателя.
     

  • 1.63, Вареник (?), 06:21, 08/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Представлена новая операционная
    > система Redox , примечательная использованием для разработки
    > языка Rust.

    То что в Rust "не позволяет язык" - в С ловится анализаторами и культурой.

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

     
  • 1.69, Аноним (-), 09:04, 08/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>на языке Toml

    А чем их [BA][Z]SH не устроил?
    Или решили, раз уж делать велосипед, то делать его до конца? :D

     
     
  • 2.74, Аноним (-), 12:33, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Так TOML же простой как палка, парсер на Rust уже есть.
     

  • 1.70, Аноним (-), 09:38, 08/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сам Тим Бернерс-Ли сожалеет о двойном слеше, а тут это оправдывают глупостью "все есть URL"...
     
     
  • 2.80, Аноним (-), 16:57, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Двойной слэш после схемы нужен да-а-алеко не во всех схемах. Но автор, видимо, об этом не знает, и даже url вида mailto:somebody@example.com никогда не видел.
     

  • 1.72, Анатолий (??), 09:53, 08/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Братцы, а как вам "Фантом", лично мне нравится идея бессмертия. По сути, если запилить ядро имеющее драйверы, или способное подключать их по надобности и загружать виртуальные машины, вот и среда для работы прикладного софта. Главное, загрузить любую платформу с необходимыми ей элементами. Как я понимаю, нет особой разницы, библиотеки это, или модули. В конечном итоге, всё оно будет всего лишь порядком движения электронов в железном организме. Разница в реализациях мне видится с двух позиций. Логичность и удобство для работы с кодом (язык, идеология, мышление), как средство, с одной стороны. И эффективность при оптимизации ресурсов, как цель, с другой стороны. Важен результат выполненной работы, при наименьших затратах на выполнение. Чем прямее дорога, тем быстрее путь, лишь дорогу проложи. И разнообразие проектов можно только приветствовать, если таковое способствует развитию. Например, результат определённых движений в спортзале - умение правильно падать - может очень пригодиться в жизненной ситуации. Но, лучше, если не пригодится, мы ходим не для того, чтобы падать. Вот причина мертворождённости многих проектов. Они не применяются в жизни. Человечество очень лениво. И, рискуя упасть на скользкой дороге, большинство идут не в спортзал, а скорее домой, к своим телевизорам или к компьютерам с Windows. Редко, но есть предпочитающие к "[xx@xxx ~]$" или к "A:\" добавляя команды, делать свой выбор. В конечном итоге, мы все смотрим на квадрат Малевича...
     
     
  • 2.78, angra (ok), 14:45, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Так вот она какая ЦА Фантом ОС.
     
  • 2.87, Аноним (-), 16:30, 11/10/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    http://lurkmore.to/%D0%A0%D1%83%D1%81%D1&#
     

  • 1.82, Kodir (ok), 03:53, 09/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    "все есть URL"

    Помнится, в 70-ых одни недалёкие товарищи думали, что "всё есть файл" - даже ЮНИКС написали. Оказалось, далеко не всё есть файл и "трубы" - тоже совсем не универсальный инструмент обработки данных.

    Структура URL имеет свою чёткую сетевую ориентированность. На уровне ОС нужна ИЕРАРХИЯ, а не просто "бла-бла://".

     
     
  • 2.86, Нимано (?), 16:15, 09/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Оказалось, далеко не всё есть файл и "трубы"
    > - тоже совсем не универсальный инструмент обработки данных.

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

    > Структура URL имеет свою чёткую сетевую ориентированность. На уровне ОС нужна ИЕРАРХИЯ,
    > а не просто "бла-бла://".

    С:\очередной_не_читатель ?

    https://github.com/redox-os/redox/wiki/URL
    > this is an extension to the Unix-like file hierarchy to hopefully allow for more obvious abstractions.

     
  • 2.88, Аноним (-), 18:22, 12/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > в 70-ых одни недалёкие товарищи думали, что "всё есть файл"

    В 70-х думали и прикинули что любое взаимодействие можно представить через элементарные операции (open, read, write, close) - это интерфейс взаимодействия. Все эти операции работают очень одинаково - выполняются вышеуказанные операции через дескриптор. Дескриптор отображали на файловой системе чтобы можно читать и писать в него используя стандартный набор unix-утилит (cat, split, ar, ..). Но "нео-программистики"-недоосиляторы того времени (как PHP-шники в наше время) глазами видели везде файлы и из-за этого повилась уверенность в том что все есть файл так, хотя это были лишь дескрипторы.

    ЗЫЖ Теперь мы знаем кто вы.

     

  • 1.85, Классический Анонимус (?), 08:33, 09/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Кстати, это идея. Написать с нуля ОСЬ для серверов с изначальным прицелом на то, что будет запускатьсятолько в виртуальном окружении. Тогда вполне можно выстрелить и обогнать Linux. На 100500 дров и графику не тратить время...
     
     
  • 2.89, Аноним (-), 18:24, 12/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    xen

    с разморозкой

     
     
  • 3.90, Классический анонимус (ok), 11:25, 13/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    И? Что-то там сплошняком Linux гоняют внутри, а не специализированную ось.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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