информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Крупный взлом GoDaddy 
 Просроченный сертификат ломает... 
 Phrack #70/0x46 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Вообще сообщения есть в *nix давным-давно - это один из IPC... 29.12.06 21:27  Число просмотров: 2806
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
> Сейчас в линухе есть неплохая тенденция использования новой
> примочки DBUS, шины для локальной доставки сообщений. Вот
> её вообще достаточно для написания софта. И можно сказать,
> для написания операционной системы, где всё основано на
> доставке ообщений -- рулез немерянный -))

Вообще сообщения есть в *nix давным-давно - это один из IPC в UNIX System V (см. man 2 msgrcv). Только они практически полностью были вытеснены пайпами и сокетами, и ими мало кто пользуется.

> Ну давайте про события поговорим. Итак, идёт закачка файла
> WGet'ом. Оно выводит "красивый" CLI прогресс бар. Моей
> программе надо знать о состоянии закачки. Да, возможность
> узнать об этом есть. И она единственная -- парсить самому
> эту "красоту". Занавес.

Парсить... Да зачем же так напрягаться? :) Просто запустить wget в отдельном терминале (окне), и пусть юзер видит все, что там происходит. :))
Если уж очень хочется, чтобы wget сообщения посылал, есть же его исходники, или вместо wget заюзать libcurl.

> В общем, тема флеймообразующая, дальше писать ничего не
> хочу... -))

+1
<operating systems>
Кто что думает по материалам сайта BadVista.org? 26.12.06 18:50   [fly4life]
Автор: The Bonus Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Смысл: Виста - враг пользователя!
http://badvista.fsf.org/
Ребята высказывают своё мнение... Верное, в принципе, так что молодцы, ребята! 27.12.06 11:27  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Речь идет не только об 27.12.06 22:22  
Автор: The Bonus Статус: Незарегистрированный пользователь
Отредактировано 27.12.06 23:13  Количество правок: 2
<"чистая" ссылка>
Речь идет не только об удобстве, функциональности и стабильности системы, а о том, что встроенные функции DRM, обязательной сертификации, и другие "защитные" функции переходят все "разумные" и неразумные границы…
Защита, похоже, работает не для, а от пользователя…
Ну и кому это надо?

Windows Vista. Предсмертная записка?
Windows Vista - это троянский конь по взвинченной цене?
DRM Vista нанесёт вред всей индустрии персональных компьютеров
Мне не придет в голову поставить даже XP 27.12.06 05:28  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Вообще, с точки зрения удобства и возможностей идеал - NT4. Если бы довести ее стабильность до уровня w2k... w2k перегружена никчемными сервисами и всяким "оживляжем", а XP, это уже чистый лохотрон. Что касается сервера, то FreeBSD forewer! ГУИ и сервер - несовместимы.
Зря ты так... Win2k3 SRV тоже неплох. 27.12.06 13:56  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
"Оживляж" в 2003-ем отключен по дефолту.
Остается только постопить ненужные тебе сервисы, поднять нужные и все очень даже неплохо начинает работать.
По поводу GUI - можно попробовать заменить shell на cmd.exe (или вообще как-нибудь умудриться не грузить GUI, а сразу пускать cmd.exe) в полноэкранном режиме и рулить многими вещами из командной строки.

На мой взгляд FreeBSD страдает от отсутствия полноценной реализации DCOM.
ГУИ в мастдае не грузить нельзя ни как. 29.12.06 09:41  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Можно только его не использовать. Но в этом смысла, как раз, нет. Смысл в том, чтобы графическая оболочка грузилась только на период конфигурации, а потом выгружалась полностью и не отнимала ресурсы и не порождала глюки.

