The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Linux Threads, !*! Григорьев Алексей, 23-Сен-03, 12:12  [смотреть все]
  • Linux Threads, !*! divan, 13:37 , 24-Сен-03 (1)
  • Linux Threads, !*! Murr, 01:00 , 04-Окт-03 (6)
    • Linux Threads, !*! Макс Зиналь, 22:19 , 04-Окт-03 (9)
      • Linux Threads, !*! Murr, 23:44 , 04-Окт-03 (11)
      • Linux Threads, !*! poige, 12:19 , 11-Окт-03 (19)
      • Linux Threads, !*! Olej, 21:54 , 19-Окт-03 (27)
        >Версий оного стандарта в природе столько, что, наверное, можно подобрать
        >даже такую, которой будут соответствовать 2.4.x-ные Линуховые потоки.
        >Дело не в стандарте, дело в функционале и управляемости, которая по моему
        >

        Ничего подобного, POSIX - несколько стандартов (4-5-6), каждый из которых охватывает только свои аспекты, напр.: POSIX 1 - основной API, POSIX 1003b - расширени реального времени и т.д.
        Так что ничего, что соответствовало бы "линуховым потокам" - подобрать не удасться ;-).
        На сегодня в UNIX-like OS уже складывается отношение, что каждая OS ровно в той степени, в которой она соответствует POSIX и/или UNIX98.
        А в этом смысле - Linux thread - очень большое расхождение с POSIX, хотя бы потому, что и потоки и процессы создаются clone(), и thread имеют различные pid.

        • Linux Threads, !*! Murr, 22:59 , 19-Окт-03 (33)
          • Linux Threads, !*! Olej, 00:56 , 20-Окт-03 (34)
            >У Вас те же проблемы, что и у первого оратора. Вы не
            >понимаете где разница между епархией ядра и нитевой библиотеки (рискну предположить,
            >что даже не представляете архитектуры планирования Linux, иначе бы давно уже
            >проассоциировали thread group id(AKA tgid) с process id (aka pid)).

            У меня как раз проблем нет...
            И с чего это вы решили, что можете заключать, кто и что "не понимает"?
            Я годами использую POSIX модель thread в своих кодах для realtime & embedded оборудования, и как раз здесь, в стандартизованной модели - проблем нет...
            А "архитектуру планирования Linux" я и вправду - "даже не представляю"... она мне нафиг неинтересна, до тех пор, пока она будет "самопальщиной"!

            • Linux Threads, !*! Макс Зиналь, 21:10 , 20-Окт-03 (36)
              • Linux Threads, !*! poige, 08:41 , 21-Окт-03 (37)
                • Linux Threads, !*! Olej, 18:49 , 21-Окт-03 (43)
                  >Суровый признак разумности. Я напомню, то, что вы позабыли -- UNIX (R)
                  >это тоже самопальщина. Ровно как и С, и, уж тем более,
                  >C++.
                  Я не имел умысла никого (Linux) ущемлять в пользу другим UNIX-like...
                  Но в в нём (нверное от "молодости") - ещё много неупорядоченности: особенно в части шедулирования, процессов, потоков. Это уже всё обкатано в других UNIX, и прописано в POSIX 1003c, 1003b, сейчас должен быть 1003g и
                  The Open Group Base Specifications Issue 6 IEEE Std 1003.1-2001 (http://www.kuzbass.ru:8083/docs/sus2/mindex.html) - как раз это редкий случай, когда стандарты идут "вперёд" реализаций...
                  Так вот - моё замечание относилось только к тому, что ... "я лучше пока подожду, пока в Linux это устаканится" - и вот уж что "не надо" - так это обвирять меня в религиозных войнах!

          • Linux Threads, !*! Olej, 13:05 , 20-Окт-03 (35)
            >Обладатель торговой марки UNIX не определяет "степень like" - тут или да
            >или нет. Насколько я помню, сертифицированы Solaris, AIX и SCO UNIX.
            >Остальные просто напросто не пройдут тесты, поскольку не удовлетворяют
            >SuS в должной степени.

            Фигня это. И не нужно смущать дезинформацией неокрепшие умы:
            - "Обладатель торговой марки" - это кто? SCO?
            - так вот, не так давно закончилась тяжба, в которой Open Group (известный ранее как X-консорциум) доказал, что даже марка UNIX принадлежит 2-м субъектам в равной мере SCO & Open Group. Почитать можно здесь, например:
            http://www.kuzbass.ru:8083/docs/sus2/mindex.html
            - и с какой это стати, и на каком основании SCO вообще вправе "сертифицировать" нечто, на соответствие SCO UNIX? На том только основании, что им ЭТО перепало после многочисленных перепасовок, да и то не первой свежести?
            - и потом: "сертифицированы" - каким документом? Ссылки в студию!
            - да и перечисленные вами "Solaris, AIX и SCO UNIX" - это всё линия SVR4 - а что, вся линия Беркли, в которой существенного для UNIX было сделано во много крат более - так её что, не существует?
            - а вот стандарты Open Group, они же известны как UNIX95, UNIX98 - и очень плотно взаимодействуют при разработках с POSIX - вот они являются определяющим местом "что есть UNIX".
            - и именно стандартизация POSIX/UNIX98 и делают мир UNIX-like тем, чем он есть, с переносимостью и возможностью портирования кода...
            - и единственное интересное место во всей истории развития Linux - это то, что они во всём следовали традициям и стандартам UNIX (утилиты, API...), которые к тому времени уже да-а-а-авно устоялись - следовали, даже "наступая на горло своей песне"...
            - следовали бы они какой-нибудь BeOS да ещё с потугами сделать "самую лучшую из OS"... где бы сейчас был тот Linux?


    • Linux Threads: говоря о потоках, по незнанию или умышленно ..., !*! proff, 11:54 , 21-Окт-03 (39)
      • Linux Threads: говоря о потоках, по незнанию или умышленно ...., !*! Olej, 16:55 , 21-Окт-03 (40)
        >Когда одновременно работают несколько процессов -- проблемы
        >когерентности не возникает по понятным причинам.

        Вот здесь ... об понятных причинах - подробнее, пожалуйста.

        >а в том, что межпоточные взаимодействия программировать легче, т.к. имеет
        >место общая память и размер ее (условно) не ограничен (не нужно >связываться с какими-либо механизмами IPC типа Shared Memory).

        Как я понимаю, проблемма некогерентности кэшей возникает только на тех небольшим областям данных, которые совместно используются thread для обмена или синхронизации...
        С другой стороны - для всех областей памяти, используемых IPC при межпроцессном взаимодействии (состояние именованного семафора, или области той же shared memory) - будут в той же мере возникать эффекты некогерентности кэшей. Или нет?

        • Linux Threads: говоря о потоках, по незнанию или умышленно ...., !*! proff, 17:31 , 21-Окт-03 (41)
          • Linux Threads: говоря о потоках, по незнанию или умышленно ...., !*! Olej, 18:31 , 21-Окт-03 (42)
            >Разные адресные пространства -- разные экземпляры переменных.
            >Их нет неободимости синхронизировать.
            Кроме тех областей, которые используются для IPC.

            >Не только: она возникает для всех потенциально совместно используемых >глобальных (в смысле те, которые не в стеке) структур/переменных,
            >которые и являются источником трафика по шине, обеспечивающей эту
            >когерентность.
            thread-ы, в свою очередь могут аккуратно использовать технику экземпляров данных - всё, что связано с pthread_key_*()...

            Т.е. проблемы некогерентности в SMP могут возникать как в тех, так и в других случаях...

            С другой стороны - в некоторых ситуациях fork()/pthread_create() реализации по производительности, точнее даже по "времени латентности" (что ещё хуже - именно в те короткие интервалы, когда от них и ожидают активности) - могут отличаться на 1-2-3 порядка!
            Я как-то такой тестик сделал... он "разошёлся" по Internet, вот 1 из URL - захотите - посмотрите: http://www.winsov.com/ci003.php.

            P.S.
            >Самафор в SMP -- это скорее всего программная обертка функциональности, >предоставляемой железкой. По этому тут о какой-то когерентности говорить >можно, но она не будет иметь ничего общего с тем, о чем мы говорили
            >изначально.
            Зачем - простейшие синхронизаторы: мютекс + семафор - вполне достаточно переменной, над которой выполняются неделимые операции INC/DEC - только сделайте её доступной процессам/потокам.

            • Linux Threads: говоря о потоках, по незнанию или умышленно ...., !*! proff, 18:52 , 21-Окт-03 (44)
              • Linux Threads: говоря о потоках, по незнанию или умышленно ...., !*! Olej, 12:16 , 22-Окт-03 (45)
                >интересный тестик, я его давно видел. спасибо за то, что не поленились
                >его составить и, главное, опубликовать ;)
                >но он, насколько я понял, для однопроцессорной системы. что, все-таки
                >снижает его полезность для многопроцессорных.
                Естественно! - это никак не соотносилось с SMP:
                - во-первых, это писалось чисто для программистов, "какими способами это сделать", а потом уже оттестировалось, и результаты мне оказались совсем не очевидными...
                - во-вторых... SMP просто нужно иметь как постоянный рабочий инструмент, это - совсем отдельная и очень интересная стезя...

                >ЗЫ: если кому интересно, в прошлом году вышла замачательная книга отца и
                >сына Воеводиных под названием "параллельные вычисления". рекомендую.
                А подробнее нельзя указать? может URL где есть размещения, или библиографические данные бумажного издания?

  • Linux Threads, !*! Olej, 11:46 , 27-Окт-03 (49)
    >Здравствуйте.
    >Постоянно слышу в различных статьях и форумах о том что потоки в
    >линукс реализованы криво. Последнее время заинтересовался системным
    >программированием, интересует в чем же всё-таки их слабость.
    >Хотелось бы также получить рекомендации в выборе литературы для
    >правильного изучения ОС. В данный момент подумываю купить "Современные
    >операционные системы" Таненбаума.

    После некоторого периода "реконструкции" (которя ему в пользу не пошла :-() - восстановил работу форум по QNX: http://qnx.org.ru/forum .
    Почему я об этом - здесь? Потому, что для QNX, как одного из UNIX, и в высшей степени совместимой с POSIX OS - характерно как раз очень интенсивоное использование параллелизмов. Там на форуме есть достаточно много обсуждений и оригинальных статей, посвящённых POSIX thread модели.




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

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