Mais conteúdo relacionado
Semelhante a การติดต่อสื่อสารระหว่างโปรเซส (6)
Mais de Thanaporn Singsuk (10)
การติดต่อสื่อสารระหว่างโปรเซส
- 2. การติดต่อสื่อสารระหว่างโปรเซส (Inter Process
Communication:IPC) หมายถึงการที่โปรเซสต่างๆ ทาการติดต่อ
ประสานกัน เพื่อให้การทางานเสร็จสิ้นตามต้องการ โครงสร้างพื้นฐานของการ
ติดต่อสื่อสารระหว่างโปรเซส
ในการส่งข้อความ (Message) ระหว่างโปรเซสนั้น โปรเซสที่ต้องการข้อความ
จากโปรเซสอื่น จะต้องส่งคาร้องไปยังโปรเซสนั้นเมื่อโปรเซสได้รับคาร้องแล้วจึง
ส่งข้อความไปให้เปรเซสที่ร้องขอซึ่ง ขนาดของข้อความไม่จาเป็นต้องเท่ากัน
ในการติดต่อสื่อสารระหว่างโปรเซสจะมีการสร้างลิงค์ (Link) ขึ้นมา
ระหว่างโปรเซส ซึ่งมีทั้งลิงค์ทางกายภาพ (Physical Link)เช่น หน่วยความจา
ร่วม บัส หรือเครือข่าย และลิงค์ทางตรรกะ (Logical Link)
- 4. การรับและส่งข้อความ หรือการใช้ลิงค์สามารถทาได้ ดังนี้
1. การติดต่อสื่อสารเป็นแบบทางตรงหรือทางอ้อม
2. การติดต่อสื่อสารเป็นแบบสมมาตร (Symmetric) หรือไม่สมมาตร
(Asymmetric)
3. พื้นที่ที่ใช้เก็บข้อความเป็นแบบอัตโนมัติหรือใช้บัฟเฟอร์เฉพาะแบบ
4. ส่งข้อความแบบสาเนา (Copy) หรือแบบอ้างอิง (Reference)
5. ข้อความมีขนาดคงที่หรือไม่คงที่
- 5. การตั้งชื่อ (Naming)
โปรเซสที่ด้องการติดต่อสื่อสารกัน จาเป็นต้องมีการอ้างถึงซื่อของ
ผู้รับและผู้ส่ง ซึ่งการอ้างถึงนี้สามารถทาได้ทั้งทางตรงหรือทางอ้อม
การสื่อสารทางตรง (Direct Communication)
การติดต่อแบนนี้จะต้องกาหนดซื่อเฉพาะในการติดต่อทั้งผู้รับและผู้
ส่งลิงค์แบบนี้มีคุณสมบัติคือ
1. ลิงค์จะเกิดขึ้นโดยอัตโนมัติ ระหว่างโปรเซสทั้งสอง โดยแต่ละโปรเซสต้อง
รู้จักซื่อของอีกโปรเซสหนึ่ง
2. ลิงค์ 1 ลิงค์ จะเชื่อมระหว่าง 2 โปรเซสเท่านั้น
3. ลิงค์อาจเป็นแบบลิงค์ทางเดียวหรือลิงค์สองทางก็ได้ แต่ปกติมักเป็นแบบ
ลิงค์สองทาง
- 6. การสื่อสารทางอ้อม (Indirect Communication)
เป็นการติดต่อสื่อสารระหว่างโปรเซสโดยผ่านกล่องจดหมาย
(Mail Box)หรือผ่านทางพอร์ต (Port) โดยข้อความที่ส่งไปมาระหว่าง
โปรเซสจะถูกน่ามาเก็บไว้ในกล่องจดหมายก่อนที่จะส่งไปให้ โปรเซสผู้รับ
กล่องจดหมายแต่ละกล่องจะมีหมายเลขที่ไม่ซ้ากัน ลิงค์แบบนี้มีคุณสมบัติ
คือ
1. มีการสร้างลิงค์ระหว่างโปรเซส เมื่อโปรเซสมีการร่วมกันใช้กล่อง
จดหมาย
2. ลิงค์หนึ่ง ๆ อาจมีความสัมพันธ์กันมากกว่า 2 โปรเซส
3. โปรเซสแต่ละคู่ อาจมีหลายลิงค์ที่แตกต่างกันได้ และแต่ละลิงค์จะ
ติดต่อผ่านกล่อง จดหมายเดียว
4. ลิงค์อาจเป็นแบบลิงค์ทางเดียว หรือลิงค์สองทางก็ได้
- 7. การพักข้อมูล (Buffering)
ในการสร้างลิงค์ นอกจากจะต้องกาหนดเส้นทางแล้วยังต้องมีพื้นที่
ส่วนหนึ่งเพื่อใช้เก็บข้อมูลชั่วคราว ซึ่งการเก็บข้อมูลนี้จะเก็บในลักษณะของคิว
โดยพื้นฐานแล้วคิวนี้มีความจุ 3 รูปแบบคือ
1.ความจุแบบศูนย์ (Zero Capacity) เป็นคิวแบบมีความจุเป็น 0 คือ
จะไม่มีการเก็บข้อความไว้ในคิวเลย เมื่อคิวได้รับข้อความแล้วจะส่งไปยัง
ปลายทางทันที ในกรณีนี้ผู้ส่งจะต้องรอจนกว่าผู้รับจะได้รับข้อความ
2.ความจุแบบมีขอบเขต (Bounded Capacity) เป็นคิวที่มีขนาด
ความจุคงที่ เมื่อใดที่ข้อความยังไม่เต็ม คิวจะรับข้อความเข้ามาอยู่ในคิว
จนกว่าจะเต็ม เมื่อเต็มแล้วต้องรอจนกว่าจะมีที่ว่าง ข้อความใหม่จึงจะเข้ามาใน
คิวได้
3.ความจุแบบไร้ขอบเขต (Unbounded Capacity)เป็นคิวที่มีความจุ
ไม่คงที่สามารถรับข้อความได้ตลอดเวลา ทาให้ผู้ส่งไม่ต้องรอเลย