Re: lug-bg: linux i threadove
- Subject: Re: lug-bg: linux i threadove
- From: George Danchev <danchev@xxxxxxxxx>
- Date: Wed, 7 Jan 2004 10:48:55 +0200
On Wednesday 07 January 2004 08:30, Огнян Кулев wrote:
> Vasko Tomanov wrote:
> > moje li niakoi da mi dadae link kade da protsheta ka se organizirat
> > neshtata s thredovete na linux, kaka se praviat mutexi i t.n.
> > predpotshitam da se polzvat native threads a ne posix ( stava vapros ot
> > gledna totshka na GNU C++
>
> В Linux не са ми известни native threads, които по API да се различават
> от POSIX threads.
въпреки, че първата имплемантация на linuxthreads [1] са предвидени да следват
Posix 1003.1c , те никога не са го достигали, къде от самата библиотека (и
wrappers към нея като за C++ например) , къде от съпорта в ядрото. Това което
не е POSIX съвместимо например и е очевидно, че Linux ядрото зачисляваше pid
на всеки член от threads семейството... ами ползването на clone(2) за
създаване на дъщерен процес и шарването на някои нещица (mem, fd ...) с
родителя е същата linux-kernel-specific, не портабилна и anti-POSIX
работа ... има и други разлики посочени от Ulrich Drepper при сравнението с
NTPL [2] ... Така, че 'for d sake of sakeness' - Linuxthreads можем да го
броим за Linux Native (specific) имплемент, а NPTL за strict/strong POSIX
такъв.
> Такива native threads имат Solaris, AIX и т.н.
Абсолютно правилно, само, че тези kernels поддържат и POSIX threads, но Sun
поне твърдят, че Solaris Native Threads като дизайн са superior, и може би
има известна истина, понеже не се взима предвид портабилността залегнала в
POSIX. Има и библиотеки [3] които спомагат за по-лесното портване на
приложения ползващи Solaris Native Threads към POSIX ones. Как "намират общия
знаменал" между двете имплементации не смея и да си помисля. Страшно е.
Та ако се почне да се четат документите от тук [4] ще са необходими години
според мен за да може човек горе долу да каже, че може да контролира умело
нишките в дадено приложение ;-) Малък тих ужас за дебъгване ;-)
[1] http://pauillac.inria.fr/~xleroy/linuxthreads/
[2] http://people.redhat.com/drepper/
[3] http://sctl.sourceforge.net/
[4] http://directory.google.com/Top/Computers/Programming/Threads/POSIX/
--
pub 4096R/0E4BD0AB 2003-03-18 <keyserver.bu.edu>
1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|