Re[7]: КОП в linux
От: iZEN СССР  
Дата: 22.06.06 12:41
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Ну и иногда еще ОЧЕНЬ мешает невозможность сделать свою реализацию

C>файлов (я знаю, что можно использовать FUSE на Линуксе, но в общем
C>случае в юниксах эта задача не решается).

Читайте про VFS (виртуальная файловая система) и про интерфейс vnone/vfs, который чётко специфицирует организацию и функционирование любой произвольной файловой системы в UNIX. Это позволяет компонентным подходом решить задачу создания и поддержки собственной файловой системы. Этот интерфейс позволяет работать с любой файловой системой удалённо, по сети, прозрачно для пользователей и их процессов.

Через неё, кстати, "включили" "файловую" систему /proc, описывающую системные процессы, работающие в системе. Через неё приложения могут читать и писать в адресное пространство процессов. Это не pipe и не сокеты, это гораздо быстрее!
Re[16]: КОП в linux
От: Cyberax Марс  
Дата: 22.06.06 12:49
Оценка:
Kolhoz wrote:
> C>Или с кузова были сделаны под размер двигателя.
> Во! Начинаете понимать!
И? Это означает, что если что-то не делать, чтобы оно работало совместно
— то оно совместно работать не будет.

>> > C>Ну так покажите эти GUI. И их пользователей. Какие проблемы?

>> > Зачем? Я уже приводил пример того, что ещё лучше и что общеизвестно.
> C>Какой пример? wxMaxima? Я о нем и не слышал, хотя с учеными часто работаю.
> Wolfram Mathematica. Чистейший unix way в лучших его проявлениях. И с
> прозрачным интерфейсом к OLE2 при этом, только вот, не хватает силёнок у
> OLE для такой мощщи.
OLE на интерфейс вааще пофиг. Он работает с прямоугольниками рисования и
объектами данных. Как их интерпретирует приложение — личное дело самого
приложения.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[8]: КОП в linux
От: Cyberax Марс  
Дата: 22.06.06 12:51
Оценка:
iZEN wrote:
> C>Ну и иногда еще ОЧЕНЬ мешает невозможность сделать свою реализацию
> C>файлов (я знаю, что можно использовать FUSE на Линуксе, но в общем
> C>случае в юниксах эта задача не решается).
> Читайте про VFS (виртуальная файловая система) и про интерфейс
> vnone/vfs, который чётко специфицирует организацию и функционирование
> любой произвольной файловой системы в UNIX.
Еще раз. Вопрос был как мне добавить СВОЮ реализацию файла. И причем не
как драйвер в ядро.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[12]: КОП в linux
От: Cyberax Марс  
Дата: 22.06.06 12:54
Оценка:
Kisloid wrote:
> Вот исходя из того что это есть файл у меня возникает такое смутное
> сомнение что оно будет медленным. Самому их пока не приходилось
> юзать, поэтому и спрашиваю
Смотря для чего. Из моей практики — файлы в tmpfs (файловая система,
оптимизированная под временные файлы) на Linux 2.6 работали гораздо
быстрее, чем pipe'ы для передачи 10-20Кб информации.

Однако pipe'ы очень удобно использовать, если нужно обработать большой
объем информации, так как при этом не нужна временная копия.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[17]: КОП в linux
От: Kolhoz Мухосранск  
Дата: 22.06.06 13:05
Оценка: -2
Здравствуйте, Cyberax, Вы писали:

>> Во! Начинаете понимать!

C>И? Это означает, что если что-то не делать, чтобы оно работало совместно
C>- то оно совместно работать не будет.

Нет. Это означает — сначала сделай хороший двигатель, а потом думай, какой кожей обивать кресла и какого цвета будет стрелка на спидометре.

C>OLE на интерфейс вааще пофиг. Он работает с прямоугольниками рисования и

C>объектами данных. Как их интерпретирует приложение — личное дело самого
C>приложения.

Вот вот. Это и есть — ущербный и ограниченный подход, который не позволяет делать даже самые простейшие вещи (см. пример задачи несколько ранее).
Re[12]: КОП в linux
От: Cyberax Марс  
Дата: 22.06.06 13:09
Оценка:
dmz wrote:
> C>Как через один пайп передать два потока одновременно? Только named
> pipe'ами.
> А оно точно надо? В один поток — точно нельзя? Точно-точно?
В том случае было нельзя. Пришлось писать скрипт, который обрабатывал
эту ситуацию хитрым образом с помощью сигналов.

