реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> POSIX pthread_* в Linux, когда появилось и как реализовано?
v_shamaev
сообщение Jan 19 2007, 12:40
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 304
Регистрация: 5-07-04
Из: г. Москва
Пользователь №: 259



Цитата(makc @ Jan 19 2007, 12:00) *
Думаю, что всем будет полезна эта книга в электронном варианте.
Забрать ее можно здесь - http://nukeuploads.com/download/1169196826...LKD2Ed.rar.html


Пустая страница открывается по ссылке. Как хоть называется эта книга?


--------------------
Водку пьянствовать и безобразия нарушать!!!
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 19 2007, 12:46
Сообщение #17


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(v_shamaev @ Jan 19 2007, 12:40) *
Цитата(makc @ Jan 19 2007, 12:00) *

Думаю, что всем будет полезна эта книга в электронном варианте.
Забрать ее можно здесь - http://nukeuploads.com/download/1169196826...LKD2Ed.rar.html


Пустая страница открывается по ссылке. Как хоть называется эта книга?


Да, действительно. Это тем более странно, что после заливки я проверил - файл был доступен.
Книга называется Linux Kernel Development Second Edition By Robert Lovе
Залил ее еще раз, на другой файлообменник - http://www.rapidshare.ru/148214


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
v_shamaev
сообщение Jan 19 2007, 14:56
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 304
Регистрация: 5-07-04
Из: г. Москва
Пользователь №: 259



Цитата(makc @ Jan 19 2007, 12:46) *
Цитата(v_shamaev @ Jan 19 2007, 12:40) *
Цитата(makc @ Jan 19 2007, 12:00) *

Думаю, что всем будет полезна эта книга в электронном варианте.
Забрать ее можно здесь - http://nukeuploads.com/download/1169196826...LKD2Ed.rar.html


Пустая страница открывается по ссылке. Как хоть называется эта книга?


Да, действительно. Это тем более странно, что после заливки я проверил - файл был доступен.
Книга называется Linux Kernel Development Second Edition By Robert Lovе
Залил ее еще раз, на другой файлообменник - http://www.rapidshare.ru/148214


Хорошая книга, хорошо написана. Есть в продаже русский перевод - "Роберт Лав. Разработка ядра Linux. Второе издание"

ББК 32.973.26-018.2.75

Не со всеми утверждениями (или, точнее, акцентами) я согласен, как раз по поводу потоков.


--------------------
Водку пьянствовать и безобразия нарушать!!!
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 19 2007, 15:04
Сообщение #19


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(v_shamaev @ Jan 19 2007, 14:56) *
Хорошая книга, хорошо написана. Есть в продаже русский перевод - "Роберт Лав. Разработка ядра Linux. Второе издание"


Да, есть такая книга. Я себе прикупил. В принципе, читать можно. Есть, правда, проблемы перевода, но куда же без них. wink.gif

Цитата
Не со всеми утверждениями (или, точнее, акцентами) я согласен, как раз по поводу потоков.


С чем именно Вы не согласны?


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
Playnet
сообщение Jan 19 2007, 19:30
Сообщение #20


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 10-05-06
Пользователь №: 16 930



Цитата(v_shamaev @ Jan 19 2007, 12:40) *
Цитата(makc @ Jan 19 2007, 12:00) *

Думаю, что всем будет полезна эта книга в электронном варианте.
Забрать ее можно здесь - http://nukeuploads.com/download/1169196826...LKD2Ed.rar.html


Пустая страница открывается по ссылке. Как хоть называется эта книга?

у меня скачалось. Могу на ifolder залить
хттп://ifolder.ru/910949

Сообщение отредактировал Playnet - Jan 19 2007, 20:02
Go to the top of the page
 
+Quote Post
Olej
сообщение Jan 19 2007, 21:43
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458



Цитата(Harbour @ Nov 6 2006, 07:30) *
Многопоточность имеет смысл для масштабирования, то бишь в многопроцессорных системах, к которым uclinux, насколько мне известно, не относится. При вопросах портирования можно выкрутиться юзер-спейс реализацией.

