Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Есептеу ұғымы
Computing concept
DCEThreads – POSIX Draft 4 жіптерінің іске асырылуы. DCE – "Тарқалған есептеу ортасы" деген сөз. DCEThreads пайдаланушыларға бір процесте бірнеше орындалу бағыттарын құруға мүмкіндік берді. Ол pthreads интерфейсі негізінде құрылған.
DCEThreads is an implementation of POSIX Draft 4 threads. DCE Stands for "Distributed Computing Environment" DCEThreads allowed users to create multiple avenues of execution in a single process. It is based on pthreads interface.
Тарих
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 жіптерінің ерекшелігін дұрыс іске асыруда қиындықтарға тап болғандықтан, ол алынып тасталды.
DCE/RPC was under development, but the POSIX committee had not finalised POSIX threads at the time. The Open Group had to make a decision about which to use, and the final POSIX threads were different from their selection. POSIX Draft 4 threads were limited to begin with (the final standard fixed these). Microsoft adopted DCE/RPC wholesale in Windows NT as MSRPC and also in DCOM. Most of the stability and reliability problems that programmers associate with DCOM services especially memory leaks, exception handling problems and thread cancellation stability issues can be traced back to the use of POSIX Draft 4 threads. DCE/RPC is sufficiently complex that the issue of updating it to solve and modernise the POSIX Draft 4 threading problem requires highly skilled and highly specific programming knowledge. Consequently, despite its capacities, the reference implementation of DCE/RPC has been held up due to a lack of information and resources. The key difference between POSIX Draft 4 threads and the final POSIX threads specification, aside from a number of functions being interruptible where others are not, is thread cancellation. DCE/RPC utilises thread cancellation to propagate signals across the "Remote" of RPC, such that for example a client application terminating a thread results in its corresponding thread on the server also being terminated in the same way. The final POSIX specification does not include such sophisticated cancellation methodology, and, given the difficulties that the Unix vendors had in correctly implementing the POSIX threads specification, it was removed.
Соңғы өзгерістер
Linux, NPTL және Linux 2.6 ядросының енгізілуінен бастап, жіптерді тоқтатуға толық қолдау бар.
Linux, since the introduction of NPTL and the Linux 2.6 kernel, has proper support for thread cancellation.
Қазіргі қолданылуы
DCEThreads қазіргі кезде тек эмуляция қабаты ретінде ғана қолданылады.
DCEThreads now only realistically exists as an emulation layer.