>> > И? Где трудности? Вставить в пайплайн xslt кто запретил?

> C>А как мне из xslt вызвать файловые операции со сторонними файлами?
> А это уже не поток. Работайте с файлами — но это уже другая история.
> XML вообще формат, не рассчитанный на работу в потоковом стиле.
> Вот хоть что делайте.
Именно. Но тем не менее, с XML замечательно можно работать компонентно:
получаем документ через SOAP, парсим MSXMLем, отдаем DOM-дерево скрипту
и т.п.

Просто это уже другая (неюниксовая) компонентность. Часто намного
более мощная, так как оперирует более мощными примитивами.

То что она более мощная не значит, что она лучше юниксовой модели —
просто у нее область применения другая.

Вот только тут некоторые товарищи считают, что все можно заключить в
прокрустово ложе пайпов и файлов в FS.

> C>COM ведь используется.

> Я так понимаю, COM что бы MSXML дергать? Ну возьмите libxml которая есть в
> питоне — и никакого кома.
Не было под рукой (я бы взял — мне MSXML не нравится). Просто это пример
как могут работать компоненты.

> C>Это я к тому, что Unix-pipes — это далеко не идеал.

> Ничто — не идеал. Гвозди — молотком, шурупы — отверткой. Ы?
Ага.

> Боюсь все эти суровые нереализуемые требования в реале сведутся к требованию

> воткнуть эхельную таблицу в ворд и там ее редактировать. Что в реальной
> жизни и под виндовс умеет крайне мало приложений — например, эхельная таблица в
> Лотус вставляется как картинка. Даже в html или rtf-не конвертируется.
Просто OLE2 — не очень простой для реализации интерфейс (MS, однако).
Его сами оффисные приложения, в основном, и поддерживают.

> С другой стороны, внутри офисных пакетов — и OO и вроде KOffice так умеют.

Умеют, но стабильно стали совсем недавно работать. А вот
inter-оффисность плохо работает

> С третьей стороны и телевизор (kmplayer) у меня вполне встраивается в

> бровзер.
> KParts — и не говорите что не стандарт. В рамках KDE такой-же стандарт,
> как ActiveX в Win.
Да, но этих стандартов много. И друг с другом они не интероперируют
нормально.

> по моему, вам просто хочется разрушить мозг оппонента, уж извините.

"That will just be a completely unintentional side effect" (c) Linus
Torvalds

> Я таки не понял, если рару нужно random access то почему бы ему просто

> не скормить файл? Из какого-то принципа? И чем в данном случае его поведение
> отличается от его поведения под win?
В Win я могу создать IStream (поток с поддержкой seek'а) над своими
данными, и отдать его rar'у (а лучше 7-zip'у).

> Была где-то ссылка на статью, где убедително доказывалось, что KDE — это

> Unix Way в полный рост. Стало быть, не провалились.
Я в KDE постоянно работаю. Не заметно Unix-way

> На самом деле, Unix way это не что иное, как принцип K.I.S.S. И ничего

> более.
Э! Нет. Unix way — это Unix way.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[13]: КОП в linux
От: Cyberax Марс  
Дата: 22.06.06 13:12
Оценка:
eao197 wrote:
> C>Агащазблин. Рассчет 3D-поверхностей и работу с ними вы мне тоже из моего
> C>текущего проекта предлагаете на сервер вынести?
> Это зависит от расчета и от того, что является результатом расчета.
> Может быть его нужно не то что на один сервер, а на отдельный high
> perfomance кластер выносить.
Проблема в том, что результат рассчета часто будет передаваться по сети
дольше, чем считаться.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[13]: КОП в linux
От: Kolhoz Мухосранск  
Дата: 22.06.06 13:14
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Просто это уже другая (неюниксовая) компонентность. Часто намного

C>более мощная, так как оперирует более мощными примитивами.

Опять 5*5... Эта компонентность не более мощная. Она более частная. Она реализуется тривиально поверх примитивов unix way, а вот unix way поверх объектной компонентной модели — нет. Не сравнивайте даже общее решение с частным!

C>Вот только тут некоторые товарищи считают, что все можно заключить в

C>прокрустово ложе пайпов и файлов в FS.

А сокеты как же?

C>В Win я могу создать IStream (поток с поддержкой seek'а) над своими

C>данными, и отдать его rar'у (а лучше 7-zip'у).

