1 loop:if (pfill->flag == 1) goto loop;
2 issue start-I/O command to control unit;
3 wait while pfill->buffer is being filled;
4 pfill->rec_ctr = 1;
5 pfill->flag = 1;
6 pfill = pfill->next;
7 goto loop;
1 ÇöÀç ¹öÆÛÀÇ flag°¡ 0ÀÌ µÉ ¶§(¹öÆÛ°¡ ´Ù ºô¶§)±îÁö ·çÇÁ¸¦
µ¹¸é¼ ±â´Ù¸°´Ù. flag°¡ 1ÀÌ ¾Æ´Ï¸é ´ÙÀ½¹®Àå ¼öÇà.
2 Á¦¾îÀåÄ¡¿¡ input/outputÀÇ ½ÃÀÛ ¸í·ÉÀ» ³»¸°´Ù.
3 ¹öÆÛ°¡ ´Ù Âû¶§±îÁö ±â´Ù¸°´Ù.
4 ÇöÀç ¹öÆÛÀÇ rec_ctr¸¦ 1·Î ¼¼Æà ÇÑ´Ù.
5 ÇöÀç ¹öÆÛÀÇ flag¸¦ 1·Î ¼¼Æà ÇÑ´Ù.
6 ÇöÀç ¹öÆÛ¸¦ °¡¸®Å°°í ÀÖ´Â pfillÆ÷ÀÎÅ͸¦ ´ÙÀ½ ¹öÆÛ¸¦
°¡¸®Å°°Ô ÇØ ÁØ´Ù.
7 ´ÙÀ½ ¹öÆÛ¸¦ °¡¸®Å°°í ÀÖ´Â pfillÆ÷ÀÎÅ͸¦ °®°í ´Ù½Ã ¸Ç
óÀ½ ¹®ÀåÀ¸·Î µ¹¾Æ °£´Ù.
1 wait:if (pempty->flag) == 0) goto wait;
2 read record[pempty->rec_ctr] into the record work area;
3 pempty->rec_ctr = pempty->rec_ctr + 1
4 if (pempty->rec_ctr > n)
5 {
6 pempty->flag = 0;
7 ¡¦(»ý·«)
|