Почему я против ГУИ и оживляжа? Да потому, что чем больше кода - тем больше глюков. Сервер должен быть простой, как выстрел. И такой же эффективный.
Сколько ресурсов тратит 2003 на гуи?. 02.01.07 00:54  
Автор: MadBinom Статус: Незарегистрированный пользователь
<"чистая" ссылка>
И в 2003 можно не использовать гуи. А если с фрибсд сравнивать... А чем консоль 2003 хуже?(скажем, монад поставить).
Дело не в ресурсах. 03.01.07 13:52  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
А в неизбежном использовании фрагментов кода, связанного с ГУИ, даже, если его не юзают. Чем больше кода - тем больше вероятность ошибки.
Дык если ГУИ не используется - откуда взяться глюкам с ним связанным? 04.01.07 12:33  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
Проверки-то на "ГУЁвость" все равно, выполняются, 04.01.07 13:56  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Куча функций вызывается, тока, они ничего не делают, но сглючить-то могут!
Маловероятно. 04.01.07 21:42  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
Проверено! 07.01.07 08:31  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Вы не представляете, сколько абсурдных тестов, да еще многократно повторяющих друг друга выполняет мастдайское ядро.
Фонатег -)) 27.12.06 10:44  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
> Вообще, с точки зрения удобства и возможностей идеал - NT4.
Мне она тож нравилась... А некоторые даже не знают, что это такое, ибо рулила тогда непомерно Win98 -))

> Если бы довести ее стабильность до уровня w2k... w2k
> перегружена никчемными сервисами и всяким "оживляжем", а
Ну всё это отключается... Отличная система, без разговоров... Только скоро её поддерживать перестанут... И хрен с ней, с M$, но вот дрова/свежий софт...

> XP, это уже чистый лохотрон.
Согласен...

> Что касается сервера, то FreeBSD forewer! ГУИ и сервер - несовместимы.
Гуй не хуже, и всё там совместимо, просто он другой -))
А плохо то, что текстовый интерфейс берётся за основу, т.е. напишут, к примеру, клёвую утилиту типа wget, и командная страка там в него намертво "вживлена". А для того, чтобы заюзать его функции, скажем из своей программы, надо вникать в его весьма sophisticated набор ключей...
Нужна другая парадигма, типа model-view-presenter, что ли, и всё это достаточно независимое друг от друга и проксируемое. Т.е. чтобы тот же wget можно было запустить хоть CLI, хоть GUI, а хошь на другом компе.

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

Да-да, представьте себе тот же Photoshop, но только запустить его можно на серваке с ксеонами, для batch конверсии терабайта фоток, а CLI юзать для индикации прогресса -))
Re: Фонатег -)) 28.12.06 19:05  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
> > Что касается сервера, то FreeBSD forewer! ГУИ и сервер
> - несовместимы.

> Гуй не хуже, и всё там совместимо, просто он другой -))
> А плохо то, что текстовый интерфейс берётся за основу, т.е.
> напишут, к примеру, клёвую утилиту типа wget, и командная
> страка там в него намертво "вживлена". А для того, чтобы
> заюзать его функции, скажем из своей программы, надо
> вникать в его весьма sophisticated набор ключей...

Ориентация программы на текстовые потоки - это не плохо :)
Это в первую очередь удобный и прозрачный способ для взаимодействия программ между собой (можно вызывать их из своих программ, связывать их в конвейер, передавая вывод одной команды на вход другой, и т.д.), и лишь во вторую очередь - это пользовательский интерфейс (возможно, не самый удобный). Традиционно в *nix выше ценится первое, чем второе. Так уж сложилось :)
Зато поверх CLI легко можно реализовать любой интерфейс - для того же wget есть GUI frontend-ы.

В виндах еще смешнее - напишут, к примеру, клёвую утилиту типа FlashGet, и GUI там в него намертво "вживлен". И заюзать его из своей программы либо вообще нереально, либо (если разработчики позаботились и предоставили COM-интерфейс, что не всегда бывает), приходиться вникать в COM, который уж гораздо более sophisticated, чем набор опций командной строки :)

> Нужна другая парадигма, типа model-view-presenter, что ли,
> и всё это достаточно независимое друг от друга и
> проксируемое. Т.е. чтобы тот же wget можно было запустить
> хоть CLI, хоть GUI, а хошь на другом компе.

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

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

> Да-да, представьте себе тот же Photoshop, но только
> запустить его можно на серваке с ксеонами, для batch
> конверсии терабайта фоток, а CLI юзать для индикации
> прогресса -))

Красота! Если надо обработать в batch-режиме терабайт фоток в Фотошопе - то лучше ничего и не придумаешь :)
[Updated] Я опять же повторюсь -- _пользовательские_ интерфейcы не хороши для надстраивания и оперирования ими -- хоть CLI, хоть GUI. 29.12.06 10:07  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 29.12.06 10:49  Количество правок: 3
<"чистая" ссылка>
> > А плохо то, что текстовый интерфейс берётся за основу,
> Ориентация программы на текстовые потоки - это не плохо :)
Это -- меньшее зло. Но зло! -))
Сейчас в линухе есть неплохая тенденция использования новой примочки DBUS, шины для локальной доставки сообщений. Вот её вообще достаточно для написания софта. И можно сказать, для написания операционной системы, где всё основано на доставке ообщений -- рулез немерянный -))