Это в принципе неверно - многопоточность/параллельность применима к однопроцессорам не в меньшей мере, чем к много процессорам. Это - другой взгляд, и другой образ мышления, отличающийся от последовательного программирования.

Цитата(Harbour @ Nov 6 2006, 07:30) *
Это и набор системных вызовов (clone) и несколько юзер-спейс реализаций (linuxthreads/posixthreads/nptl/etc).


В этом clone и состоит беда Linux реализации.

Цитата(Johny @ Nov 7 2006, 18:35) *
В ядре 2.6 ничего в этом плане не поменялось?
У меня сейчас 2.4.17 и glibc-2.3.1 для arm. Нашел реализацию pthread. Система однопроцессорная, в принципе, наверное без разницы, как реализовано, лишь бы работало нормально. Просто использование потоков мне кажется более удобным, чем создание кучи процессов, а затем разделяемой памяти для них - в рамках одного модуля приложения.


Поменялось sad.gif. Принципиально. Начиная с 2.6 модель потоков Linux стала гораздо ближе (в своём поведении, а не сколько в виде системных вызовов) к POSIX. А до этого был совершенно уродливый конгломерат, обязанный именно clone.

Посмотрите здесь:
http://www.books.ru/shop/books/357604
или хотя бы здесь:
http://qnxclub.net/files/articles/pthread/pthread.pdf

Цитата(AlexandrY @ Jan 18 2007, 19:02) *
Процессы и потоки выдумка Linux-а.

Ага, ща-а-а-з... а до Linux была, оказывается, голая пустыня wink.gif...
Потоки присутствуют во всех UNIX-like системах начиная с 80-Х ... ну, второй половины 80-х. И стандартизованы расширением POSIX1003.b.
Go to the top of the page
 
+Quote Post
Harbour
сообщение Jan 20 2007, 12:57
Сообщение #22


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Цитата(Olej @ Jan 19 2007, 20:43) *
Цитата(Harbour @ Nov 6 2006, 07:30) *

Многопоточность имеет смысл для масштабирования, то бишь в многопроцессорных системах, к которым uclinux, насколько мне известно, не относится. При вопросах портирования можно выкрутиться юзер-спейс реализацией.

Это в принципе неверно - многопоточность/параллельность применима к однопроцессорам не в меньшей мере, чем к много процессорам. Это - другой взгляд, и другой образ мышления, отличающийся от последовательного программирования.


Если программу предназначенную для работы на 1 cpu, программист пишет с использованием тредов, то ему еще долго шагать по пути к мастерству.

Цитата(Harbour @ Nov 6 2006, 07:30) *
Это и набор системных вызовов (clone) и несколько юзер-спейс реализаций (linuxthreads/posixthreads/nptl/etc).

Цитата
В этом clone и состоит беда Linux реализации.


Уже много лет пользую потоки в linux, начиная с ядра 2.0, никаких бед что-то не замечено.
Go to the top of the page
 
+Quote Post
InvisibleFed
сообщение Jan 20 2007, 14:07
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 18-11-06
Из: Хабаровск
Пользователь №: 22 469



Имеется книженция "Unix. Взаимодействие процессов" Автор: Уильям Стивенс. Тамдовольно толково и про процессы и про потоки (правда немного теоретизировано). Куда слить?
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 20 2007, 14:12
Сообщение #24


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(InvisibleFed @ Jan 20 2007, 14:07) *
Имеется книженция "Unix. Взаимодействие процессов" Автор: Уильям Стивенс. Тамдовольно толково и про процессы и про потоки (правда немного теоретизировано). Куда слить?


http://nukeuploads.com/


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jan 20 2007, 18:30
Сообщение #25


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
Если программу предназначенную для работы на 1 cpu, программист пишет с использованием тредов, то ему еще долго шагать по пути к мастерству.


