Rasm 3.21 Qanaqasiga ko'p jarayonlar bor yaratilganmi?
Quyidagilarning har birining afzalliklari va kamchiliklari qanday? Tizim darajasini ham, dasturchi darajasini ham ko'rib chiqing.
Sinxron va asinxron aloqa
Avtomatik va aniq buferlash
Yuborish tomonidan nusxa ko'chirish va yuborish tomonidan ma'lumotnoma
Ruxsat etilgan o'lchamli va o'zgaruvchan o'lchamli xabarlar
#o'z ichiga oladi < sys/types.h > #include < stdio.h > #include < unistd.h >
int asosiy()
{
pid t pid;
/* sanchqi a bola jarayon */ pid = sanchqi();
agar (pid < 0) { /* xato sodir bo'ldi */ fprintf (stderr, "vilka Muvaffaqiyatsiz"); qaytarish 1;
}
boshqa agar (pid == 0) { /* bola jarayon */ exclp("/bin/ls","ls",NULL); printf("LINE J");
}
boshqa { /* ota-ona jarayon */
/* ota-ona bo'ladi Kutmoq uchun the bola uchun to'liq */ kutish (NULL);
printf("Bola To'liq");
}
qaytish 0;
}
Rasm 3.22 Qachon bo'ladi LINE J bo'l yetdi?
#o'z ichiga oladi < sys/types.h > #include < stdio.h > #include < unistd.h >
int asosiy()
{
pid t pid, pid1;
/* sanchqi a bola jarayon */ pid = sanchqi();
agar (pid < 0) { /* xato sodir bo'ldi */ fprintf (stderr, "vilka Muvaffaqiyatsiz"); qaytarish 1;
}
boshqa agar (pid == 0) { /* bola jarayon */ pid1 = getpid();
printf("bola: pid = %d",pid); /* A */ printf("bola: pid1 = %d",pid1); /* B */
}
boshqa { /* ota-ona jarayon */ pid1 = getpid();
printf("ota-ona: pid = %d",pid); /* C */ printf("ota-ona: pid1 = %d",pid1); /* D */ kutish (NULL);
}
qaytish 0;
}
Dostları ilə paylaş: |