> Это в первую очередь удобный и прозрачный способ для
> взаимодействия программ между собой (можно вызывать их из
> своих программ, связывать их в конвейер, передавая вывод
> одной команды на вход другой, и т.д.), и лишь во вторую
> очередь - это пользовательский интерфейс (возможно, не
> самый удобный). Традиционно в *nix выше ценится первое, чем
> второе. Так уж сложилось :)
Нда... Вот что значит сила привычки, своя трава самая удобная и прозрачная и забористее -)).
В текстовых потоках мультиплексируется канал управления и канал данных, причём в каждой программе таким способом, на какой хватило фантазии разработчика. Полоса пропускания тоже -- для двоичных данных приходится всё это кодировать дабы втиснуть в существующие ограничения. Одному нравится BASE64. Кому-то что-то другое. И т.д, и т.п...

Вопрос: нафига частную реализацию IPC применять как основу? А я скажу вам, почему так получилось. Патамушта C и UNIX. -))

Запустите Dolphin SmallTalk X6, к примеру... Маленькая виртуальная машина, призванная заниматься одним — максимально быстро создавать объекты, и передавать им сообщения... Чистый интерпретатор...
Нетипизированный. О Боже!!! А как же т.н безопасность? Безопасность, её никогда нет, на самом деле. Адептов переносимого ассемблера заботит не "безопасность", а чтобы ихний процес не прибивался осью от неверных параметров. Или чтобы оперативная память процесса не покорёжилась от неправильной работы с указателями... Если что-то не нравится (неверные параметры), но они объективно существуют, то стыдно прятать голову в песок, вводя ограничения в язык!
Cуществуют "неверные" параметры. Кому неверные? Когда неверные? Это всё субъективно достаточно... Все параметры чудесны -)) Сегодня они неверные, а завтра... Кто знает? Нельзя "всеведение" вводить в программирование, этим утрачивается гибкость изменений. А всё течёт, всё изменяется...

SmallTalk может передать какое угодно сообщение какому угодно объекту или классу... Не падает, не переполняется... Просто работает, и всё... На моей машине считает факториал 10000 за ~180 миллисекунд, без плясок с бубнами подключения библиотек работы с большими числами... Причём сама процедура вычисления факториала -- тоже интерпретируемая.
factorial2p
	"Private - 2-partition fast factorial algorithm from 'Fast Computation of Factorials of Numbers',
	Thompson & Ugur."

	| x0 x1 x2 |
	self < 2 ifTrue: [^self < 0 ifTrue: [self error: 'negative factorial'] ifFalse: [1]].
	x0 := 2.
	x1 := 10.
	x2 := x0.
	self // 2 - 1 timesRepeat: 
			[x0 := x0 + x1.
			x1 := x1 + 8.
			x2 := x2 * x0].
	self odd ifTrue: [x2 := x2 * self].
	^x2

---


Чем больше я смотрю на SmallTalk, тем сильнее я ненавижу C/C++ с юниксом и вендами, интерпретируемые среды, ну может быть с вкраплениями "переносимого ассемблера" — это то, чем должны были стать операционные системы, но не стали. Аминь.

И есть поле для развития -- к примеру, во время простоя система может заниматься компилированием тех своих участков, которые давно не менялись, и место есть для машкода. Сам язык... В свое время кое-кому показалось, что SmallTalk недостаточно "чист", и фонатеги чистоты занялись разработкой языка Self... Были интересные наработки... потом эти товарищи ушли в Sun Microsystems -))

> Зато поверх CLI легко можно реализовать любой интерфейс -
> для того же wget есть GUI frontend-ы.
Ну давайте про события поговорим. Итак, идёт закачка файла WGet'ом. Оно выводит "красивый" CLI прогресс бар. Моей программе надо знать о состоянии закачки. Да, возможность узнать об этом есть. И она единственная -- парсить самому эту "красоту". Занавес.

В общем, тема флеймообразующая, дальше писать ничего не хочу... -))