И реализован он будет через временный файл. Оно нам надо?
Re[14]: КОП в linux
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 22.06.06 13:15
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Проблема в том, что результат рассчета часто будет передаваться по сети

C>дольше, чем считаться.

А подробнее?
По какой сети?
Какие объемы данных?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[14]: КОП в linux
От: Kolhoz Мухосранск  
Дата: 22.06.06 13:19
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Проблема в том, что результат рассчета часто будет передаваться по сети

C>дольше, чем считаться.

Он не может передаваться сильно дольше чем потребуется на его отображение.
Так что не надо предрассудков. Проверьте сначала. Я вот кроме графики уровня 3D-стрелялок ничего представить не могу, что требовало бы связывать в один контекст логику и отображение. А если таки потребуется — я всё равно unix way применю. Только внутри одного контекста. Не знаете, как? А вот я — знаю. Производительность будет неотличима от производительности прямого вызова API. Завидуете?
Re[15]: КОП в linux
От: Cyberax Марс  
Дата: 22.06.06 14:00
Оценка:
eao197 wrote:
> C>Проблема в том, что результат рассчета часто будет передаваться по сети
> C>дольше, чем считаться.
> А подробнее?
> По какой сети?
100Mbit. Да даже и гигабит не поможет.

> Какие объемы данных?

На входе массив точек — двумерная карта высот. На выходе — треугольная
сетка с индексами для некоторых операций.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[15]: КОП в linux
От: Cyberax Марс  
Дата: 22.06.06 14:24
Оценка:
Kolhoz wrote:
> C>Проблема в том, что результат рассчета часто будет передаваться по сети
> C>дольше, чем считаться.
> Он не может передаваться сильно дольше чем потребуется на его отображение.
Ага.

Размер входной сетки — 5000х5000. Это примерно 20Мб данных (примерно 3
секунды по незагруженной 100Мбит-сети).

На выходе примерно 500Мб информации (данные о треугольниках и индексы в
них).

> Так что не надо предрассудков. Проверьте сначала. Я вот кроме графики

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

> А если таки потребуется — я всё равно unix way применю.

Ага. И изображать данные будете через пайпы. А управлять вращениями
частей — задавая координаты кватернионов из командной строки.

> Только внутри одного контекста. Не знаете, как?

Через пайпы? Так это много ума не надо.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[13]: КОП в linux
От: Cyberax Марс  
Дата: 22.06.06 14:33
Оценка:
FR wrote:
> C>Агащазблин. Рассчет 3D-поверхностей и работу с ними вы мне тоже из моего
> C>текущего проекта предлагаете на сервер вынести?
> Ну формально легко выносится, даже OpenGL именно на этой идеологии построен
Во-первых, отображение сгенерированных данных — это фигня. Залил display
list на сервер — и дальше просто меняешь ему преобразования.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[14]: КОП в linux
От: Cyberax Марс  
Дата: 22.06.06 14:39
Оценка:
Kolhoz wrote:
> C>Просто это уже *другая* (неюниксовая) компонентность. Часто намного
> C>более мощная, так как оперирует более мощными примитивами.
> Опять 5*5... Эта компонентность не более мощная. Она более частная. Она
> реализуется тривиально поверх примитивов unix way, а вот unix way поверх
> объектной компонентной модели — нет. Не сравнивайте даже общее решение с
> частным!
Мальчик, файл и VFS в юниксах — это классический пример объектного
дизайна. VFS — так это вообще textbook example для полиморфизма.

> C>Вот только тут некоторые товарищи считают, что все можно заключить в

> C>прокрустово ложе пайпов и файлов в FS.
> А сокеты как же?
Ой, да я про сокеты забыл. Они ведь все проблемы Вселенной решают.

> C>В Win я могу создать IStream (поток с поддержкой seek'а) над своими

> C>данными, и отдать его rar'у (а лучше 7-zip'у).
> И реализован он будет через временный файл. Оно нам надо?
Нет. Реализован он может быть как угодно. Лично делал IStream поверх
DB-блоба.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[12]: КОП в linux
От: Mamut Швеция http://dmitriid.com
Дата: 22.06.06 14:45
Оценка:
C>>Создается компонент (написанный на С++) и прозрачно используется из
C>>совершенно другого языка (о котором создатель компонента мог и не
C>>догадываться).

K> Какое извращение. Интерфейсы какие-то выдумывать... Гораздо проще — на любом языке создаётся компонент, который знает только про текстовые потоки и аргументы коммандной строки.


