Кіріспе

Компьютерлік ғылымда анонимді құбыр – бір бағытты процестер аралық байланыс (IPC) үшін қолданылатын қарапайым FIFO байланыс арнасы. Іске асыру көбінесе операциялық жүйенің файлдық кіріс-шығыс кіші жүйесіне (IO) енгізіледі. Әдетте, басты бағдарлама анонимді құбырларды ашып, құбырдың екінші ұштарын мұраға алатын жаңа процесті құрайды немесе бірнеше жаңа процестерді құрып, оларды құбыр желісі ретінде ұйымдастырады. Толық дуплекс (екі жақты) байланыс үшін әдетте екі анонимді құбыр қажет. Құбырлар Unix және DOS-тан бастап көптеген танымал операциялық жүйелерде қолдауға ие және көптеген қабықшаларда "|" символын пайдаланып жасалады.

Unix жүйесі

Құбырлар көптеген дәстүрлі Unix қолданбаларының маңызды бөлігі болып табылады және оларды қолдау көптеген Unix-қа ұқсас операциялық жүйелерге жақсы интеграцияланған. Құбырлар `pipe` жүйелік шақыру арқылы құрылады, ол жаңа құбырды жасайды және құбырдың оқу және жазу соңдарын білдіретін екі файл дескрипторын қайтарады. Көптеген дәстүрлі Unix бағдарламалары құбырлармен жұмыс істеу үшін сүзгі ретінде құрастырылған.

Microsoft Windows-тың жүйелік жүйесі

Windows API-дегі көптеген басқа құрылғы IO және IPC мүмкіндіктері сияқты, анонимді құбырлар да IO мүмкіндігіне тән API функциялары арқылы құрылады және конфигурацияланады. Осы ретте, анонимді құбырды құру үшін CreatePipe функциясы қолданылады, ол құбырдың оқу және жазу шеттері үшін жеке тұтқаларды ұсынады. Құбырмен IO операцияларын оқу және жазу стандартты IO құрылғысының ReadFile және WriteFile API функцияларымен жүзеге асырылады. Microsoft Windows жүйесінде анонимді құбырларға оқу және жазу әрқашан тоқтатылады. Яғни, бос құбырдан оқу сұранышы шақырушы жіпті кем дегенде бір байт қолжетімді болғанға дейін немесе құбырдың жазу тұтқасы жабылғаннан кейін файл соңы алынғанға дейін күтеді. Сол сияқты, толық құбырға жазу шақырушы жіпті жазылып жатқан деректерді сақтау үшін орын босағанша күтеді. Оқу операциялары сұралған байттар санынан кем болуы мүмкін (бұл «қысқа оқу» деп те аталады). Жаңа процестер құрылу кезінде анонимді құбырларға тұтқаларды мұрагерлікке ала алады.