[UPDATE]
К чему я это всё? Дабы не было оффтопиком, скажу, что открытые системы типа SmallTalk никогда не будут на службе у корпораций типа M$, им не нужна открытость. Ну и поделом им. Пуcть эти чудесные системы останутся на службе у тех, кто ценит их, оставляя траходром тем, кто его пытается навязать.
[/UPDATE]

Бесплатный Dolphin Smalltalk X6 Community Edition
Вообще сообщения есть в *nix давным-давно - это один из IPC... 29.12.06 21:27  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
> Сейчас в линухе есть неплохая тенденция использования новой
> примочки DBUS, шины для локальной доставки сообщений. Вот
> её вообще достаточно для написания софта. И можно сказать,
> для написания операционной системы, где всё основано на
> доставке ообщений -- рулез немерянный -))

Вообще сообщения есть в *nix давным-давно - это один из IPC в UNIX System V (см. man 2 msgrcv). Только они практически полностью были вытеснены пайпами и сокетами, и ими мало кто пользуется.

> Ну давайте про события поговорим. Итак, идёт закачка файла
> WGet'ом. Оно выводит "красивый" CLI прогресс бар. Моей
> программе надо знать о состоянии закачки. Да, возможность
> узнать об этом есть. И она единственная -- парсить самому
> эту "красоту". Занавес.

Парсить... Да зачем же так напрягаться? :) Просто запустить wget в отдельном терминале (окне), и пусть юзер видит все, что там происходит. :))
Если уж очень хочется, чтобы wget сообщения посылал, есть же его исходники, или вместо wget заюзать libcurl.

> В общем, тема флеймообразующая, дальше писать ничего не
> хочу... -))

+1
Фонатег :-) 29.12.06 17:27  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> > > А плохо то, что текстовый интерфейс берётся за
> основу,
> > Ориентация программы на текстовые потоки - это не
> плохо :)
> Это -- меньшее зло. Но зло! -))

Согласен с тем, что зло, но не согласен, что меньшее. GUI совершенно не обязан предоставлять другим разработчикам средства для общения со своим ядром. Более того, как уже было упомянуто, для этих целей есть COM - и пиши хоть на JScript, хоть на VBScript, хоть на перле хоть на питоне. Да вообще на чем хочешь, из того, что умеет общаться с Windows Scripting.

Что же до того, что COM видите ли еще сложнее, чем сотня-другая ключей. Так с ключами то вынуждают общаться ВСЕХ (и казуал юзеров в том числе), а с COM-ом приходится работать только девелоперам - им за это деньги платят.

> её вообще достаточно для написания софта. И можно сказать,
> для написания операционной системы, где всё основано на
> доставке ообщений -- рулез немерянный -))

Человек, научившийся держать молоток, в любой проблеме видит гвозди. Вон в винде LPC и пайпы (которые можно использовать в Message Mode) есть с незапамятных времен. И таки хто ими пользуется?

> Нда... Вот что значит сила привычки, своя трава самая
> удобная и прозрачная и забористее -)).

Вот вот. Твой текст говорит о том же :-)

> В текстовых потоках мультиплексируется канал управления и
> канал данных, причём в каждой программе таким способом, на [skipped]

Ага. Согласен - не надо затычек во все дыры.

> Вопрос: нафига частную реализацию IPC применять как основу?
> А я скажу вам, почему так получилось. Патамушта C и UNIX.
> -))

Си с пайпами не связан вообще никак (их даже в stdlib нет). Это все POSIX. Таки да, виноват *NIX

> Запустите Dolphin SmallTalk X6, к примеру... Маленькая
> виртуальная машина, призванная заниматься одним —


> максимально быстро создавать объекты, и передавать им
> сообщения... Чистый интерпретатор...
> Нетипизированный. О Боже!!! А как же т.н безопасность?
> Безопасность, её никогда нет, на самом деле. Адептов
> переносимого ассемблера заботит не "безопасность", а чтобы
> ихний процес не прибивался осью от неверных параметров. Или
> чтобы оперативная память процесса не покорёжилась от
> неправильной работы с указателями... Если что-то не

Не это. Эффективность. Как по скорости так и по памяти. Типизация - избыточность, необходимая для более простого выявления ошибок, которая не приводит к оверхедам.

> нравится (неверные параметры), но они объективно
> существуют, то стыдно прятать голову в песок, вводя
> ограничения в язык!

Никто не прячет.

