Кіріспе

Есептеу ұғымы

DCEThreads – POSIX Draft 4 жіптерінің іске асырылуы. DCE – "Тарқалған есептеу ортасы" деген сөз. DCEThreads пайдаланушыларға бір процесте бірнеше орындалу бағыттарын құруға мүмкіндік берді. Ол pthreads интерфейсі негізінде құрылған.

Тарих

DCE/RPC әзірленуде болған, бірақ сол кезде POSIX комитеті POSIX жіптерін аяқтамаған еді. Open Group қайсысын пайдалану керектігін шешуге мәжбүр болды, ал соңғы POSIX жіптері олардың таңдауынан өзгеше болды. POSIX Draft 4 жіптері бастапқыда шектеулі болды (соңғы стандарт осы кемшіліктерді жойды). Microsoft Windows NT жүйесінде DCE/RPC-ні MSRPC ретінде толығымен қабылдады, сондай-ақ DCOM-да да пайдаланды. Бағдарламашылар DCOM қызметтерімен байланыстыратын тұрақтылық және сенімділік проблемаларының көпшілігі – әсіресе жадтың ағып кетуі, ерекше жағдайларды өңдеудегі қиындықтар және жіптерді тоқтатудағы тұрақсыздық мәселелері – POSIX Draft 4 жіптерін пайдалануға байланысты туындады. DCE/RPC жеткілікті түрде күрделі болғандықтан, оны POSIX Draft 4 жіптерінің мәселесін шешу және жаңғырту үшін жаңарту жоғары білікті және ерекше бағдарламалау білімін қажет етеді. Осы себепті, мүмкіндіктеріне қарамастан, DCE/RPC-нің эталондық нұсқасы ақпарат пен ресурстардың жетіспеуіне байланысты тоқтап қалды. POSIX Draft 4 жіптері мен соңғы POSIX жіптерінің ерекшеліктерінің арасындағы басты айырмашылық, кейбір функциялардың басқаларынан өзгеше үзілуге болатындығынан басқа, жіптерді тоқтату болып табылады. DCE/RPC жіптерді тоқтатуды RPC-нің "қашықтағы" бөлігінде сигналдарды тарату үшін пайдаланады, мысалы, клиенттік қолданба жіпті тоқтатса, сервердегі сәйкес жіп те сол сияқты тоқтатылады. Соңғы POSIX ерекшелігінде мұндай күрделі тоқтату әдістемесі қарастырылмаған, және Unix өндірушілері POSIX жіптерінің ерекшелігін дұрыс іске асыруда қиындықтарға тап болғандықтан, ол алынып тасталды.

Соңғы өзгерістер

Linux, NPTL және Linux 2.6 ядросының енгізілуінен бастап, жіптерді тоқтатуға толық қолдау бар.

Қазіргі қолданылуы

DCEThreads қазіргі кезде тек эмуляция қабаты ретінде ғана қолданылады.