The OpenNET Project / Index page

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



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

Оглавление

Выпуск операционной системы Redox OS 0.5, написанной на язык..., opennews (??), 25-Мрт-19, (0) [смотреть все]

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


13. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  –4 +/
Сообщение от BrainFucker (ok), 25-Мрт-19, 09:19 
И как с их ссылками работать в скриптах, с помощью wgef и curl? В юниксах концепция "всё файлы" была удобна в скриптах особенно. А в чём смысл "всё ссылки" непонятно, будто просто изврат ради изврата.

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

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

14. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +14 +/
Сообщение от Аноним (1), 25-Мрт-19, 09:28 
Предлагаю новую концепцию: всё есть systemd-юниты.
Ответить | Правка | Наверх | Cообщить модератору

57. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +2 +/
Сообщение от Аноним (57), 25-Мрт-19, 13:28 
SystemDOS
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +4 +/
Сообщение от Аноним (15), 25-Мрт-19, 09:34 
Почему ты считаешь, что URL подразумевает HTTP?
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

20. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +/
Сообщение от BrainFucker (ok), 25-Мрт-19, 10:50 
> Почему ты считаешь, что URL подразумевает HTTP?

Где ты там увидел подразумевание? В юниксах можно прочитать файл чем угодно, т.к. читать файлы умеют все. Чем прочитать данные по ссылке типа упомянутого в статье log://? Это поддержку каждого протокола надо добавлять во все утилиты, нафиг такое.

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

42. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +2 +/
Сообщение от KonstantinB (ok), 25-Мрт-19, 12:18 
Если там так же, как в Plan 9, - ничего не надо.

В Plan 9 (откуда они взяли идею) протокол реализуется драйвером, а работаешь ты с таким URL точно так же как с файлом, через стандартные операции ввода-вывода. Точно так же, как в Линуксе сделан procfs.

Какая разница, /var/log/logfile или log://logfile? Принципиально никакой, только драйвер указывается в явном виде.

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

45. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  –5 +/
Сообщение от BrainFucker (ok), 25-Мрт-19, 12:32 
> Точно так же, как в Линуксе сделан procfs.
> Какая разница, /var/log/logfile или log://logfile? Принципиально никакой, только драйвер  указывается в явном виде.

/proc я могу читать чем угодно, хоть веб-браузером, несмотря на то что он на это не был расчитан. А при попытке открыть log:// я получу ошибку о незнакомом протоколе. Вот и вся разница.


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

50. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +3 +/
Сообщение от Аноним (58), 25-Мрт-19, 13:21 
Ты туповат?
Ответить | Правка | Наверх | Cообщить модератору
Часть нити удалена модератором

59. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +/
Сообщение от Аноним (58), 25-Мрт-19, 13:38 
Ошибка, непознанный протокол!
Ответить | Правка | К родителю #121 | Наверх | Cообщить модератору

82. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +/
Сообщение от KonstantinB (ok), 25-Мрт-19, 16:38 
Нет, ты напишешь cat log://logfile и получишь желаемое.
Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

98. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  –2 +/
Сообщение от BrainFucker (ok), 25-Мрт-19, 20:52 
> Нет, ты напишешь cat log://logfile и получишь желаемое.

Но разработчики ОС не осилят пропатчить абсолютно все приложения так чтобы они поддерживали всевозможные протоколы и схемы ссылок. При том что там кто угодно может выдумывать свои принципиально новые ссылки: "можно написать модуль обращения к портам ввода/вывода и привязать его к URL port_io://"

Тут нет ничего похожего на принцип UNIX. Главная суть принципа "всё есть файл" в том что нет необходимости поддерживать для каждой фигни свой протокол, коих могут плодить 100500, достаточно уметь читать/писать файл: https://i.imgur.com/GLs2RjG.png

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

122. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +/
Сообщение от J.L. (?), 26-Мрт-19, 14:39 
>> Нет, ты напишешь cat log://logfile и получишь желаемое.
> Но разработчики ОС не осилят пропатчить абсолютно все приложения так чтобы они
> поддерживали всевозможные протоколы и схемы ссылок.

они пропатчили fopen, и теперь он умеет вызывать обработчики всевозможных протоколов и схем ссылок (предположительно)

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

123. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  –1 +/
Сообщение от X4asd (ok), 26-Мрт-19, 16:08 
а кстати чем это отличается от той ситуации которая сейчас в Linux ?

любая программа может воспользоваться fuse и посути мы получаем в Linux тот же самый принцип "всё есть URL" что и в Redox.

разница только в способе записи пути.

для Redox это "log://logfile"

а для linux это (например) "/run/user/123456/log/logfile"
(где "/run/user/123456/log" замонтирован через fuse)

// P.S.: правда в Linux мы имеем продвинутую систему привелегий, так что любая программа не может замонтировать всё что угодно куда угодно.. интересно, а как это в Redox

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

16. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +2 +/
Сообщение от KonstantinB (ok), 25-Мрт-19, 09:47 
При чем тут HTTP?

Работать примерно так же, как с файлами. Но есть нюанс.

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

С URL это развитие той же идеи со своего рода типизацией: scheme указывает на протокол. Можно все разнообразие свести к некоторому промежуточному универсальному формату и на лету конвертировать одно в другое автоматически. А учитывая, что есть еще и query string, можно варьировать параметрами, специфичными для протокола, безо всяких специальных конструкций.

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

22. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +/
Сообщение от BrainFucker (ok), 25-Мрт-19, 10:52 
> При чем тут HTTP?

Это у вас надо спросить, я его не упоминал. См. предыдущий коммент

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

115. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +1 +/
Сообщение от funny.falcon (?), 26-Мрт-19, 08:50 
"Все есть файл" не значит "текстовый".

В современном unix это значит, можно работать через файловый дескриптор операциями read/write. Но основатели Unix считают, что этого не достаточно.
В ортодоксальном (читай, православном) Plan9 (созданном теми основателями Unix) это означает "ко всему есть доступ через функцию open и путь в файловой системе". В Plan9 и сокеты имеют интерфейс через файлы в файловой системе, и оконная система, и драйверы устройств.

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

96. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +2 +/
Сообщение от Ordu (ok), 25-Мрт-19, 20:03 
Вот так:

cat https://www.opennet.ru/ | iconv -f koi8-r -t utf8 | grep 'align=middle' | sed 's|.*">\(.*\)</a>.*|\1|'

> А ссылки большинство не поддерживает

Я тебе открою секрет: большинство утилит командной строки и имена файлов не поддерживают, они делигируют всю работу с именами файлов ядру.

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

100. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  –5 +/
Сообщение от BrainFucker (ok), 25-Мрт-19, 20:57 
> Я тебе открою секрет: большинство утилит командной строки и имена файлов не
> поддерживают, они делигируют всю работу с именами файлов ядру.

Да, но надо лишь уметь работать с файлами и ты умеешь почти всё. Это главная суть идеи "всё есть файл". А в случае концепции "всё есть ссылка", особенно в их реализации, этого не получится. https://i.imgur.com/GLs2RjG.png
Банально потому что разработчики будут не в состоянии пропатчить всё ПО так чтобы оно поддерживало всевозможные схемы и протоколы URL'ов, тем более там они предлагают любым желающим выдумывать свои какие угодно. Поэтому тут нет ничего якобы "похожего на принцип UNIX, только ссылки вместо файлов". Их концепция не даёт того, что даёт концепция "всё есть файл". Вот я о чём.

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

106. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +5 +/
Сообщение от Ordu (ok), 25-Мрт-19, 23:00 
Зачем патчить всё ПО? Зачем поддерживать какие бы то ни было схемы и протоколы URL'ов?

Приложение поступает с url'ами так же, как с именами файлов, берёт их из командной строки как строку из байт, и засовывает в open(2). Получает взамен файловый дескриптор и работает с ним. Подавляющее большинство утилит из coreutils именно так и делает. Они правда работают на linux'е, а linux'овый open не умеет открывать http, поэтому если ты сделаешь cat https://www.opennet.ru, то ты получишь:

$ cat https://www.opennet.ru
cat: 'https://www.opennet.ru': No such file or directory

Что произошло? Давай глянем?

$ strace cat https://www.opennet.ru
... бла-бла-бла ...
openat(AT_FDCWD, "https://www.opennet.ru", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "cat: ", 5cat: )                    = 5
write(2, "'https://www.opennet.ru'", 24'https://www.opennet.ru') = 24
write(2, ": No such file or directory", 27: No such file or directory) = 27
write(2, "\n", 1
)                       = 1

Видишь вызов openat? Это cat пытался открыть url как файл, запихивая в ядро url. И если бы ядро умело бы обрабатывать схему https://, то это даже могло бы сработать: cat получил бы файловый дескриптор, откуда бы он весело читал бы байтики, и засовывал бы их в stdout, и мы бы увидели содержимое http-странички. То есть, если бы скомпиляли этот cat для redoxos, то он бы там вполне бы мог читать с opennet'а странички, не понимая, что такое https://

> Поэтому тут нет ничего якобы "похожего на принцип UNIX, только ссылки вместо файлов".

Конечно-конечно, как скажешь.

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

108. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +/
Сообщение от BrainFucker (ok), 25-Мрт-19, 23:18 
Хм, ну ок, так действительно вполне возможно что это может работать...

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

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

104. "Выпуск операционной системы Redox OS 0.5, написанной на язык..."  +/
Сообщение от Аноним (102), 25-Мрт-19, 22:29 
>Файлы-то хоть можно прочитать чем угодно, хоть браузером.

И редактировать можно с помощью wwwim :)

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

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

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




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

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