Rasm 3.24 Rasm 3.23, davom etdi.
#o'z ichiga oladi < stdio.h >
#o'z ichiga oladi < windows.h >
#aniqlash BUFFER SIZE 25 int asosiy (VOID)
{
QO'LLANISH O'qishni boshqarish;
CHAR bufer[BUFFER SIZE];
DWORD o'qish;
/* olish the o'qing tutqich ning the quvur */ ReadHandle = GetStdHandle (STD KIRITISH HANDLE);
/* the bola o'qiydi dan the quvur */
agar (ReadFile (ReadHandle, bufer, Bufer o'lchami, &o'qish, NULL)) printf("child o'qing %s",bufer);
boshqa
fprintf(stderr, "Xato o'qish dan quvur");
qaytish 0;
}
3.25-rasm Windows anonim quvurlar - bola jarayon.
dan the fayl tizimi. Garchi FIFO s ruxsat berish ikki tomonlama aloqa, faqat yarim dupleks uzatishga ruxsat beriladi. Agar ma'lumotlar har ikki yo'nalishda harakatlanishi kerak bo'lsa, ikkita FIFO s bor odatda ishlatilgan. Bundan tashqari, the muloqot qilish jarayonlar yashashi kerak yoqilgan the bir xil mashina. Agar mashinalararo aloqa hisoblanadi talab qilinadi, rozetkalarni (3.8.1-bo'lim) ishlatish kerak.
Nomlangan quvurlar yoqilgan Windows tizimlari ta'minlash a boyroq aloqa UNIX tizimidagi hamkasblariga qaraganda mexanizm . To'liq dupleks aloqaga ruxsat beriladi va aloqa jarayonlari bir xil yoki boshqa mashinalarda bo'lishi mumkin. Bundan tashqari, faqat baytga yo'naltirilgan ma'lumotlar UNIX FIFO orqali uzatilishi mumkin , holbuki Windows tizimlari ruxsat berish yoki bayt- yoki xabarga yo'naltirilgan ma'lumotlar. Nomlangan quvurlar CreateNamedPipe() funksiyasi bilan yaratiladi va mijoz ConnectNamedPipe() yordamida nomlangan quvurga ulanishi mumkin . Nomlangan quvur orqali aloqa ReadFile() va WriteFile() yordamida amalga oshirilishi mumkin. funktsiyalari.
Aloqa ichida Mijoz - Server Tizimlar
3.4-bo'limda biz jarayonlar umumiy xotira yordamida qanday aloqa qilishini tasvirlab berdik va xabar o'tish. Bular texnikalar mumkin bo'l ishlatilgan uchun aloqa _ ichida mijoz - server tizimlari (Bo'lim 1.10.3) kabi yaxshi. In bu Bo'lim, ikkitasini o'rganamiz boshqa strategiyalar aloqa uchun ichida mijoz - server tizimlari: rozetkalar va
Quvurlar IN AMALIYOT
Quvurlar ko'pincha UNIX buyruq qatori muhitida bir buyruqning chiqishi boshqasiga kirish bo'lib xizmat qiladigan vaziyatlarda qo'llaniladi. Masalan, UNIX ls buyrug'i kataloglar ro'yxatini ishlab chiqaradi. Ayniqsa, uzun katalog ro'yxatlari uchun chiqish bir nechta ekranlar bo'ylab harakatlanishi mumkin. Kamroq buyrug'i chiqishni faqat bitta ekranda ko'rsatish orqali boshqaradi foydalanuvchi oldinga yoki orqaga o'tish uchun ma'lum tugmalardan foydalanishi mumkin bo'lgan vaqt the fayl. Sozlama yuqoriga a quvur orasida the ls va Ozroq buyruqlar ( alohida jarayonlar sifatida ishlaydi) ls chiqishini kirish sifatida kamroq ga etkazib berishga imkon beradi , bu foydalanuvchiga ekran ro'yxatini ko'rsatadigan katta katalogni ko'rsatishga imkon beradi. da a vaqt. A quvur mumkin bo'l qurilgan yoqilgan the buyruq chiziq yordamida | xarakter. To'liq buyruq
ls | Ozroq
Ushbu stsenariyda ls buyrug'i ishlab chiqaruvchi sifatida xizmat qiladi va uning chiqishi iste'mol qilinadi tomonidan the Ozroq buyruq.
Windows tizimlari ta'minlash a Ko'proq buyruq uchun the DOS qobiq bilan UNIX hamkasbiga o'xshash funksionallik kamroq . ( UNIX tizimlari ham taqdim etadi a Ko'proq buyruq, lekin ichida the tilga oid uslub umumiy ichida UNIX , kamroq buyruq ko'proqdan ko'ra ko'proq funksionallikni ta'minlaydi !) DOS qobig'i ham | quvur o'rnatish uchun belgi. Yagona farq shundaki, katalog ro'yxatini olish uchun DOS quyida ko'rsatilganidek, ls emas , balki dir buyrug'idan foydalanadi :
rej | Ko'proq
masofaviy protsedura chaqiruvlari ( RPC ). Biz RPC lar haqidagi yoritilishimizda ko'rib turganimizdek , nafaqat bor ular foydali uchun mijoz - server hisoblash, lekin Android shuningdek foydalanadi masofaviy protseduralar bir xil tizimda ishlaydigan jarayonlar o'rtasida IPC shakli sifatida .
Dostları ilə paylaş: |