Стоп-стоп.
Вы хотите сказать, что трэды это только для мультипроцессорных систем?


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 20 2007, 18:36
Сообщение #26


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(beer_warrior @ Jan 20 2007, 18:30) *
Цитата
Если программу предназначенную для работы на 1 cpu, программист пишет с использованием тредов, то ему еще долго шагать по пути к мастерству.


Стоп-стоп.
Вы хотите сказать, что трэды это только для мультипроцессорных систем?


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


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
InvisibleFed
сообщение Jan 21 2007, 04:52
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 18-11-06
Из: Хабаровск
Пользователь №: 22 469



Книжку на днях постараюсь залить. Сообщу.

Цитата
Но прирост производительности от использования тредов может быть достигнут только на многопроцессорных системах и тех, которые могут выполнять больше одного независимого потока команд.


Спорное утверждение. Пока один поток ожидает завершение операции ввода-вывода, второй может использовать процессор. Конечно, потоки это лиш уровень абстракции, но организовать подобное БЕЗ потоков - еще тот гемор и, видимо, не всегда возможно. Общую производительность таким образом, конечно, не повысишь (процессор все-таки один), но так называемую "ощущаемую" - вполне.
Go to the top of the page
 
+Quote Post
Harbour
сообщение Jan 21 2007, 09:51
Сообщение #28


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Цитата(beer_warrior @ Jan 20 2007, 17:30) *
Цитата
Если программу предназначенную для работы на 1 cpu, программист пишет с использованием тредов, то ему еще долго шагать по пути к мастерству.


Стоп-стоп.
Вы хотите сказать, что трэды это только для мультипроцессорных систем?


Нет конечно wink.gif Имелось ввиду приложение по теме, т.е. в uclinux, где SMP нет в природе а лишний гемор и потеря времени при написании тредовой app обеспечен. Работать такое приложение будет тоже медленнее - кроме тормозов при переключение контекста имеем дополнительные потери на счедулинг каждой треды и на организацию блокировок данных внтури одной и той же программы.
И последнее - неизвестно насколько эффективна реализована поддержка тредов в изначально ембеддерской однопроцессорной системе, где их активное использование, собственно, не предусмотрено. С нормальным linux'ом на обычном современном железе разница заметна только для маньяков скорости wink.gif
Go to the top of the page
 
+Quote Post
InvisibleFed
сообщение Jan 21 2007, 11:37
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 18-11-06
Из: Хабаровск
Пользователь №: 22 469



Цитата
Работать такое приложение будет тоже медленнее - кроме тормозов при переключение контекста имеем дополнительные потери на счедулинг каждой треды и на организацию блокировок данных внтури одной и той же программы.
И последнее - неизвестно насколько эффективна реализована поддержка тредов в изначально ембеддерской однопроцессорной системе, где их активное использование, собственно, не предусмотрено. С нормальным linux'ом на обычном современном железе разница заметна только для маньяков скорости.


Там где можно использовать треды, а не процессы - нужно использовать треды. Переключение тредов происходит гораздо быстрее. Что касается шедулинга, то на системном уровне его нет как такового (тред не является объектом ядра linux, насколько мне известно), управление на пользовательском уровне связано скорее с опытом. А по производительности - я уже свое мнение высказал.

Сообщение отредактировал InvisibleFed - Jan 21 2007, 11:39
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 21 2007, 12:03
Сообщение #30


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(InvisibleFed @ Jan 21 2007, 11:37) *
Там где можно использовать треды, а не процессы - нужно использовать треды. Переключение тредов происходит гораздо быстрее. Что касается шедулинга, то на системном уровне его нет как такового (тред не является объектом ядра linux, насколько мне известно), управление на пользовательском уровне связано скорее с опытом. А по производительности - я уже свое мнение высказал.


Вы прокакое ядро говорите? Если про 2.6, то чуть раньше мы тут уже выяснили, что в нем треды реализуются через процессы с разделяемым адресным пространством (и другими данными). Т.е. являются объектами шедулинга и, соотвественно, объектами ядра.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 18:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01501 секунд с 7
ELECTRONIX ©2004-2016