Жергілікті POSIX жіптер кітапханасы - Native POSIX Thread Library

The Жергілікті POSIX жіптер кітапханасы (NPTL) жүзеге асыру болып табылады POSIX ағындары үшін сипаттама Linux операциялық жүйе.

Тарих

2.6 нұсқасына дейін Linux ядросы, процестер жоспарланған нысандар болды, және арнайы қондырғылар болған жоқ жіптер.[дәйексөз қажет ] Алайда, оның а жүйелік қоңырауклон - бұл қоңырау шалушының мекен-жай кеңістігін бөлісетін қоңырау процесінің көшірмесін жасайды. The LinuxThreads жоба осы жүйелік шақыруды ядро ​​деңгейіндегі ағындармен қамтамасыз ету үшін пайдаланды (Linux-тағы алдыңғы ағындардың көп бөлігі толықтай жұмыс істеді) пайдаланушы аймағы ). Өкінішке орай, ол POSIX-ке ішінара сәйкес келді, әсіресе сигналдарды өңдеу, жоспарлау және синхрондау процедуралары арасындағы примитивтер.

LinuxThreads-ті жақсарту үшін кейбір ядроларды қолдау және жаңа ағындық кітапхана қажет болатыны анық болды. Талапты шешу үшін екі бәсекелес жоба басталды: NGPT (Келесі буын POSIX ағындары) құрамында әзірлеушілер бар топ жұмыс істеді IBM, және NPTL әзірлеушілері Қызыл қалпақ. NGPT тобы NPTL командасымен тығыз ынтымақтастықта болды және екі іске асырудың ең жақсы мүмкіндіктерін NPTL-ге біріктірді. NGPT жобасы 2003 жылдың ортасында ең жақсы мүмкіндіктерін NPTL-ге біріктіргеннен кейін бас тартылды.

NPTL алғаш рет Red Hat Linux 9-да шығарылды. Ескі стильдегі Linux POSIX жіптері жүйеге кейде берілуден бас тартатын жіптермен қиындықтармен белгілі, өйткені ол пайда болған кезде оларды алдын-ала алуға мүмкіндік бермейді, бұл Windows кезінде жақсы жұмыс істейтіні белгілі. Red Hat NPTL бұл мәселені осы туралы мақаласында жойды деп мәлімдеді Java Red Hat Linux 9-тағы Java туралы веб-сайт.[1]

NPTL бөлігі болды Red Hat Enterprise Linux 3 нұсқасынан бастап, Linux ядросында 2.6 нұсқасынан бастап. Бұл енді толығымен біріктірілген бөлігі GNU C кітапханасы.[2]

NPTL деп аталатын іздеу құралы бар POSIX ағынды бақылау құралы (PTT ). Және POSIX тест жинағын ашыңыз (Қарсыластар ) NPTL кітапханасын POSIX стандартына сынау үшін жазылған.

Дизайн

NPTL LinuxThreads-ке ұқсас әдісті қолданады, яғни ядросы білетін негізгі абстракция әлі де процесс болып табылады және клонмен жаңа ағындар жасалады () жүйелік қоңырау (NPTL кітапханасынан шақырылады). Алайда NPTL синхрондау примитивтерінің келісілген жағдайын іске асыру үшін арнайы ядро ​​қолдауын қажет етеді, бұл жіптердің ұйықтап, қайта оянуын қажет етуі мүмкін. Бұл үшін қолданылатын қарабайыр а ретінде белгілі футекс.

NPTL - бұл 1 × 1 ағындар кітапханасы, бұл пайдаланушы жасаған ағындар pthread_create () кітапхана функциясы) ядродағы жоспарланған нысандармен 1-1 сәйкес келеді (тапсырмалар, Linux жағдайында). Бұл ең қарапайым мүмкін жіптерді енгізу.

NPTL 1 × 1 үлгісіне балама болып табылады m × n модель.

Сондай-ақ қараңыз

Әдебиеттер тізімі

Сыртқы сілтемелер

  • NPTL бақылау құралы OpenSource құралы NPTL көмегімен көп жіпті қосымшаларды бақылауға және түзетуге арналған.