1.1, Stax (ok), 15:27, 09/05/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
То есть на линуксе это будет просто оберткой вокруг pthread с другим API?
| |
|
|
3.3, Ag (ok), 16:33, 09/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В линуксе нет тредов.
Не пишите глупости, есть. Это в «классическом» Unix-е был только fork. И то лет 20 тому назад.
| |
|
4.14, nuclight (ok), 22:03, 09/05/2012 [^] [^^] [^^^] [ответить] | –5 +/– | Нету Именно как тредов - нету Это для Linux вообще характерно во многих област... большой текст свёрнут, показать | |
|
5.16, Аноним (-), 22:28, 09/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Например, везде кроме ядра есть понятие базовой системы ОС и сторонних программ - а в линуксе нету, там кроме ядра только пакеты.
Подобный подход является закономерным следствием слабого ресурсного обеспечения.
Например, в той же FreeBSD сравнительно мало активных мейнтейнеров, и они не могут эффективно поддерживать весь спектр ПО. Поэтому оно разделено на две категории: небольшая базовая система (с более-менее нормальной поддержкой, хотя в последние годы и она сильно сдала), и порты, которые поддерживаются нерегулярно, от случая к случаю.
В крупных дистрибутивах GNU/Linux подобных проблем просто нет: практически все ПО, включая совершенно некритичное для системы в целом, поддерживается нормально - квалифицированный мейнтейнеров для этого достаточно.
| |
|
6.17, nuclight (ok), 22:52, 09/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
Не является само по себе, базовая система как понятие развязана с проблемой ресурсов - это ж подход проектирования. У разработчиков коммерческих ОС, хотя бы тех же перечисленных комментом выше Solaris и Windows, тоже не хватает ресурсов? :)
| |
|
7.26, Аноним (-), 00:32, 10/05/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
В коммерческих ОС подобный подход диктуется принципом уменьшения расходов (и повышения прибыльности). Так что фактор ресурсов здесь тоже играет.
Позволить себе полноценную поддержку обширных реп софта может только _крупный_ _некоммерческий_ проект.
| |
|
|
5.18, Аноним (-), 22:54, 09/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Тред в линуксе - просто легковесный процесс. В случае нескольких тредов в одном процессе эти нижележащие легковесные процессы просто разделяют (shared) те же самые атрибуты в виде пространства VM, дескрипторов и др.
Это не в линуксе, это везде так. Тред от процесса как раз и отличается тем, что у тредов одного процесса общая память и дескрипторы (или "раздельные стек и контекст", что есть то же самое). Хоть в линухе, хоть в Solaris, хоть в BSD (не только FreeBSD), хоть в Windows. А одна структура у этих сущностей или же общая с разными атрибутами — не важно.
| |
5.19, Аноним (-), 23:00, 09/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Нету. Именно как тредов - нету. Это для Linux вообще характерно во
> многих областях - есть подход всех обычных ОС, а есть как
> в линуксе. Например, везде кроме ядра есть понятие базовой системы ОС
> и сторонних программ - а в линуксе нету, там кроме ядра
> только пакеты.
Странно. На *моем* линуксе есть и пакеты, и сторонние программы. Может, вы пользуетесь каким-то не таким линуксом? Не говоря уже о том, что "подход обычных ОС" — ставить всё, что есть в репозиториях, из оных репозиториев. И в линуксе так, и в бсдях, и в солярке, и даже яблоко использует пусть и не идентичный подход, но близкий. Только винда выделывается.
| |
|
6.27, Аноним (-), 00:35, 10/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Странно. На *моем* линуксе есть и пакеты, и сторонние программы. Может, вы
> пользуетесь каким-то не таким линуксом? Не говоря уже о том, что
> "подход обычных ОС" — ставить всё, что есть в репозиториях, из
> оных репозиториев. И в линуксе так, и в бсдях, и в
> солярке, и даже яблоко использует пусть и не идентичный подход, но
> близкий. Только винда выделывается.
Все же, в солярке и бсд существует четкое разделение: за базовую систему разработчики ручаются, а остальное пользователь ставит на свой страх и риск.
В линуксе, как правило, разработчики дистрибутива тянут поддержку всего софта.
| |
|
7.40, fi (ok), 16:55, 14/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Все же, в солярке и бсд существует четкое разделение: за базовую систему разработчики ручаются, а остальное пользователь ставит на свой страх и риск.
А где же по другому??? берем к примеру rhel, sles or ubuntu - за базовую систему разработчики ручаются
| |
|
|
5.20, Ano (?), 23:11, 09/05/2012 [^] [^^] [^^^] [ответить]
| +4 +/– |
Поясни экспёрд, чем принципиально "легковесные процессы" отличаются от классических трэдов? И кстати, в русском языке нет слова "нету", грамотей.
| |
5.21, FrBrGeorge (ok), 23:22, 09/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Собственно, если начало двухтысячных кто вспомнит
С тех пор многое поменялось.
| |
|
6.38, Аноним (-), 23:51, 10/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Собственно, если начало двухтысячных кто вспомнит
> С тех пор многое поменялось.
В мире *BSD с тех пор не поменялось ничего. И они до сих пор считают себя лидерами среди свободных ОС :)
| |
|
5.30, nuclight (ok), 01:32, 10/05/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
Лол, повылезали неграмотные тролли, одни не понимают, что важно, а что нет (следующий шаг - договоритесь до #5, который во всех ОС вообще одинаковый, а какая тогда разница, ага), другие не понимают разницы между сторонней программой вообще (есть ОС как цельный продукт, состоящая из ядра и его окружения, а есть все остальные сторонние программы) и способом её упаковки (тарбол с исходниками, пакет, поддерживаемый пусть и производителем репозиторий, какая разница, софт всё равно сторонний).
А если кому правда интересно, как оно там внутри, я порекомендую хорошую книжку (по которой и пересказал выше) by Роберт Лав, "Разработка ядра Linux" (о сериях 2.6), http://www.ozon.ru/context/detail/id/2918313/
| |
5.31, Аноним (-), 13:26, 10/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
Ладно б базовая система vs пакеты. Можно ко всему в пакетах привыкнуть. Для кого-то это выглядит возможностью "поставить только нужное" (с наличием базовой системы так сделать никто не запрещает, я знаю ;).
А вот дефолтное расположение баз того же мускуля в /var/lib и пустующий /var/db, отсутсвие документации (точнее, местами большие пробелы в ней), отсутствие init скрипта для svnserve - всё это бытовые мелочи, с которыми можно справиться и победить, но зачем, если можно по-нормальному? Единственное, что после каждой такой победы ЧСВ поднимается, да. :)
Не холивара ради (их тут разводить почти бессмысленно), а просто накипело. Peace.
| |
|
|
3.5, pavlinux (ok), 18:15, 09/05/2012 [^] [^^] [^^^] [ответить]
| +8 +/– |
Прально, там есть sys_clone(),
а sys_clone() это обертка для do_fork(),
do_fork() - обёртка для copy_process()
а copy_process() это замороченный malloc + куча флагов и блокировок.
Фсё, пиз...ц, - ни форков, ни тредов не существует, есть:
...
mov eax, proc_data
jz new_proc
...
Всех с победой!!!
| |
|
4.36, Andrew Kolchoogin (?), 23:05, 10/05/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
Не совсем так, до победы ещё далеко.
А вот thread'ов в Линуксе, действительно, нет, и вот почему: во всех нормальных операционных системах есть две операции -- создание процесса и создание потока исполнения. API и название функций значения не имеют -- имеет значение лишь то, что один процесс примерно в 5-6 раз медленнее другого.
Так вот, в Линуксе fork() и pthread_create() примерно равны, так сказать, "по тяжести". Собственно, именно поэтому в Линуксе thread'ов нет.
| |
|
5.37, Аноним (-), 23:50, 10/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну линуксоиды же не виноваты, что не стали обвешивать и затормаживать fork(), как это сделано в "нормальных операционных системах".
| |
|
|
|
4.8, pavlinux (ok), 18:38, 09/05/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> В линуксе нет тредов.
> И процессов тоже нет?
Нет, сынок - это фантастика (с) Есть тригеры, которые стираются-записываются, а назвать ты это как хошь можешь.
| |
|
3.9, Аноним (-), 18:44, 09/05/2012 [^] [^^] [^^^] [ответить]
| +4 +/– |
> В линуксе нет тредов.
Поздравляю с разморозкой. Вы какого года заморозки, сэр?
| |
|
4.28, Аноним (-), 00:36, 10/05/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> В линуксе нет тредов.
> Поздравляю с разморозкой. Вы какого года заморозки, сэр?
Написано же - начало двухтысячных. Кроме того, это, скорее всего, бсдшник, а они о линуксе знают только по страшным сказкам друзей-виндузятников.
| |
|
5.32, Аноним (-), 17:45, 10/05/2012 [^] [^^] [^^^] [ответить]
| –3 +/– |
Как показывает практика - таки линуксоиды знают о *BSD по страшным сказкам. А там всё нежно и _логично_, и _практично_. И есть хендбук, с которого можно легко начать.
| |
|
|
|
|
1.4, Аноним (-), 18:11, 09/05/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> реализует невытесняющую модель организации работы нитей
Так это нити (как ruby fibers) или все же потоки (threads)?
| |
|
2.6, Анон (?), 18:34, 09/05/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
Если уж на то пошло, потоки - это streams. А threads - это волокна.
| |
|
3.12, Аноним (-), 18:53, 09/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Если уж на то пошло, потоки - это streams. А threads - это волокна.
Если уж на то пошло, в IT как-то так принято называть потоки инструкций именно тредами. Когда о например CPU говорят что там "2 hardware threads" - имеют в виду что он выполняет 2 потока команд одновременно. Как-то так, да. Термин "streams" почему-то не прижился. Вы лучше англичан знаете как им называть вещи на английском? :)
| |
|
4.23, Аноним (-), 00:08, 10/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Вы лучше англичан знаете как им называть вещи на английском? :)
мы знаем лучше омерекосов как им называть вещи на английском.
типа фикс.
| |
4.24, BratSinot (?), 00:09, 10/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
Stream тоже прижился, только он применяется к потоку информации. Видео например.
| |
4.29, Аноним (-), 01:10, 10/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Вы лучше англичан знаете как им называть вещи на английском? :)
В этой области царит терминологический бардак, не зависящий от носителя языка.
| |
|
|
|
3.25, Аноним (-), 00:13, 10/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
fiber (хз что там в руби нахерачели под этим понятием) = coroutines = green threads и почти = Non-preemptive threads, cooperative threads.
Это все != threads
| |
|
|
|