> Cуществуют "неверные" параметры. Кому неверные? Когда
> неверные? Это всё субъективно достаточно... Все параметры
> чудесны -)) Сегодня они неверные, а завтра... Кто знает?
> Нельзя "всеведение" вводить в программирование, этим
> утрачивается гибкость изменений. А всё течёт, всё
> изменяется...

Runtime checks? Ню ню. Желаю тебе поработать в системе, где все написано в пропагандируемом тобой стиле.

> SmallTalk может передать какое угодно сообщение какому
> угодно объекту или классу... Не падает, не переполняется...
> Просто работает, и всё... На моей машине считает факториал
> 10000 за ~180 миллисекунд, без плясок с бубнами подключения
> библиотек работы с большими числами... Причём сама

Это всего лишь значит, что она уже подключена. Можешь использовать плюсовые обертки вокруг GMP и тоже не надо плясок с бубнами. Вот только скорость будет на порядок-два выше. Да и памяти скорее всего будет жрать поменьше.

> Чем больше я смотрю на SmallTalk, тем сильнее я ненавижу
> C/C++ с юниксом и вендами, интерпретируемые среды, ну может

Ты ж их вроде не знаешь :-P
Не читал, но осуждаю? Или ты свой делфийский экспириенс проектируешь на все остальные процедурные языки? :-)

> быть с вкраплениями "переносимого ассемблера" — это то, чем
> должны были стать операционные системы, но не стали. Аминь.

Нет. Не должны были и не дай бог станут.

> И есть поле для развития -- к примеру, во время простоя
> система может заниматься компилированием тех своих
> участков, которые давно не менялись, и место есть для
> машкода. Сам язык... В свое время кое-кому показалось, что
> SmallTalk недостаточно "чист", и фонатеги чистоты занялись
> разработкой языка Self... Были интересные наработки...
> потом эти товарищи ушли в Sun Microsystems -))

Ты о strongtalk? Он уже полностью open source.

> Ну давайте про события поговорим. Итак, идёт закачка файла
> WGet'ом. Оно выводит "красивый" CLI прогресс бар. Моей
> программе надо знать о состоянии закачки. Да, возможность
> узнать об этом есть. И она единственная -- парсить самому
> эту "красоту". Занавес.

Ага.

> В общем, тема флеймообразующая, дальше писать ничего не
> хочу... -))
>
> [UPDATE]
> К чему я это всё? Дабы не было оффтопиком, скажу, что
> открытые системы типа SmallTalk никогда не будут на службе
> у корпораций типа M$, им не нужна открытость. Ну и поделом

При чем здесь открытость? Просто для красного словца, чтобы конспирологии побольше.

> им. Пуcть эти чудесные системы останутся на службе у тех,
> кто ценит их, оставляя траходром тем, кто его пытается
> навязать.
> [/UPDATE]

Фонатег. :-)
Надо свести тебя с каким нибудь адептом haskel/ocaml - выйдет забавная дискусия :-)

К чему это я все? Пока чудо язык находится в своей нише и используется исключительно энтузиастами, все очень замечательно и радужно. Как только к этим энтузиастам начинают прислушиваться и пихать их любовь куда надо и куда не надо - вот тут и наступает прозрение. Показательна история с джава. Я еще помню времена, когда о джаве говорили как об убийце C/C++, сейчас скромненько рассказывают о незаменимости в enterprise-приложениях (что это и почему нельзя на плюсах?) и удобстве кооперативной веб разработки на JSP (ну там конкурентов полно и руби и питон и даже асп, но они и не пытались позиционироваться как универсальные языки "Для всего").

PS: Я ни в коем случае не хочу обидеть утконосов... В смысле нежно люблю и смолтолк, и питон, и clos с хаскелем. Просто потому, что знание многих парадигм помогает мыслить шире (в частности сейчас даже при написании Plain C-шных проектов я их проектирую как OO + Design Patterns), но в качестве универсальной затычки во все дыры на сегодняшний момент лучше всего подходят плюсы. Лучше всего означает не то, что проблем нет вообще, а то, что альтернативы, как только вылазят из своих ниш на поле универсальности, становятся еще хуже.
Последние три абзаца - золотые слова, готов подписаться. 29.12.06 17:33  
Автор: leo <Леонид Юрьев> Статус: Elderman
<"чистая" ссылка>
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2021 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach