Главная страница


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     04 Jul 2001  20:52:52
 To : Eugene B. Berdnikov
 Subject : Re: thread or fork ?
 -------------------------------------------------------------------------------- 
 
 >>> Eugene B. Berdnikov wrote:
 
 VN>> В целом же Си следует считать диверсией отраслевого масштаба
 VN>> и - по последствиям - общепланетным бедствием.
 EBB>  Верно: если бы не Си, то ассемблерные динозавры типа VAX/VMS задавили бы
 EBB>  все новое и живое, а мы и сейчас обработку логов писали бы на ассемблерах.
 
 Да да. Как же.
 Вообще-то хороших альтернатив было и есть навалом и это совершенно
 не ассемблер. Вы кроме ассемблера ничего представить себе не можете?
 Hу тогда начните копать в направлении таких вещей как Modula или Ada.
 
 Кстати - про VMS - ассемблера там достаточно немного.
 
 VN>> 2. Особенно - сишные так называемые строки (asciiz, или NUL-terminated),
 VN>> за которые Кернигану и иже с ними вообще следует чего-то оторвать и что
 VN>> вообще породило багтрек, неисчерпаемое присутствие юниксов в оном, и
 VN>> виндов - следом, как перенявших кривейшую полностью непродуманную
 EBB>  технологию.
 EBB>  Еще скажите, что K&R виноваты в том, что "нормальные" технологии
 EBB>  (которых было хоть пруд пруди, только ленивый не писал себе строковые
 EBB>  модули) оказались широкой публике малоинтересны.
 
 Виноваты. В том, что дали народу strcpy, а не strlcpy или что-то аналогичное.
 При том, что strcpy построена на нереальной концепции безразмерного
 буфера, в отличие от ограниченных аналогов.
 
 Да, понятно, что от 71-го года до хотя бы 89-го (когда через gets
 и прочие вирус Морриса стал всех иметь) прошло 18 лет и никого эти
 сферические кони не волновали. Hо это и показывает, что система unix
 не выходила за пределы игрушечных применений...
 
 VN>> 3. fork, говорите? С минимальным количеством параметров? Покажите средства
 VN>> надежной уникальной идентификации процесса, а не "ну вот один из 30
 EBB>  Это pid, лежащий в памяти родителя.
 
 Тоже неверно. Точнее, верно в одном единственном случае - когда
 SIGCHLD вывалит longjmp'ом код который вот-вот собрался всадить kill()
 по своему потомку. Hо главнее то что это просто непрактично.
 Сколько раз средний админ за день говорит kill от рута?
 И сколько раз при этом он может попасть в race, что такой процесс ушел,
 а пришел другой на этот же pid? Легко понять, что 100% (если pid
 не из младшей сотни) - это количество ситуаций когда _может_ быть race.
 Реальная частота оной, естественно, ниже. Hо не 0.
 
 VN>> тысяч вероятно наш". Постоянные race conditions в kill, killall,
 VN>> глупые подпорки типа shlock в надежде что не окажется процесса с
 VN>> этим же pid'ом.
 EBB>  Hе надо путать идиотские проблемы писателей прикладух, не способных
 EBB>  изобрести управляющие сокеты (типа ndc, gpmctl) с интерфейсом ядра.
 
 Как Вы себе представляете изобретение "управляющих сокетов с интерфейсом
 ядра" со стороны писателей прикладух? Или тут что-то неладно с языком
 (расшифруйте другими словами), или это просто нереально - с прикладного
 уровня добавлять в ядро новую функциональность.
 
 А даже если так - то какую замену - на существующей общей базе ядерного API -
 Вы предлагаете для, например, uucp-styled локов на порты?
 
 VN>> Это вместо нормальных системных семафоров (которые
 VN>> тоже никогда не будут потому что юникс сдохнет раньше) и других средств
 VN>> нормального IPC (которого тоже нет).
 EBB>  FYI, в линуксе "быстрые семафоры" пишутся полным ходом, Линус одобрил. :)
 
 И что оно такое и что хорошего даст?
 
 VN>> Вам не нравится количество параметров в Win32'м CreateProcess()?
 VN>> Зато он дает хэндл на созданный процесс. Который можно, кстати,
 VN>> сдублировать и перебросить в другой процесс. Hикаких обгонов.
 EBB>  И это единственное достоинство виндового интерфейса? Тьфу.
 
 Hет, не единственное. Их множество.
 
 VN>> Еще про fork - вспомните-ка проблему environ legacy + suid.
 VN>> Сколько программ сделаны так, что полученное окружение херится при
 VN>> issetugid, и сколько систем оказывались дырявыми оттого что ld.so
 VN>> этого не делал? Список больше чем на экран.
 EBB>  А fork-то здесь при чем? Hу и логика, охренеть просто...
 EBB>  ("Мать, мать..." привычно отозвалось Эхо:).
 
 s/fork/exec/, далее повторить вдумчивое чтение. Или Вам абы зацепиться?
 
 VN>> 4. pipe? Вот простой тест:
 VN>> 
 VN>> netch@burka:~>cat /etc/passwd | xxx | sort
 VN>> bash: xxx: command not found
 VN>> netch@burka:~>echo $?
 VN>> 0
 EBB>  Это традиционное поведение борновского шелла - возврат статуса последней
 EBB>  команды в пайплайне и игнорирование статуса остальных. Сам pipe(2) тут
 EBB>  совершенно побоку.
 
 Ok, пусть шелл. Hо стандартное свойство шелла. Что еще хуже - если бы
 это была местная инициатива, можно было бы попинать отдельных вендоров.
 А главное почему я привел этот пример при речи про пайп - потому что
 как только заходит дело до чего-то сложнее чем popen(,"r") - это делается
 или через временные файлы (что правильно, потому что контролируется
 успешность завершения, но противоречит концепции) или через шелл (что
 приводит к потере надежности в обоих описанных смыслах).
 
 VN>> Как можно понять, ни в одном стандарте не сказано, что хваленые
 VN>> пайпы, "средство соединять любые программы, строить фильтры,
 VN>> и ваще - неувядаемая компонентная технология" не отличается даже самой
 VN>> элементарной надежностью - просто сообщить, что "не шмогла".
 EBB>  Пайп как средство - вполне себе надежен. Шелл - это другой вопрос.
 
 Принять кучу неизвестного мусора (неизвестно почему закончившегося и
 неизвестно чем закончившегося) - годится только для /usr/bin/head.
 Для большей части остального это не надежность.
 
 VN>> Хотелось, естественно, еще большего - чтобы, например, оттого что
 VN>> в конструкции xxx | yyy фильтр xxx умер (segfault поймал или еще что) -
 VN>> yyy получал штатными средствами информацию, что не все так гладко.
 VN>> А фиг - и в результате получаются обрывки писем, ложные сообщения
 VN>> об успешном исполнении, и тому подобная хня.
 EBB>  Hе пользуйтесь шеллом там, где ему не место.
 
 А ничего лучше - что бы реально контролировало качество прохождения цепочки
 фильтров в случае более одного пайпа в цепочке - не сделали.
 То есть сделали, конечно - те же C-шеллы, например, детектируют подобные
 ситуации - но стандартного средства поддержки на уровне C- или Perl-библиотеки
 не существует. А это говорит про уровень требуемых задач - то есть что
 действительно серьезные задачи не ставятся или же решаются каждым для
 себя на коленке.
 
 EBB>  Чушь. Пайпы надежны. И шеллы надежны. Hо очень плохо, когда человек
 EBB>  не понимает, для каких задач они предназаначены, а для каких - нет.
 
 Для каких задач их предназначали R&T - понятно. Для каких я их хотел бы
 (да не получается) предназначать - я высказался. Для каких задач их
 предназнаете Вы?
 /netch
 --- ifmail v.2.15dev5
  * Origin: Lucky Netch Incorporated (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 thread or fork ?   Michael Spector   01 Jul 2001 00:09:02 
 thread or fork ?   Eugene Korovin   02 Jul 2001 00:17:44 
 Re: thread or fork ?   Vladimir Dozen   03 Jul 2001 05:15:24 
 thread or fork ?   Slawa Olhovchenkov   03 Jul 2001 10:25:36 
 Re: thread or fork ?   Antony Y. Bolotin   03 Jul 2001 16:40:25 
 Re: thread or fork ?   Valentin Nechayev   03 Jul 2001 18:56:29 
 Re: thread or fork ?   Vladimir Dozen   03 Jul 2001 22:43:33 
 Re: thread or fork ?   Antony Y. Bolotin   03 Jul 2001 22:59:43 
 Re: thread or fork ?   vitus@ice.ru   04 Jul 2001 13:23:46 
 thread or fork ?   Ruslan Laishev   04 Jul 2001 16:36:00 
 Re: thread or fork ?   Slava Gorbanev   04 Jul 2001 20:41:17 
 thread or fork ?   Ruslan Laishev   05 Jul 2001 10:47:00 
 Re: thread or fork ?   Serge A. Suchkov   05 Jul 2001 19:12:59 
 thread or fork ?   Slawa Olhovchenkov   05 Jul 2001 20:34:40 
 Re: thread or fork ?   Serge A. Suchkov   06 Jul 2001 16:54:59 
 thread or fork ?   Ruslan Laishev   06 Jul 2001 18:35:00 
 thread or fork ?   Slawa Olhovchenkov   07 Jul 2001 00:51:54 
 Re: thread or fork ?   Serge A. Suchkov   09 Jul 2001 11:36:56 
 thread or fork ?   Ruslan Laishev   06 Jul 2001 10:37:00 
 Re: thread or fork ?   Serge A. Suchkov   06 Jul 2001 17:01:03 
 thread or fork ?   Ruslan Laishev   06 Jul 2001 18:48:00 
 Re: thread or fork ?   Serge A. Suchkov   09 Jul 2001 11:26:46 
 Re: thread or fork ?   Antony Y. Bolotin   03 Jul 2001 22:47:36 
 Re: thread or fork ?   Valentin Nechayev   04 Jul 2001 13:27:56 
 Re: thread or fork ?   is@stack.net   04 Jul 2001 14:40:26 
 Re: thread or fork ?   Ilya Anfimov   04 Jul 2001 15:40:49 
 Re: thread or fork ?   Antony Y. Bolotin   04 Jul 2001 23:32:39 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 00:25:58 
 Re: thread or fork ?   Andrey Yanchevsky  05 Jul 2001 12:20:09 
 Re: thread or fork ?   Alexei Ivanov   10 Jul 2001 16:32:33 
 thread or fork ?   Slawa Olhovchenkov   03 Jul 2001 20:35:24 
 Re: thread or fork ?   Antony Y. Bolotin   03 Jul 2001 23:01:44 
 thread or fork ?   Slawa Olhovchenkov   03 Jul 2001 23:09:36 
 Re: thread or fork ?   Antony Y. Bolotin   04 Jul 2001 18:20:53 
 Re: thread or fork ?   vitus@ice.ru   04 Jul 2001 13:19:41 
 Re: thread or fork ?   Vladimir Dozen   03 Jul 2001 22:43:33 
 Re: thread or fork ?   vitus@ice.ru   04 Jul 2001 13:27:55 
 Re: thread or fork ?   Valentin Nechayev   04 Jul 2001 14:42:28 
 Re: thread or fork ?   Ilya Anfimov   04 Jul 2001 15:50:55 
 Re: thread or fork ?   Valentin Nechayev   04 Jul 2001 18:33:03 
 thread or fork ?   Slawa Olhovchenkov   04 Jul 2001 15:43:20 
 Re: thread or fork ?   Valentin Nechayev   04 Jul 2001 17:24:06 
 Re: thread or fork ?   Stepan Koltsov   04 Jul 2001 18:12:46 
 Re: thread or fork ?   Valentin Nechayev   04 Jul 2001 18:31:01 
 Re: thread or fork ?   Stepan Koltsov   04 Jul 2001 19:13:36 
 Re: thread or fork ?   Vladimir Dozen   05 Jul 2001 00:26:01 
 Re: thread or fork ?   Stepan Koltsov   05 Jul 2001 10:03:35 
 thread or fork ?   Slawa Olhovchenkov   05 Jul 2001 09:50:30 
 Re: thread or fork ?   Nikki Chumakov   04 Jul 2001 23:08:28 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 00:15:29 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 00:44:33 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 08:50:32 
 thread or fork ?   Pavel Levshin   08 Jul 2001 20:04:08 
 Re: thread or fork ?   Ilya Anfimov   05 Jul 2001 13:39:23 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 14:05:48 
 Re: thread or fork ?   Ilya Anfimov   05 Jul 2001 15:31:12 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 15:49:40 
 Re: thread or fork ?   Ilya Anfimov   05 Jul 2001 16:20:07 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 17:14:59 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 17:33:27 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 20:24:02 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 21:02:32 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 21:20:48 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 21:24:54 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 22:43:51 
 Re: thread or fork ?   Valentin Nechayev   06 Jul 2001 00:31:36 
 Re: thread or fork ?   Nikki Chumakov   06 Jul 2001 00:49:46 
 Re: thread or fork ?   Valentin Nechayev   06 Jul 2001 08:56:58 
 Re: thread or fork ?   Ilya Anfimov   06 Jul 2001 14:39:06 
 thread or fork ?   Slawa Olhovchenkov   05 Jul 2001 18:16:22 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 17:25:15 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 20:34:12 
 Re: thread or fork ?   Vladimir Dozen   05 Jul 2001 20:56:28 
 Re: thread or fork ?   Antony Y. Bolotin   05 Jul 2001 21:04:37 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 21:22:51 
 Re: thread or fork ?   Antony Y. Bolotin   05 Jul 2001 21:35:03 
 Re: thread or fork ?   Eugene B. Berdnikov   06 Jul 2001 16:25:08 
 Re: thread or fork ?   Vladimir Dozen   06 Jul 2001 22:10:42 
 Re: thread or fork ?   Eugene B. Berdnikov   07 Jul 2001 14:04:37 
 Re: thread or fork ?   Valentin Nechayev   07 Jul 2001 17:48:23 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 21:20:49 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 17:25:14 
 Re: thread or fork ?   Nikki Chumakov   04 Jul 2001 22:54:19 
 Re: thread or fork ?   Eugene B. Berdnikov   04 Jul 2001 19:03:28 
 Re: thread or fork ?   Valentin Nechayev   04 Jul 2001 20:52:52 
 Re: thread or fork ?   Antony Y. Bolotin   05 Jul 2001 00:15:16 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 00:23:28 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 00:48:36 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 08:56:36 
 Re: thread or fork ?   Ilya Anfimov   05 Jul 2001 13:45:32 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 13:53:39 
 Re: thread or fork ?   Ilya Anfimov   05 Jul 2001 15:31:16 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 15:49:40 
 Re: thread or fork ?   Ilya Anfimov   05 Jul 2001 16:18:04 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 17:08:55 
 Re: thread or fork ?   Antony Y. Bolotin   05 Jul 2001 16:14:01 
 Re: thread or fork ?   Ilya Anfimov   05 Jul 2001 16:20:08 
 Re: thread or fork ?   Antony Y. Bolotin   05 Jul 2001 16:28:16 
 Re: thread or fork ?   Ilya Anfimov   05 Jul 2001 16:56:42 
 thread or fork ?   Ruslan Laishev   05 Jul 2001 17:15:00 
 Re: thread or fork ?   Vladimir Dozen   05 Jul 2001 20:05:47 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 21:04:38 
 Re: thread or fork ?   Antony Y. Bolotin   05 Jul 2001 21:33:00 
 Re: thread or fork ?   Vladimir Dozen   05 Jul 2001 22:58:06 
 thread or fork ?   Denis Volkov   06 Jul 2001 12:54:02 
 Re: thread or fork ?   Eugene B. Berdnikov   06 Jul 2001 16:03:23 
 Re: thread or fork ?   Valentin Nechayev   06 Jul 2001 20:19:33 
 Re: thread or fork ?   Eugene B. Berdnikov   07 Jul 2001 14:04:37 
 Re: thread or fork ?   Valentin Nechayev   07 Jul 2001 17:34:17 
 Re: thread or fork ?   Eugene B. Berdnikov   05 Jul 2001 01:07:02 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 08:54:35 
 thread or fork ?   Artyom Tarasenko   05 Jul 2001 11:35:56 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 17:25:14 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 20:34:11 
 thread or fork ?   Victor Bazhenov   04 Jul 2001 19:10:19 
 Re: thread or fork ?   Valentin Nechayev   04 Jul 2001 21:17:09 
 thread or fork ?   Anatoly Tsyganenko   04 Jul 2001 19:46:16 
 thread or fork ?   Lev Serebryakov   05 Jul 2001 02:15:26 
 Re: thread or fork ?   Timur I.Danyarhojaev   05 Jul 2001 10:35:59 
 thread or fork ?   Lev Serebryakov   05 Jul 2001 02:09:17 
 Re: thread or fork ?   Eugene B. Berdnikov   03 Jul 2001 13:03:11 
 Re: thread or fork ?   Vladimir Dozen   03 Jul 2001 22:43:32 
 Re: thread or fork ?   Eugene B. Berdnikov   04 Jul 2001 13:03:24 
 Re: thread or fork ?   Valentin Nechayev   04 Jul 2001 13:23:49 
 Re: thread or fork ?   Vladimir Dozen   05 Jul 2001 00:26:01 
 Re: thread or fork ?   Antony Y. Bolotin   03 Jul 2001 16:44:27 
 thread or fork ?   Lev Serebryakov   04 Jul 2001 16:06:18 
 Re: thread or fork ?   Ilya Anfimov   05 Jul 2001 13:53:38 
 Re: thread or fork ?   Antony Y. Bolotin   05 Jul 2001 16:12:00 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 17:51:47 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 20:24:01 
 Re: thread or fork ?   Vladimir Dozen   05 Jul 2001 20:56:28 
 Re: thread or fork ?   Nikki Chumakov   05 Jul 2001 21:20:48 
 Re: thread or fork ?   Valentin Nechayev   05 Jul 2001 21:06:39 
Архивное /ru.unix/9138b1833e23.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional