Professional Documents
Culture Documents
(Operating Systems)
น.ท.ไพศาล โมลิ สกุ ล
มงคล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 1
บทที่ 11
ระบบแบบกระจาย
(Distributed System)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 2
ระบบแบบกระจาย
ระบบแบบกระจาย
แนวโน้ มการทำงานของคอมพิวเตอร์ ในปั จจุบนั นันจะมี ้ การทำงานที่เป็ น
ลักษณะของการแบ่งการประมวลผลกันระหว่างโปรเซสเซอร์ หลาย ๆ
โปรเซสเซอร์ ที่ทำงานร่วมกัน
วิธีพื ้นฐานที่ใช้ สำหรับสร้ างระบบคอมพิวเตอร์ เพื่อให้ มีการทำงานใน
ลักษณะกระจายนี ้มีอยู่ 2 วิธี
วิธีแรกจะเป็ นระบบที่เรี ยกว่า “มัลติโปรเซสเซอร์ ” (Multiprocessor system)
หรื อระบบที่ยดึ เหนี่ยวกันอย่างเเหนียวแน่น (Tightly coupled system)
อีกวิธีหนึง่ เรี ยกว่า “ระบบแบบกระจาย” (Distributed system) หรื อระบบที่
ยึดเหนี่ยวกันแบบหลวม (Loosely coupled system)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 3
ลัลักกษณะของระบบแบบกระจาย
ษณะของระบบแบบกระจาย
ระบบแบบกระจาย (Distributed system) หมายถึงกลุม่ ของ
โปรเซสเซอร์ ที่มีการทำงานโดยยึดเหนี่ยวแบบหลวม (Loosely coupled)
โดยโปรเซสเซอร์ แต่ละตัวจะเชื่อมต่อกันโดยใช้ เครื อข่ายการติดต่อสื่อสาร
การระบุถงึ ตำแหน่งของโปรเซสเซอร์ ในระบบแบบกระจายนัน้ ถ้ า
โปรเซสเซอร์ นนอยู
ั ้ ่ที่ตำแหน่งที่ไกลออกไปจากจุดที่อยูน่ นจะเรี
ั้ ยกว่าเป็ น
โปรเซสเซอร์ ระยะไกล (Remote)
ส่วนโปรเซสเซอร์ ที่ตงอยู
ั ้ ่ตำแหน่งที่อยูน่ นจะเรี
ั้ ยกว่าเป็ นโปรเซสเซอร์ ระยะ
ใกล้ (Local)
ของโปรเซสเซอร์ ในระบบแบบกระจายนันจะมี ้ ขนาดต่าง ๆ กันและมีหน้ า ที่
ต่างกันด้ วย
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 4
ลัลักกษณะของระบบแบบกระจาย
ษณะของระบบแบบกระจาย
โดยโปรเซสเซอร์ แต่ละจุดนันอาจจะประกอบไปด้
้ วยไมโครโปรเซสเซอร์
(Microprocessor) สถานีงาน (Workstation) เครื่ องมินิคอมพิวเตอร์
(Minicomputer) และเป็ นระบบคอมพิวเตอร์ ที่เป็ นลักษณะใช้ งานทัว่ ๆ ไป
(general-purpose computer)
คำว่าโหนดสำหรับใช้ ระบุถงึ จุดแต่ละจุดที่ตงของโปรเซสเซอร์
ั้ วัตถุประสงค์
ของระบบแบบกระจายนันก็ ้ เพื่อที่จะสร้ างระบบที่ประสิทธิภาพในสภาพ
แวดล้ อมของการใช้ ทรัพยากรร่วมกัน (shared resources) ของระบบ
ระบบปฏิบตั ิการในระบบแบบกระจายนันจะมี ้ หน้ าที่ให้ ความช่วยเหลือผู้ใช้
ในการเรี ยกใช้ ทรัพยากรจากโหนดต่าง ๆ ในระบบ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 5
วัวัตตถุถุปประสงค์
ระสงค์ขของระบบแบบกระจาย
องระบบแบบกระจาย
การแชร์ ทรั พยากร (Resource sharing) ในระบบที่มีโหนดเชื่อมต่อกัน
หลาย ๆ โหนด ผู้ใช้ ที่อยูโ่ หนดหนึง่ สามารถที่จะใช้ ทรัพยากรจากโหนดอื่น
ได้ ตัวอย่างเช่น ผู้ใช้ จากโหนด A สามารถที่จะใช้ เครื่ องพิมพ์จากโหนด
B ได้ ในขณะเดียวกัน ผู้ใช้ จากโหนด B สามารถที่จะเข้ าถึงไฟล์ที่โหนด A
ได้ โดยทัว่ ไปแล้ วการแชร์ ทรัพยากรในระบบแบบกระจายจะเป็ นการ
สร้ างกลไกสำหรับการแชร์ ไฟล์จากโหนดระยะไกล ประมวลผลข้ อมูลใน
ฐานข้ อมูลแบบกระจาย พิมพ์เอกสารจากโหนดระยะไกล เรี ยกใช้
ฮาร์ ดแวร์ จากระยะไกล และใช้ คำสัง่ ปฏิบตั ิการอื่น ๆ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 6
วัวัตตถุถุปประสงค์
ระสงค์ขของระบบแบบกระจาย
องระบบแบบกระจาย
เพิ่มความเร็วในการประมวลผล (Computation Speedup) การ
ประมวลผลปกตินนสามารถแบ่
ั้ งหน่วยประมวลผลออกเป็ นพาร์ ติชนั
หลาย ๆ พาร์ ติชนั แล้ วให้ แต่ละพาร์ ติชนั ทำการประมวลผลไปพร้ อม ๆ กัน
ได้ ซึง่ ในระบบแบบกระจายสามารถที่จะใช้ วิธีการกระจายการประมวล
ผลระหว่างโหนดแต่ละโหนด โดยให้ ทกุ โหนดสามารถทำการประมวลผล
งานไปพร้ อม ๆ กันได้ ยิ่งไปกว่านันถ้
้ าโหนดใดมีงานที่ต้องประมวลผล
มากเกินไป งานที่รอการประมวลผลอยูน่ นสามารถทีั้ ่จะย้ ายไปประมวล
ผลที่โหนดอื่นได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 7
วัวัตตถุถุปประสงค์
ระสงค์ขของระบบแบบกระจาย
องระบบแบบกระจาย
ความเชื่อถือได้ (Reliability) ในการทำงานของระบบแบบกระจายถ้ า
โหนดใดโหนดหนึง่ ไม่สามารถทำงานได้ โหนดอื่นที่เหลือนันยั้ งสามารถที่
จะทำงานต่อไปได้ นัน่ คือการหยุดการทำงานของโหนดใดโหนดหนึง่ จะ
ต้ องไม่มีผลกระทบกับโหนดอื่น ๆ ที่เหลือ ซึง่ การตรวจหาโหนดที่หยุด
ทำงานนันจะเป็
้ นหน้ าที่ของระบบ และจะต้ องมีการกระทำอย่างใดอย่าง
หนึง่ เพื่อแก้ ไขให้ โหนดที่หยุดทำงานนันสามารถทำงานต่
้ อไปได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 8
วัวัตตถุถุปประสงค์
ระสงค์ขของระบบแบบกระจาย
องระบบแบบกระจาย
การติดต่ อสื่อสาร (Communication) เมื่อหลาย ๆ โหนดเชื่อมต่อกันโดย
ผ่านการติดต่อสื่อสารทางเน็ตเวิร์คทำให้ ผ้ ใู ช้ ที่อยูแ่ ต่ละโหนดสามารถที่จะ
แลกเปลี่ยนข้ อมูลข่าวสารกันได้ เช่น การส่งเมล์ การโอนย้ ายไฟล์ การ
เรี ยกใช้ งานจากระยะไกล ข้ อดีของระบบแบบกระจายคือช่วยให้ คณ ุ
สามารถส่งผ่านข้ อมูลข่าวสารได้ ในระยะไกล ช่วยลดข้ อจำกัดของการ
ทำงานในระยะไกล นอกจากนันยั ้ งมีผลต่อการทำงานในองค์กรใน
ลักษณะของการลดขนาด (downsizing)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 9
การเชื
การเชื่อ่อมต่
มต่ออหรื
หรืออโทโปโลยี
โทโปโลยี(Topology)
(Topology)
การเชื่อมต่ อแบบทุกทิศทาง (Fully Connected Networks)
การเชื่อมต่ อกันเป็ นบางทิศทาง (Partially Connected Networks)
การเชื่อมต่ อแบบตามลำดับชัน้ (Hierarchical Networks)
การเชื่อมต่ อแบบดาว (Star Networks)
การเชื่อมต่ อแบบวงแหวน (Ring Networks)
การเชื่อมต่ อแบบบัส (Bus Networks)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 10
การเชื
การเชื่ อ่ อมต่
มต่ออแบบทุ
แบบทุกกทิทิศศทาง
ทาง
การเชื่อมต่ อแบบทุกทิศทาง (Fully Connected Networks) การเชื่อม
ต่อแบบนี ้แต่ละโหนดจะเชื่อมต่อกันโดยตรงกับโหนดอื่น ๆ ในระบบซึง่ ค่า
ใช้ จา่ ยของการเชื่อมต่อวิธีนี ้จะสูง
เนื่องจากจะต้ องใช้ สายการสื่อสารเชื่อมต่อกันทุก ๆ 2 โหนด แต่อย่างไร
ก็ตามการส่งข้ อมูลในระบบการเชื่อมต่อแบบนี ้จะเร็ว เพราะการส่งข้ อมูล
ระหว่างโหนด 2 โหนดจะใช้ สายการสื่อสารเพียงเส้ นเดียว
ยิ่งไปกว่านันระบบมี
้ ความเชื่อถือได้ สงู นัน่ คือถ้ าสายการสื่อสารสายใด
สายหนึง่ เสียไประบบก็ยงั ทำงานต่อไปได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 11
การเชื่อมต่ อแบบทุกทิศทาง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 12
การเชื
การเชื่ อ่ อมต่
มต่ออกักันนเป็เป็นบางทิ
นบางทิศศทาง
ทาง
การเชื่อมต่ อกันเป็ นบางทิศทาง (Partially Connected Networks) การ
เชื่อมต่อแบบนี ้จะมีการเชื่อมโยงกันโดยตรงของโหนดเพียงบางคูเ่ ท่านัน้
การส่งข้ อความจากโหนดหนึง่ ไปยังอีกโหนดหนึง่ อาจจะต้ องส่งผ่านโหนดอื่น
ๆ ซึง่ เป็ นทางผ่านด้ วย ซึง่ จะมีผลทำให้ สง่ ข้ อมูลช้ า
จากรูปข้ อมูลที่สง่ จากโหนด A ไปยังโหนด D ข้ อมูลจะต้ องส่งผ่านไปยัง
โหนด B และโหนด C ด้ วย
ถ้ าการเชื่อมต่อจากโหนด B ไปยังโหนด C ล้ มเหลว การเชื่อมต่อจะถูกแยก
ออกเป็ น 2 ระบบย่อย
ระบบย่อยแรกจะประกอบไปด้ วยโหนด A, B และ E
อีกระบบย่อยหนึง่ จะประกอบไปด้ วยโหนด C และ D
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 13
การเชื่อมต่ อกันเป็ นบางทิศทาง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 14
การเชื
การเชื่อ่อมต่
มต่ออแบบตามลำดั
แบบตามลำดับบชัชั้ น้ น
การเชื่อมต่อแบบนี ้จะมีลกั ษณะเหมือนกับต้ นไม้
รูปแบบการเชื่อมต่อแบบนี ้มักจะใช้ ในเน็ตเวิร์คขององค์กร สำนักงาน
สาขาเชื่อมต่อกับสำนักงานใหญ่ที่อยูพ่ ื ้นที่เดียวกัน
แต่ละโหนดยกเว้ นโหนดที่เป็ นราก (root) คือโหนดที่อยูลำ
่ ดับสุดท้ าย จะมี
โหนดแม่ (parent) ไม่ซ้ำกันและโหนดแม่นนจะมี ั ้ โหนดลูก (child) หรื อ
ไม่มีโหนดลูกก็ได้
การติดต่อกันระหว่างโหนดแม่กบั โหนดลูกจะมีการติดต่อกันโดยตรง
ส่วนโหนดที่เป็ นหลาน (sibling) จะติดต่อกันโดยผ่านโหนดที่เป็ นแม่อีกที
หนึง่
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 15
การเชื
การเชื่อ่อมต่
มต่ออแบบตามลำดั
แบบตามลำดับบชัชั้ น้ น
โดยข้ อความจะส่งจากโหนดหลานไปยังโหนดหลานอื่นนันจะต้ ้ องส่งขึ ้น
ไปยังโหนดที่เป็ นแม่ก่อนและถึงจะส่งไปให้ ยงั โหนดหลานอีกทีหนึง่
การใช้ รูปแบบการติดต่อแบบนี ้เหมาะกับการติดต่อสื่อสารในระยะใกล้ ๆ
ไม่เหมาะกับการติดต่อสื่อสารระยะไกล
ในกรณีที่โหนดแม่หยุดการทำงานจะทำให้ โหนดลูกที่มีโหนดแม่ตา่ งกันไม่
สามารถติดต่อสื่อสารกันได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 16
การเชื่อมต่ อแบบตามลำดับชั้น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 17
การเชื
การเชื่อ่อมต่
มต่ออแบบดาว
แบบดาว
ในการเชื่อมต่อแบบนี ้จะมีเพียงโหนดเดียวเท่านันที ้ ่เชื่อมต่อกับทุกโหนดที่
อยูใ่ นระบบ
ค่าใช้ จา่ ยของการสร้ างการเชื่อมต่อแบบนี ้จะขึ ้นอยูก่ บั จำนวนโหนดที่
ต้ องการมีในระบบ
การส่งผ่านข้ อมูลจากโหนดหนึง่ ไปยังอีกโหนดหนึง่ ต้ องส่งผ่านโหนดที่เป็ น
ศูนย์กลางเสมอ
ตัวอย่างเช่น ถ้ าต้ องการส่งข้ อมูลจากโหนด A ไปยังโหนด B จะต้ องส่ง
ข้ อมูลจากโหนด A ไปยังโหนดศูนย์กลางก่อน และโหนดศูนย์กลางจะ
ทำการส่งข้ อมูลต่อไปยังโหนด B
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 18
การเชื
การเชื่อ่อมต่
มต่ออแบบดาว
แบบดาว
ความเร็วของการส่งข้ อมูลในระบบนี ้อาจจะไม่แน่นอนเพราะบางครัง้
โหนดศูนย์กลางมีปัญหาในการส่งข้ อมูลทำให้ สง่ ข้ อมูลได้ ช้า
ในรูปแบบการส่งข้ อมูลแบบนี ้โหนดศูนย์กลางจะต้ องทำหน้ าที่สลับ
สัญญาณการส่งข้ อมูล
ในกรณีที่โหนดศูนย์กลางเสียไม่สามารถทำงานได้ ระบบก็จะถูกแบ่งออก
เป็ นย่อย ๆ เท่ากับจำนวนโหนดที่เชื่อมต่อเข้ ากับโหนดศูนย์กลาง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 19
การเชื่อมต่ อแบบดาว
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 20
การเชื
การเชื่อ่อมต่
มต่ออแบบวงแหวน
แบบวงแหวน
การเชื่อมต่อของแต่ละโหนดนันจะต้
้ องเชื่อมต่อกับโหนดอื่นอย่างน้ อย 2
โหนด
ลักษณะของวงแหวนอาจจะเป็ นแบบรอบทิศทาง (unidirectional) หรื อ
อาจจะเป็ นแบบ 2 ทิศทาง (bidirectional) ก็ได้
สำหรับลักษณะการส่งที่เป็ นแบบรอบทิศทางนัน้ แต่ละโหนดสามารถที่จะ
ส่งข้ อมูลไปยังเฉพาะโหนดที่ติดกันได้ โหนดเดียวเท่านัน้
ทุก ๆ โหนดจะต้ องส่งข้ อมูลไปยังทิศทางเดียวกัน
การส่งที่เป็ นแบบ 2 ทิศทางแต่ละโหนดสามารถที่จะส่งข้ อมูลไปยังโหนด
ข้ างเคียงได้ ทงั ้ 2 ข้ าง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 21
การเชื
การเชื่อ่อมต่
มต่ออแบบวงแหวน
แบบวงแหวน
ค่าใช้ จา่ ยของการจัดตังระบบขึ
้ ้นอยูก่ บั จำนวนโหนดในระบบ
แต่คา่ ใช้ จา่ ยในการติดต่อสื่อสารจะสูงเพราะการส่งข้ อมูลจากโหนดหนึง่
ไปยังอีกโหนดหนึง่ นัน้
ข้ อมูลจะต้ องเดินทางไปรอบ ๆ วงแหวนผ่านโหนดต่าง ๆ จนกระทัง่ ถึง
โหนดปลายทาง
ความล้ มเหลวของโหนดใดโหนดหนึง่ ในวงแหวนแบบรอบทิศทางนัน้
อาจจะทำให้ เครื อข่ายแบ่งออกเป็ นส่วน ๆ
หนทางแก้ ปัญหานี ้ก็คือการขยายการเชื่อมต่อของวงแหวนให้ ซ้อนกันตาม
ที่
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 22
(ก) (ข)
การเชื่อมต่ อแบบวงแหวน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 23
การเชื
การเชื่อ่อมต่
มต่ออแบบบั
แบบบัสส
รูปแบบการเชื่อมต่อลักษณะแบบบัสนันจะใช้
้ สายส่งข้ อมูลร่วมกันเพียง
สายเดียว
ทุกโหนดในระบบจะมีการเชื่อมต่อกันโดยตรง ซึง่ อาจจะมีรูปแบบการเชื่อม
ต่อแบบเส้ นตรงดัง
แต่ละโหนดสามารถที่จะติดต่อสื่อสารกันได้ โดยผ่านสายการส่งข้ อมูลสาย
นี ้
รูปแบบการเชื่อมต่อแบบบัสนี ้จะคล้ ายกับการเชื่อมต่อแบบดาวคือจะมี
โหนดหนึง่ เป็ นโหนดศูนย์กลาง
ความล้ มเหลวในการส่งข้ อมูลของโหนดใดโหนดหนึง่ จะไม่มีผลกระทบกับ
การติดต่อสื่อสารกันระหว่างโหนดที่เหลือในระบบ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 24
(ก) รู ปแบบการเชื่อมต่ อแบบเส้ นตรง (ข) การเชื่อมต่ อแบบวงแหวน
การเชื่อมต่ อแบบบัส
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 25
ประเภทของเน็
ประเภทของเน็ตตเวิเวิรร์ ค์ ค(Network
(NetworkTypes)
Types)
เน็ตเวิร์คสามารถแบ่งเป็ น 2 ประเภทคือ
เน็ตเวิร์คเฉพาะที่ (Local area networks)
เน็ตเวิร์คบริเวณกว้ าง (Wide area networks)
ข้ อแตกต่างระหว่างเน็ตเวิร์คทังสองแบบคื
้ อลักษณะของพื ้นที่ที่จดั ตังระบบ
้
ในเน็ตเวิร์คแบบเฉพาะที่นนอุั ้ ปกรณ์ตา่ ง ๆ จะติดตังบนพื
้ ้นที่บริ เวณ
เดียวกัน เช่น ตึกเดียวกันหรื อตึกที่อยูใ่ กล้ ๆ กัน
ส่วนเน็ตเวิร์คบริ เวณกว้ างอุปกรณ์ตา่ ง ๆ จะติดตังอยู
้ บ่ นพื ้นที่ที่หา่ งไกลกัน
ตัวอย่างเน็ตเวิร์คเฉพาะที่คือ อีเธอร์ เน็ต (Ethernet)
ส่วนตัวอย่างของระบบเน็ตเวิร์คบริ เวณกว้ างก็คือ อินเทอร์ เน็ต (Internet)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 26
อีอีเเธอร์
ธอร์เเน็น็ตต(Ethernet)
(Ethernet)
ในระบบอีเธอร์ เน็ตนันคอมพิ
้ วเตอร์ ที่อยูใ่ นระบบจะถูกเชื่อมต่อกันด้ วย
สายเคเบิล โดยสายเคเบิลนี ้จะมีชื่อเรี ยกว่า “อีเธอร์ เน็ต” (Ethernet)
ในอีเธอร์ เน็ตรุ่นแรก ๆ คอมพิวเตอร์ แต่ละตัวจะเชื่อมติดเข้ ากับสายเคเบิล
การส่งข้ อมูลในระบบนี ้ ขันแรกคอมพิ
้ วเตอร์ จะรอฟั งสัญญาณจากสาย
เคเบิลว่าขณะนี ้มีคอมพิวเตอร์ เครื่ องอื่น ๆ กำลังส่งข้ อมูลกันอยูห่ รื อไม่
ถ้ าไม่มีการส่งข้ อมูลอยู่ คอมพิวเตอร์ เครื่ องนันก็้ จะสามารถทำการส่ง
ข้ อมูลได้
แต่ถ้ามีการส่งข้ อมูลอยูใ่ นขณะนันคอมพิ
้ วเตอร์ เครื่ องนันจะต้
้ องรอจนกว่า
การส่งข้ อมูลนันจะเสร็
้ จสิ ้นลงถึงจะทำการส่งข้ อมูลได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 27
อีอีเเธอร์
ธอร์เเน็น็ตต(Ethernet)
(Ethernet)
ถ้ าคอมพิวเตอร์ 2 เครื่ องส่งเริ่มส่งข้ อมูลในเวลาเดียวกัน จะเกิดการชน
กันของการส่งข้ อมูลขึ ้น
ระบบจะให้ คอมพิวเตอร์ ทงั ้ 2 เครื่ องนันหยุ
้ ดทำการส่งข้ อมูล และรอเป็ น
ระยะเวลาตังแต่ ้ 0 และ T ไมโครวินาที แล้ วจึงเริ่มทำการส่งข้ อมูลใหม่ได้
ในระบบอีเธอร์ เน็ตนี ้ความยาวของสายเคเบิลจะมีความยาวได้ ไม่จำกัด
และสามารถที่จะนำคอมพิวเตอร์ มาเชื่อมต่อได้ ไม่จำกัดด้ วยเหมือนกัน
ถ้ าพื ้นที่กว้ างเกินกว่าความยาวสายเคเบิลจะไปถึงก็สามารถที่จะติดตังอี ้
เธอร์ เน็ตซ้ อนลงไปได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 28
อีอีเเธอร์
ธอร์เเน็น็ตต(Ethernet)
(Ethernet)
อุปกรณ์ที่ชื่อว่า บริดจ์ (bridge) เป็ นตัวเชื่อมต่ออีเธอร์ เน็ตเข้ าด้ วยกัน
เพื่อหลีกเลี่ยงการชนกันของการส่งข้ อมูล อีเธอร์ เน็ตสมัยใหม่จะมี
อุปกรณ์ชว่ ยคือสวิตช์ (switch)
สวิตช์แต่ละตัวจะมีพอร์ ต (port) หลายพอร์ ตซึง่ พอร์ ตนี ้จะใช้ สำหรับต่อ
เข้ ากับคอมพิวเตอร์ อีเธอร์ เน็ต หรื อต่อเข้ ากับสวิตช์ตวั อื่น
ข้ อมูลจะถูกเก็บไว้ ที่สวิตช์แล้ วข้ อมูลนันจะถู
้ กส่งไปยังพอร์ ตของเครื่ อง
คอมพิวเตอร์ ปลายทาง
การที่ให้ คอมพิวเตอร์ แต่ละเครื่ องมีพอร์ ตเป็ นของตัวเองนัน้ การชนกันของ
การส่งข้ อมูลก็จะไม่เกิดขึ ้น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 29
(ก) อีเธอร์ เน็ตแบบทัว่ ไป (ข) อีเธอร์ เน็ตแบบมีสวิตช์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 30
อิอินนเทอร์
เทอร์เเน็น็ตต(Internet)
(Internet)
อินเทอร์ เน็ตมีจดุ เริ่ มมาจากอาร์ พาเน็ต (ARPANET) ซึง่ เป็ นเน็ตเวิร์คของ
กระทรวงกลาโหมสหรัฐอเมริกาที่สร้ างขึ ้นมาเมื่อปี ค.ศ.1969
เครื อข่ายอาร์ พาเน็ตมีความเจริญเติบโตรวดเร็วมาก มีคอมพิวเตอร์ เข้ ามา
เชื่อมต่อนับร้ อยตัว
ซึง่ ทำให้ เน็ตเวิร์คนี ้กลายเน็ตเวิร์คที่ใหญ่ที่สดุ ซึง่ เรี ยกกันว่า อินเทอร์ เน็ต
(Internet)
ในอินเทอร์ เน็ตจะประกอบไปด้ วยคอมพิวเตอร์ 2 ประเภทคือ
เครื่ องคอมพิวเตอร์ หลัก (host)
เราต์ เตอร์ (routers)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 31
อิอินนเทอร์
เทอร์เเน็น็ตต(Internet)
(Internet)
เครื่ องคอมพิวเตอร์ หลักจะเป็ นคอมพิวเตอร์ พีซี คอมพิวเตอร์ กระเป๋ าหิ ้ว
หรื อเครื่ องเมนเฟรมที่เชื่อมต่อเข้ ากับอินเทอร์ เน็ตก็ได้
ส่วนเราต์เตอร์ จะเป็ นคอมพิวเตอร์ ชนิดพิเศษที่มีหน้ าที่รับข้ อมูลมาจากทุก
ทิศทุกทางและทำการส่งข้ อมูลนันไปยั ้ งปลายทางที่ถกู ต้ อง
เราต์เตอร์ แต่ละตัวจะมีสายที่ใช้ เชื่อมต่อกับเราท์เตอร์ ตวั อื่นและเครื่ อง
คอมพิวเตอร์ หลักอื่นในเครื อข่าย
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 32
อินเทอร์ เน็ต
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 33
อิอินนเทอร์
เทอร์เเน็น็ตต(Internet)
(Internet)
จากภาพด้ านบนของภาพจะแสดงถึงสายการสื่อสารหลัก(backbone)
ในสายการสื่อสารหลักนี ้จะประกอบไปด้ วยเราต์เตอร์ หลาย ๆ ตัว
เราเตอร์ แต่ละตัวจะเชื่อมต่อกันด้ วยสายการสื่อสารความเร็ วสูง (High-
bandwidth fiber)
การสื่อสารข้ อมูลบนอินเทอร์ เน็ตนันข้
้ อมูลที่สง่ จะถูกส่งในรูปของชุดข้ อมูล
หรื อแพ็กเกต (packet)
แต่ละแพ็กเกตจะมีความยาวของข้ อมูลคงที่
แต่ละแพ็กเกตประกอบไปด้ วยที่อยูป่ ลายทาง ซึง่ ที่อยูป่ ลายทางนี ้จะใช้
เป็ นตัวสำหรับระบุเส้ นทางการส่งข้ อมูล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 34
อิอินนเทอร์
เทอร์เเน็น็ตต(Internet)
(Internet)
เมื่อแพ็กเกตเดินทางมาถึงเราเตอร์ เราเตอร์ จะดูแอ็ดเดรสปลายทางแล้ ว
จะทำการค้ นหาในตารางที่เก็บเส้ นทางเพื่อหาเส้ นทางที่เหมาะสมเพื่อส่ง
แพ็กเกตนัน้
กระบวนการนี ้จะทำซ้ำไปเรื่ อย ๆ จนกว่าแพ็กเกตจะถึงเครื่ องคอมพิวเตอร์
ปลายทาง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 35
เน็เน็ตตเวิเวิรร์ ค์ คโปรโตคอล(Network Protocols))
โปรโตคอล(NetworkProtocols
กฎเกณฑ์ตา่ ง ๆ ของการติดต่อสื่อสารกันระหว่างเครื่ องคอมพิวเตอร์ ใน
ระบบใดระบบหนึง่ นันเรี
้ ยกว่า “โปรโตคอล” (Protocol)
ในเน็ตเวิร์คสมัยใหม่จะมีการใช้ โปรโตคอลสแต็ก (Protocol stack) ที่แสดง
ถึงชันต่
้ าง ๆ ของโปรโตคอลที่เรี ยงซ้ อนกัน
โปรโตคอลในแต่ละชันจะมี้ หน้ าที่แตกต่างกันไป
เนื่องจากระบบแบบกระจายส่วนใหญ่เกือบทังหมดจะมี
้ การทำงานพื ้นฐาน
เป็ นแบบอินเทอร์ เน็ต
โปรโตคอลหลักที่ใช้ ในอินเทอร์ เน็ตมี 2 แบบคือ
IP (Internet Protocol)
TCP
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 36
เน็เน็ตตเวิเวิรร์ ค์ คโปรโตคอล
โปรโตคอล(Network Protocols))
(NetworkProtocols
IP (Internet Protocol) จะเป็ นโปรโตคอลข้ อมูลที่ใช้ สำหรับส่งแพ็กเกตไป
ในเน็ตเวิร์คจนถึงปลายทาง
ข้ อมูลที่สง่ ไปนันอาจจะถู
้ กแยกออกเป็ นข้ อมูลย่อย แล้ วถึงจะส่งไปใน
อินเทอร์ เน็ต ข้ อมูลย่อยทังหมดจะถู
้ กส่งไปตามเส้ นทางต่าง ๆ กัน
เมื่อข้ อมูลย่อยทังหมดถึ
้ งปลายทางแล้ วข้ อมูลย่อยทังหมดจะถู
้ กประกอบ
เข้ ากันเป็ นข้ อมูลปกติ
IP ที่ใช้ กน
ั อยูใ่ นปั จจุบนั นี ้มี 2 เวอร์ ชนั คือ v4 และ v6
ในแบบ v4 นันแพ็ ้ กเกตจะเริ่มต้ นด้ วยส่วนหัวข้ อมูลซึง่ มีความยาว 40 ไบต์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 37
เน็เน็ตตเวิเวิรร์ ค์ คโปรโตคอล(Network Protocols))
โปรโตคอล(NetworkProtocols
โดยส่วนหัวข้ อมูลนี ้จะประกอบไปด้ วยหมายเลขที่อยูข่ องต้ นทางมีความ
ยาว 32 บิต และหมายเลขที่อยูป่ ลายทางมีความยาว 32 บิต ซึง่ เรี ยกว่า
IP Address
ระบบที่ใช้ ในอินเทอร์ เน็ต ปกติแล้ วจะเขียนที่อยูเ่ ป็ นเลขฐานสิบแบ่งเป็ น 4
ส่วน
ตัวเลขจะมีคา ่ อยูร่ ะหว่าง 0-255 และคัน่ ด้ วยจุด เช่น 192.31.31.65
เมื่อชุดข้ อมูลเดินทางถึงเราต์เตอร์ เราต์เตอร์ จะดูถง ึ ที่อยูป่ ลายทางและใช้
ที่อยูป่ ลายทางเป็ นตัวกำหนดเส้ นทางในการส่งข้ อมูล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 38
เน็เน็ตตเวิเวิรร์ ค์ คโปรโตคอล(Network Protocols))
โปรโตคอล(NetworkProtocols
เนื่องจาก IP ไม่มีการส่งข้ อมูลตอบกลับ ฉะนัน้ IP อย่างเดียวยังไม่สามารถ
ทำให้ การส่งข้ อมูลในอินเทอร์ เน็ตเชื่อถือได้
TCP (Transmission Control Protocol) ซึง ่ เป็ นโปรโตคอลที่อยูช่ นด้
ั ้ านบน
ของ IP ในการเรี ยกใช้ งาน TCP เริ่ มแรกโปรเซสจะต้ องทำการติดต่อไปยัง
โปรเซสระยะไกล
โดยโปรเซสจะต้ องแจ้ งถึง IP ของเครื่ องและหมายเลขพอร์ ตของเครื่ องที่ใช้
สำหรับการติดต่อ
เมื่อได้ ทราบถึงหมายเลข IP และหมายเลขพอร์ ตแล้ วถึงจะเริ่ มทำการส่ง
ข้ อมูลได้ โดยที่ข้อมูลนันได้
้ ถกู ส่งไปยังปลายทางที่ถกู ต้ องและข้ อมูลนันไม่ ้
หล่นหายระหว่างที่ทำการส่ง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 39
เน็เน็ตตเวิเวิรร์ ค์ คโปรโตคอล(Network Protocols))
โปรโตคอล(NetworkProtocols
ในการสร้ างการติดต่อกับเครื่ องคอมพิวเตอร์ หลักในเน็ตเวิร์คนันจำเป็
้ นที่
จะต้ องทราบหมายเลข IP ของเครื่ องคอมพิวเตอร์ นนั ้
เนื่องจากการใช้ หมายเลข IP นันไม่้ สะดวกต่อการใช้
จึงได้ มีการใช้ DNS(Domain Name System) แทนซึง่ จะเป็ นการระบุชื่อ
ของเครื่ องคอมพิวเตอร์ ที่สมั พันธ์กบั หมายเลข IP ของเครื่ องคอมพิวเตอร์
นัน้
ดังนันคุ
้ ณสามารถใช้ ชื่อ DNS เป็ น asiaaccess.net.th แทนการใช้
หมายเลข IP 203.145.0.1 โดยที่การใช้ DNS จะเป็ นที่นิยมใช้ กนั มาก
เพราะจำง่ายกว่าการจำเป็ นหมายเลข
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 40
มิมิดดเดิเดิลลแวร์
แวร์ (Middleware)
(Middleware)
ความมุง่ หมายของระบบแบบกระจายคือการที่จะให้ คอมพิวเตอร์ หลาย ๆ
เครื่ องที่เชื่อมต่อกันในเน็ตเวิร์คนันสามารถที
้ ่จะทำงานร่วมกันภายใต้ ข้อ
กำหนดเดียวกันได้
หนทางหนึง ่ ที่ระบบแบบกระจายทำให้ ฮาร์ ดแวร์ และซอฟต์แวร์ ตา่ ง ๆ กัน
สามารถทำงานร่วมกันได้ โดยไม่มีปัญหาก็คือการเพิ่มซอฟต์แวร์ เข้ ามา
เรี ยกว่า “มิดเดิลแวร์ ” (middleware)
โดยซอฟต์แวร์ ตว ั นี ้จะแสดงถึงโครงสร้ างของข้ อมูลและคำสัง่ ปฏิบตั ิการที่
ใช้ สำหรับให้ โปรเซส ผู้ใช้ และฮาร์ ดแวร์ ทำงานร่วมกันได้ อย่างไม่มีปัญหา
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 41
ตำแหน่ งของมิดเดิลแวร์ ในระบบแบบกระจาย
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 42
มิมิดดเดิเดิลลแวร์
แวร์ททเี่ เี่ป็ป็นเอกสาร
นเอกสาร(Document-Based
(Document-BasedMiddleware)
Middleware)
ซอฟต์แวร์ ประเภทนี ้ที่เป็ นตัวอย่างที่เห็นได้ ชดั และเป็ นที่ร้ ูจกั กันดีคือ เครื อ
ข่ายใยแมงมุม (World Wide Web)
ผู้ที่เขียนเว็บ (web) ขึ ้นมาเป็ นคนแรกคือ Tim Berners-Lee
การทำงานของเว็บนันไม่ ้ ยงุ่ ยากโดยจะถือหลักว่าเครื่ องคอมพิวเตอร์
สามารถที่จะมีเอกสารหลาย ๆ เอกสารในเครื่ องได้ ซงึ่ เรี ยกว่า เว็บเพจ
(Web page)
เว็บเพจแต่ละอันจะประกอบไปด้ วยข้ อความ รูปภาพ เสียง ภาพยนตร์
ฯลฯ และมีไฮเปอร์ ลงิ ค์ (Hyperlink) ซึง่ เป็ นเสมือนตัวชี ้เพื่อเชื่อมโยงไปยัง
เว็บเพจอื่น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 43
โครงสร้ างของเว็บเพจทีล่ งิ ค์ ไปเอกสารมากมาย
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 44
มิมิดดเดิเดิลลแวร์
แวร์ททเี่ เี่ป็ป็นเอกสาร
นเอกสาร(Document-Based
(Document-BasedMiddleware)
Middleware)
เว็บเพจแต่ละเว็บเพจจะมีที่อยูไ่ ม่ซ้ำกัน
ที่อยูข่ องเว็บเพจนันเรี
้ ยกว่า URL (Uniform Resource Locator)
มีรูปแบบเป็ น protocol://DNS-name/file-name โปรโตคอลของเว็บเพจก็
คือ http (Hypertext Transfer Protocol)
ใน DNS นันจะประกอบไปด้
้ วยชื่อของเครื่ องคอมพิวเตอร์ หลักที่เก็บไฟล์
นันอยู
้ ่ (DNS-name) และตามด้ วยชื่อของไฟล์ที่เรี ยกใช้ (file-name)
การทำงานพื ้นฐานของเว็บจะเป็ นลักษณะของระบบไคลเอ็นเซิร์ฟเวอร์
(client-server)
โดยผู้ที่เรี ยกใช้ เว็บจะเป็ นไคลเอ็นต์และที่ตงของเว็
ั้ บก็จะเป็ นเซิร์ฟเวอร์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 45
มิมิดดเดิเดิลลแวร์
แวร์ททเี่ เี่ป็ป็นเอกสาร
นเอกสาร(Document-Based
(Document-BasedMiddleware)
Middleware)
การทำงานของเว็บบราวเซอร์ จะมีขัน้ ตอนดังนีค้ ือ
บราวเซอร์ จะติดต่อไปยัง DNS เพื่อดูหมายเลข IP ของ www.arm.org
หมายเลข IP ที่ได้ คือ 203.222.69.161
บราวเซอร์ จะทำการติดต่อโดยใช้ โปรโตคอล TCP ไปยังพอร์ ต 80 ของ
หมายเลข IP 203.222.69.161
ทำการหาไฟล์ dl/abc.html ในเซิร์ฟเวอร์
เซิร์ฟเวอร์ ที่ชื่อว่า www.arm.org จะทำการส่งไฟล์ dl/abc.html มาให้
การติดต่อก็จะสิ ้นสุดลง
บราวเซอร์ จะทำการแสดงผลข้ อมูลที่อยูใ่ นไฟล์ dl/abc.html
บราวเซอร์ จะทำการดึงรูปภาพที่อยูใ่ นไฟล์ dl/abc.html และแสดงผล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 46
มิมิดดเดิเดิลลแวร์
แวร์ททเี่ เี่ป็ป็นไฟล์
นไฟล์ (File
(FileSystem-Based
System-BasedMiddleware)
Middleware)
แนวความคิดพื ้นฐานแรกของการสร้ างเว็บในระบบแบบกระจายนันจะ ้
เป็ นการนำเอาเอกสารจำนวนมากมายมาเชื่อมโยงเข้ าหากัน
วิธีที่สองคือจะเป็ นการทำให้ ระบบแบบกระจายดูเสมือนเป็ นไฟล์ที่มีขนาด
ใหญ่มาก
ลักษณะของการสร้ างระบบไฟล์ที่มีขนาดใหญ่ในระบบแบบกระจายนันจะ ้
หมายความว่าในระบบจะมีไฟล์เพียงไฟล์เดียวเท่านันและเป็ ้ นไฟล์ที่มี
ขนาดใหญ่มาก
ซึง่ ผู้ใช้ ที่อยูท่ วั่ ทุกมุมโลกสามารถที่จะอ่านหรื อเขียนไฟล์นี ้ได้ ตามสิทธิที่ได้
รับอนุญาต
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 47
รูรูปปแบบการโอนย้
แบบการโอนย้าายไฟล์
ยไฟล์((Transfer
TransferModel)
Model)
รู ปแบบการโอนย้ ายไฟล์ มี 2 รู ปแบบคือ
เป็ นวิธีที่เรี ยกว่าการอัพโหลด/ดาวน์โหลด (upload/download)
วิธีการประมวลผลระยะไกล (remote access model)
การอัพโหลด/ดาวน์โหลดนันโปรเซสสามารถที
้ ่จะใช้ ไฟล์ได้ โดยที่ไคลเอ็นต์
จะต้ องทำการโอนย้ ายไฟล์ที่ต้องการมาจากเครื่ องเซิร์ฟเวอร์ ที่มีไฟล์นนมา ั้
ที่เครื่ องตัวเองก่อน
หลังจากนันโปรเซสก็
้ สามารถที่จะอ่านหรื อเขียนไฟล์นนได้
ั ้ ที่เครื่ องตัวเอง
เมื่อเสร็จสิ ้น ไฟล์ดงั กล่าวก็จะถูกบันทึกกลับไปที่เครื่ องเซิร์ฟเวอร์ เครื่ อง
เดิมที่ได้ ทำการโอนย้ ายไฟล์นนมา ั้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 48
รูรูปปแบบการโอนย้
แบบการโอนย้าายไฟล์
ยไฟล์((Transfer
TransferModel)
Model)
การประมวลผลระยะไกลนัน้ ไฟล์จะยังคงอยู่ที่เครื่ องเซิร์ฟเวอร์ เครื่ อง
ไคลเอ็นต์ที่ต้องการใช้ ไฟล์นนก็ั ้ เพียงแต่เขียนคำสัง่ ส่งไปยังเครื่ อง
เซิร์ฟเวอร์
การกระทำทังหมดก็้ จะกระทำที่เครื่ องเซิร์ฟเวอร์
ข้ อดีของการใช้ วิธีอพั โหลด/ดาวน์โหลดก็คือเป็ นวิธีการที่งา่ ย และเป็ นการ
โอนย้ ายไฟล์ทงหมดในคราวเดี
ั้ ยวกันซึง่ จะมีความสะดวกกว่าการโอนย้ าย
ไฟล์ทีละส่วน
ข้ อเสียของวิธีนี ้คือจะต้ องมีการสิ ้นเปลืองเนื ้อที่ในการจัดเก็บไฟล์ที่โอน
ย้ ายมาไว้ ที่เครื่ องของตนเอง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 49
รู ปแบบการอัพโหลด/ดาวน์ โหลด
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 50
รู ปแบบการประมวลผลระยะไกล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 51
โครงสร้
โครงสร้าางของไดเร็
งของไดเร็กกทอรี
ทอรี (The
(TheDirectory
DirectoryHierarchy)
Hierarchy)
ในระบบไฟล์แบบกระจายนันสนั ้ บสนุนในเรื่ องที่ไดเร็กทอรี หนึง่ สามารถ
จัดเก็บไฟล์ได้ หลายไฟล์
สิง่ ที่ต้องคำนึงถึงก็คือในเรื่ องของการที่ไคลเอ็นต์แต่ละเครื่ องสามารถมอง
เห็นไดเร็ กทอรี ที่อยูใ่ นเซิร์ฟเวอร์ ลกั ษณะเดียวกัน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 52
(ก) (ข) (ค)
่ งเซริ ฟ
(ก) เครือ ่ ง สเี่ หลีย
์ เวอร์ 2 เครือ ่ มหมายถึง
ไดเร็กทอรีและวงกลมหมายถึงไฟล์
(ข) ไคลเอ็นต์ทงั้ 2 เครือ ่ งมองเห็นรูปแบบการจ ัดเก็บ
ไฟล์ ในเซ
ระบบปฏิบต ิ
ั ฟ
ร ์ิ าร
ก เวอร์ เหมือSystems)
(Operating นก ัน 53
การตั
การตั้ง้งชืชื่อ่อ(Naming
(NamingTransparency)
Transparency)
ปั ญหาหลักปั ญหาหนึง่ ของการตังชื ้ ่อพาธในเน็ตเวิร์คมีรูปแบบอยู่ 2 รูป
แบบ
รูปแบบแรกคือ Location transparency หมายถึงการตังชื ้ ่อพาธที่เก็บไฟล์
โดยไม่สื่อให้ ผ้ ใู ช้ ทราบว่าไฟล์นนเก็
ั ้ บอยู่ที่ใดในเน็ตเวิร์ค
เช่น จากพาธ /server1/dir1/dir2/a จะเป็ นการบอกว่าไฟล์ a เก็บอยู่ที่
server1 แต่ไม่ได้ บอกว่าเซิร์ฟเวอร์ นนตั ั ้ งอยู
้ ่ที่ใด
ซึง่ server1 นันสามารถที
้ ่จะเคลื่อนย้ ายไปติดตังที ้ ่ใดก็ได้ ในเน็ตเวิร์คโดยที่
ไม่ต้องเปลี่ยนชื่อพาธในการเรี ยกใช้ ไฟล์ a
แต่อย่างไรก็ตามสมมติวา่ ไฟล์ a นันค่ ้ อนข้ างใหญ่และเนื ้อที่วา่ งบน
server1 มีจำกัด
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 54
การตั
การตั้ง้งชืชื่อ่อ(Naming
(NamingTransparency)
Transparency)
สมมติวา่ เนื ้อที่วา่ งบน server2 ยังมีอีกมาก ระบบอาจจะทำการย้ ายไฟล์ a
ไปไว้ ยงั server2 โดยอัตโนมัติ
แต่เนื่องจากในส่วนแรกของชื่อพาธนันจะเป็ ้ นชื่อของเซิร์ฟเวอร์ ทำให้ ระบบ
ไม่สามารถย้ ายไฟล์ a ไปไว้ ที่ server2 ได้ โดยอัตโนมัติ
ถึงแม้ วา่ ใน server2 นันจะมี
้ ไดเร็ กทอรี dir1 และ dir2 ก็ตาม
ปั ญหาก็คือถ้ าระบบทำการย้ ายไฟล์ a ไปไว้ ที่ server2 โดยอัตโนมัติจะ
ทำให้ พาธเดิมคือ /server1/dir1/dir2/a ต้ องเปลี่ยนเป็ นพาธ
/server2/dir1/dir2/a การเรี ยกใช้ ไฟล์ a ก็จะต้ องเปลี่ยนไปด้ วย
ในระบบที่อนุญาตให้ ไฟล์สามารถย้ ายที่เก็บได้ โดยไม่ต้องทำการเปลี่ยนชื่อ
พาธนันถื้ อว่าระบบนันเป็ ้ นลักษณะของ Location independence
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 55
สัสัมมพัพันนธภาพของการใช้
ธภาพของการใช้ไไฟล์
ฟล์รร่ ว่ วมกั
มกันน(Semantics
(SemanticsofofFile
File
Sharing)
Sharing)
ในการเรี ยกใช้ งานไฟล์เดียวกันพร้ อมกันของผู้ใช้ หลายคน จำเป็ นที่จะต้ อง
กำหนดสัมพันธภาพของการอ่าน (read) และการเขียน (write) ไฟล์เพื่อไม่
ให้ เกิดปั ญหาในการใช้ งานไฟล์นนั ้
สำหรับการใช้ งานในระบบที่เป็ นแบบหน่วยประมวลผลตัวเดียว (single
processor) การอ่านจะต้ องกระทำหลังจากการเขียน ซึง่ ค่าที่ได้ จากการ
อ่านจะเป็ นค่าที่ได้ หลังจากการเขียนแล้ ว
ในลักษณะคล้ าย ๆ กัน เมื่อมีการ เขียน 2 ครัง้ เกิดขึ ้นใกล้ เคียงกัน แล้ วมี
การอ่านค่าที่ได้ จากการอ่านก็จะเป็ นค่าที่ได้ หลังจากมีการเขียนครัง้ ที่ 2
แล้ ว ซึง่ รูปแบบของการกระทำแบบนี ้เรี ยกว่า ลำดับของความต้ องกัน
(sequential consistency)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 56
สัสัมมพัพันนธภาพของการใช้
ธภาพของการใช้ไไฟล์
ฟล์รร่ ว่ วมกั
มกันน(Semantics
(SemanticsofofFile
File
Sharing)
Sharing)
กรณีที่มีเครื่ องเซิร์ฟเวอร์ เครื่ องเดียวในเน็ตเวิร์คและเครื่ องไคลเอ็นต์ไม่ได้
ใช้ วิธีเก็บไฟล์ที่เรี ยกมาจากเครื่ อง เซิร์ฟเวอร์ ไว้ ในแคช
การอ่านและการเขียนทังหมดนั ้ นจะเกิ
้ ดขึ ้นที่เครื่ องเซิร์ฟเวอร์ ซึง่ ที่เครื่ อง
เซิร์ฟเวอร์ จะมีการควบคุมดูแลการเรี ยกใช้ ไฟล์ให้ เป็ นไปตามลำดับของ
ความต้ องกัน (sequential consistency)
ในทางปฏิบตั ิการที่มีเครื่ องเซิร์ฟเวอร์ เพียงเครื่ องเดียวในเน็ตเวิร์คนันจะ ้
ทำให้ ประสิทธิภาพของเน็ตเวิร์คนันไม่ ้ ดีพอ
สามารถแก้ ปัญหานี ้ได้ โดยการอนุญาตให้ เครื่ องไคลเอ็นต์ ทำการก็อปปี ้
ไฟล์ที่ต้องการใช้ บอ่ ย ๆ ไว้ ในแคชส่วนตัวได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 57
สัสัมมพัพันนธภาพของการใช้
ธภาพของการใช้ไไฟล์
ฟล์รร่ ว่ วมกั
มกันน(Semantics
(SemanticsofofFile
File
Sharing)
Sharing)
กรณีที่ client1 กำลังทำการเขียนไฟล์ในแคชส่วนตัวอยู่ และในขณะนัน้
client2 ก็ทำการอ่านไฟล์เดียวกันนันจากเซิ ้ ร์ฟเวอร์
ดังนันไฟล์
้ ที่ client 2 อ่านมาจากเซิร์ฟเวอร์ ก็จะเป็ นไฟล์ก่อนที่ไคลเอ็นต์
จะทำการเขียนลงไป
ถึงแม้ วา ่ แนวความคิดนี ้จะเป็ นแนวทางที่งา่ ยแต่เป็ นวิธีที่ไม่มีประสิทธิภาพ
สามารถสร้ างกฎเกณฑ์ใหม่ขึ ้นมาคือ โปรเซสจะเรี ยกใช้ ไฟล์ได้ ก็ตอ ่ เมื่อ
ไฟล์นนเปิ
ั ้ ดอยู่ และในขณะที่ไฟล์นนเปิ ั ้ ดอยูโ่ ปรเซสอื่นไม่สามารถเรี ยกใช้
ไฟล์นนได้
ั ้ ต่อเมื่อไฟล์นนปิ ั ้ ดแล้ วโปรเซสอื่น ๆ จึงจะสามารถที่จะเรี ยกใช้
ไฟล์นนได้ั้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 58
(ก) แสดงถึงลำดับของความต้ องการ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 59
(ข) การเก็บไฟล์ ทอี่ ่ านมาไว้ ในแคชของ client1 ในระบบแบบกระจายทำให้ ไฟล์ ที่
client2 อ่ านมาจากเซิร์ฟเวอร์ เป็ นไฟล์ เก่ าทีย่ งั ไม่ ได้ เปลีย่ นแปลง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 60
AFS
AFS
AFS ถูกออกแบบและสร้ างขึ ้นที่มหาวิทยาลัยคาร์ เนกี ้เมล่อน AFS ย่อมา
จาก Andrew File System
ตังขึ
้ ้นเพื่อเป็ นเกียรติแก่ผ้ กู ่อตังมหาวิ
้ ทยาลัยคือ Andrew Carnegie และ
Andrew Mellon
โครงการนี ้เริ่ มดำเนินงานเมื่อปี ค.ศ.1980
จุดมุง่ หมายของโครงนี ้ก็คือเพื่อสร้ างระบบคอมพิวเตอร์ ที่ให้ นกั ศึกษาและ
อาจารย์ของมหาวิทยาลัยใช้ งานร่วมกันบนระบบ UNIX
ผู้ใช้ AFS แต่ละคนจะมีเครื่ องคอมพิวเตอร์ ใช้ งานเป็ นของตัวเอง ซึง่ เครื่ อง
คอมพิวเตอร์ จะใช้ ระบบปฏิบตั ิการ UNIX
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 61
AFS
AFS
โครงสร้ างของไดเร็ กทอรี ของ AFS จะเหมือนกับในระบบ UNIX
แต่จะมีไดเร็ กทอรี ที่เพิ่มขึ ้นมาคือ /cmu และ /cache
ในไดเร็กทอรี /cache จะใช้ เก็บไฟล์ที่เป็ น cache remote file ส่วนใน
ไดเร็กทอรี /cmu จะใช้ เก็บชื่อของ cell ที่ใช้ งานร่วมกันได้
แนวความคิดพื ้นฐานของ AFS ก็คือต้ องการที่จะให้ ผ้ ใู ช้ แต่ละคนสามารถ
กระทำสิง่ ต่าง ๆ บนเครื่ องของตัวเองได้ มากเท่าที่จะมากได้
เมื่อทำการเปิ ดไฟล์ขึ ้นมา venus จะใช้ คำสัง่ open และทำการดาวน์โหลด
ไฟล์ทงหมดเข้
ั้ ามาในเครื่ องส่วนตัวและบันทึกไฟล์ลงไปในไดเรคทอรี
/cache
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 62
(ก) ตำแหน่ งของ venus และ vice ใน AFS
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 63
(ข) มุมมองระบบไฟล์ ของไคลเอ็นต์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 64
Publish/Subscribe
Publish/Subscribe
รูปแบบของ Publish/Subscribe จะประกอบไปด้ วยโปรเซสหลาย ๆ โปร
เซสที่ติดต่อกันอยูใ่ นเน็ตเวิร์คแต่ละโปรเซสสามารถที่จะเป็ นผู้สร้ างข้ อมูล
(information producer) ผู้ใช้ ข้อมูล หรื ออาจจะทำหน้ าที่ทงั ้ 2 อย่าง
เมื่อโปรเซสที่ทำหน้ าที่เป็ นผู้สร้ างข้ อมูลได้ สร้ างข้ อมูลใหม่ขึ ้นมา โปรเซ
สนันจะทำการส่
้ งข้ อมูลนันไปเก็
้ บไว้ ในเน็ตเวิร์ค
ที่เก็บข้ อมูลเรี ยกว่า tuple การกระทำแบบนี ้เรี ยกว่า publishing แต่ละ
tuple จะประกอบไปด้ วยฟิ ลด์ (field) คัน่ ด้ วยจุด โปรเซสใดที่ต้องการจะ
ใช้ ข้อมูลนันก็
้ สามารถที่จะ subscribe เพื่อเข้ าถึงข้ อมูลนัน้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 65
Publish/Subscribe
Publish/Subscribe
เมื่อโปรเซสได้ ทำการ publish ข้ อมูลในเน็ตเวิร์คแล้ ว เครื่ องที่อยูใ่ น
เน็ตเวิร์คก็จะทำการก็อปปี ข้ ้ อมูลนันไปไว้
้ ในหน่วยความจำของเครื่ องตัว
เอง
โปรเซสที่เป็ นผู้สร้ างข้ อมูลก็จะทำการพิจารณาอีกว่ามีโปรเซสไหนที่
ต้ องการข้ อมูลนันบ้
้ าง ก็จะทำการส่งสำเนาของข้ อมูลนันไปให้ ้ แต่ละโปรเซ
สที่ต้องการข้ อมูล
ในบางครัง้ จำเป็ นที่จะต้ องมีการเก็บ tuple เก่าเพื่อไว้ ใช้ งานภายหลังอีก
ทางหนึง่ ที่จะสามารถทำได้ คือจะต้ องมีการผูกฐานข้ อมูลติดไว้ กบั ระบบ
และให้ ฐานข้ อมูลนัน้ subscribe กับ tuple ทังหมด
้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 66
สถาปัตยกรรม Publish/Subcribe
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 67
Jini
Jini
ระบบ Jini ประกอบไปด้ วยอุปกรณ์ที่ทำงานด้ วยตัวเองจำนวน
อุปกรณ์ Jini สามารถที่จะเชื่อมต่อกันเข้ าเป็ นเน็ตเวิร์คและสามารถใช้ งาน
ได้ ทนั ทีโดยไม่ต้องมีขนตอนยุ
ั้ ง่ ยากสำหรับการติดตัง้
อุปกรณ์ Jini อาจจะเป็ นเครื่ องคอมพิวเตอร์ ทวั่ ไป หรื ออาจจะเป็ น
เครื่ องพิมพ์ เครื่ องคอมพิวเตอร์ แบบพกพา โทรศัพท์เคลื่อนที่ เครื่ องรับ
โทรทัศน์ หรื ออุปกรณ์ชนิดอื่น ๆ ที่มีซีพียู มีหน่วยความจำ และมีสว่ นที่
เชื่อมต่อเข้ ากับเน็ตเวิร์ค
เมื่อต้ องการเพิ่มอุปกรณ์เข้ าไปในระบบ Jini นัน้ จะต้ องทำการติดต่อไปที่
ชแพ็กเกตข้ อมูล (packet) ที่อยูใ่ น LAN
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 68
Jini
Jini
โดยจะมองหา lookup service ว่ามีอยูห่ รื อไม่ โปรโตคอลที่ใช้ สำหรับหา
lookup service มีชื่อว่า discovery protocol
lookup service รู้วา่ มีอปุ กรณ์ใหม่ต้องการจะเข้ ามาเชื่อมต่อ lookup
service จะทำการตอบกลับไปเป็ นโค้ ด (code)
เนื่องจาก Jini เป็ นระบบที่เขียนขึ ้นโดยใช้ Java ฉะนันโค้
้ ดที่เขียนส่งไปเพื่อ
ทำการลงทะเบียนอุปกรณ์ใหม่นนจะเป็ ั้ น JVM (the Java Virtual
Machine language)
ในช่วงเวลาก่อนที่การลงทะเบียนจะหมดไป อุปกรณ์นนสามารถจะทำการ
ั้
ลงทะเบียนซ้ำได้ อีกถ้ าต้ องการ ซึง่ แนวความคิดของการลงทะเบียนภายใน
ช่วงเวลาที่กำหนดนันเรี้ ยกว่าการ lease
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 69
Jini
Jini
ใน Jini นั้นไคลเอ็นต์และอุปกรณ์ Jini จะติดต่อสื่ อสารและประสานการทำงาน
กันโดยใช้
ในแต่ละ Javaspace จะประกอบไปด้วยเอ็นทรี ย ์ (entry)
แต่ละเอ็นทรี ยป์ ระกอบไปด้วยฟิ ลด์ต่าง ๆ
วิธีที่ใช้สำหรับกำหนด Javaspace มีอยู่ 4 วิธีคือ
Write : เป็ นการเพิม
่ เอ็นทรียใ์ หม่ลงไปใน Javaspace
Read : เป็ นการก็อปปี้ เอ็นทรียท ์ ต ี่ รงกับ template ออกจาก
Javaspace
Take : ก็อปปี้ และลบเอ็นทรียท ์ ตี่ รงกับ template
Notify : เป็ นการแจ ้งให ้ทราบว่าได ้เขียนเอ็นทรียใ์ หม่ลง
Javaspace แล ้ว
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 70