Как представлю себе десериализацию из тестового потока в каком-нить С++

Куда как лучше (не без помощи форума COM/DCOM/ActiveX) написать такое (отсылка факса с помощью Symantec WinFax Pro):
ISDKSendPtr send;

send -> SetTo(L"123 45 56");
send -> SetCompany(L"My Company");
send -> SetSubject(L"My Fax");
send -> SetPrintFromApp(TRUE);

/* Печатаем на принтер WinFax*/

send -> Send();


Красота! Считывание пришедших сообщений — в таком же стиле. Ну, COM'овском.
От чего, от чего, от чего тах хорошо?
Потому что кто-то любит программиста
<< RSDN@Home 1.2.0 alpha rev. 647>>


dmitriid.comGitHubLinkedIn
Re[13]: КОП в linux
От: Cyberax Марс  
Дата: 22.06.06 14:53
Оценка: :)
Mamut wrote:
> Как представлю себе десериализацию из тестового потока в каком-нить С++
Сейчас вам скажут, что надо использовать S-выражения, которые еще и
выполняться сами могут
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[16]: КОП в linux
От: Kolhoz Мухосранск  
Дата: 22.06.06 15:00
Оценка:
C>Размер входной сетки — 5000х5000. Это примерно 20Мб данных (примерно 3
C>секунды по незагруженной 100Мбит-сети).

Очень смешно. Все 5000x5000 надо одновременно отобразить? :-O

C>На выходе примерно 500Мб информации (данные о треугольниках и индексы в

C>них).

Значит это ещё не выход.

>> Так что не надо предрассудков. Проверьте сначала. Я вот кроме графики

>> уровня 3D-стрелялок ничего представить не могу, что требовало бы
>> связывать в один контекст логику и отображение.
C>У меня идет обработка данных с измерительных устройств.

И у меня идёт. И что?

>> А если таки потребуется — я всё равно unix way применю.

C>Ага. И изображать данные будете через пайпы. А управлять вращениями
C>частей — задавая координаты кватернионов из командной строки.

Никаких пайпов.

>> Только внутри одного контекста. Не знаете, как?

C>Через пайпы? Так это много ума не надо.

Я же сказал — Внутри. Одного. Контекста. Какие пайпы, блин! Это ОДИН ПРОЦЕСС. С общей памятью. Физически. А логически — две отдельные программы, обменивающиеся сообщениями.
Re[16]: КОП в linux
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 22.06.06 15:02
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Размер входной сетки — 5000х5000. Это примерно 20Мб данных (примерно 3

C>секунды по незагруженной 100Мбит-сети).

C>На выходе примерно 500Мб информации (данные о треугольниках и индексы в

C>них).

А на какой технике и сколько времени это дело обсчитывается? Если не секрет.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[14]: КОП в linux
От: Mamut Швеция http://dmitriid.com
Дата: 22.06.06 15:02
Оценка:
>> Как представлю себе десериализацию из тестового потока в каком-нить С++
C>Сейчас вам скажут, что надо использовать S-выражения, которые еще и
C>выполняться сами могут

Я, в принципе, не против Unix-way. Просто при росте сложности системы, имхо, что-то вроде COM'a начинает рулить намного сильнее, чем попытка связать воедино с десяток разрозненных программ. С другой стороны, десяток разрозненных программ удобны для автоматизации. Сбацал скрипт, их связывающий, повесил на cron и отдыхаешь.
От чего, от чего, от чего тах хорошо?
Потому что кто-то любит программиста
<< RSDN@Home 1.2.0 alpha rev. 647>>


dmitriid.comGitHubLinkedIn
Re[15]: КОП в linux
От: Kolhoz Мухосранск  
Дата: 22.06.06 15:03
Оценка: -4
Здравствуйте, Cyberax, Вы писали:

C>Мальчик, файл и VFS в юниксах — это классический пример объектного

C>дизайна. VFS — так это вообще textbook example для полиморфизма.

Дедушка, эта ваша фраза — типичный пример так называемого передёргивания, каковое является частным случаем так называемой демагогии.

>> И реализован он будет через временный файл. Оно нам надо?

C>Нет. Реализован он может быть как угодно. Лично делал IStream поверх
C>DB-блоба.

Вы специально тормозите? Так это уже не смешно. Какая на фиг разница, файл, блоб, хреноб — главное, что под это нужно физическое пространство. Следовательно — избегать надо подобных приколов, за исключением самых крайних случаев.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.