Professional Documents
Culture Documents
APznzaZI4Z4dZiZhhmHRecLZvwkhOClzXBCAUKpYPAyOvfoasS-RNaIC3-s6LfrmiwEjZl3W-m_r5WECVtmy57IVzLZJ_3eHmL7xQXdeho4UEr_gT8Y-tild-uR1oEYYg_kXPD85Qx-LINjloKwS9kaNkd79QM813nQhetPpsbZ2CnLwgc6JHJSh-4SnX5YjTWSBvqOM-pyuEndZ8Yr (1)
APznzaZI4Z4dZiZhhmHRecLZvwkhOClzXBCAUKpYPAyOvfoasS-RNaIC3-s6LfrmiwEjZl3W-m_r5WECVtmy57IVzLZJ_3eHmL7xQXdeho4UEr_gT8Y-tild-uR1oEYYg_kXPD85Qx-LINjloKwS9kaNkd79QM813nQhetPpsbZ2CnLwgc6JHJSh-4SnX5YjTWSBvqOM-pyuEndZ8Yr (1)
บทที 3: กระบวนการ
แนวคิดระบบปฏิบต
ั ิการ – รุ
น
่ ที 10 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
โครงร่าง
แนวคิดกระบวนการ
การจัดตารางกระบวนการ
การดํ
าเนินการกับกระบวนการ
การสือสารระหว่างกระบวนการ
IPC ในระบบหน่วยความจํ
าทีใช้
รว่ มกัน
IPC ในระบบส่งข้
อความ
ตัวอย่างของระบบ IPC
การสือสารในระบบไคลเอ็
นต์-เซิรฟ
์ เวอร์
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.2 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
วัตถุ
ประสงค์
ระบุ
องค์ประกอบทีแยกจากกันของกระบวนการและอธิบายว่าเปนอย่างไร
แสดงและกํ
าหนดเวลาในระบบปฏิบต
ั ิการ
อธิบายวิธก
ี ารสร้
างและสินสุ
ดกระบวนการในระบบปฏิบต
ั ิการ
รวมถึ
งการพัฒ นาโปรแกรมโดยใช้
การเรียกระบบทีเหมาะสมซึ
งดํ
าเนินการเหล่านี
อธิบายและเปรียบเทียบการสือสารระหว่างกระบวนการโดยใช้
หน่วยความจํ
าร่วมและการส่งข้
อความ
อธิบายการสือสารระหว่างไคลเอนต์กับเซิรฟ
์ เวอร์โดยใช้
ซอ
็กเก็
ตและขันตอนระยะไกล
โทร.
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.3 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
แนวคิดกระบวนการ
ระบบปฏิบต
ั ิการดํ
าเนินการโปรแกรมต่างๆ ทีทํ
างานเปนกระบวนการ
กระบวนการ – โปรแกรมในการดํ
าเนินการ; การดํ
าเนินกระบวนการจะต้
องมีความคืบหน้
าใน
แฟชันตามลํ
าดับ ไม่มก
ี ารดํ
าเนินการตามคํ
าสังแบบขนานของกระบวนการเดียว
หลายส่วน
• รหัสโปรแกรมเรียกอีกอย่างว่า ส่วนข้
อความ
• กิจกรรมปจจุ
บน
ั รวมถึ
ง ตัวนับโปรแกรม การลงทะเบียนโปรเซสเซอร์
• สแต็
ค ทีมีขอ
้มูลชัวคราว
4 พารามิเตอร์ของฟงก์ชน
ั ทีอยูผ
่ ส
ู้ง
่ ตัวแปรท้
องถิน
• ส่วนข้
อมูล ทีประกอบด้
วยตัวแปรส่วนกลาง
• ฮีป ทีมีหน่วยความจํ
าจัดสรรแบบไดนามิกระหว่างรันไทม์
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.4 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
แนวคิดกระบวนการ (
ต่อ)
• โปรแกรมกลายเปนกระบวนการเมือโหลดไฟล์ทีปฏิบต
ั ิการได้
หน่วยความจํ
า
การดํ
าเนินการของโปรแกรมเริมต้
นผ่านการคลิกเมาส์ GUI การปอนชือบรรทัดคํ
าสัง ฯลฯ
หนึ
งโปรแกรมสามารถเปนได้
หลายกระบวนการ
• พิจารณาผูใ้
ช้
หลายคนทีเรียกใช้
โปรแกรมเดียวกัน
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.5 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
ประมวลผลในหน่วยความจํ
า
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.6 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
เค้
าโครงหน่วยความจํ
าของโปรแกรม C
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.7 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
สถานะกระบวนการ
ขณะทีดํ
าเนินการ กระบวนการจะเปลียน สถานะ
• ใหม่: กํ
าลังสร้
างกระบวนการ
• กํ
าลังทํ
างาน: กํ
าลังดํ
าเนินการคํ
าสัง
• กํ
าลังรอ: กระบวนการกํ
าลังรอให้
เหตุ
การณ์บางอย่างเกิดขึ
น
• พร้
อม: กระบวนการกํ
าลังรอทีจะกํ
าหนดให้
กับโปรเซสเซอร์
• สินสุ
ด: กระบวนการดํ
าเนินการเสร็
จสินแล้
ว
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.8 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
ไดอะแกรมของสถานะกระบวนการ
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.9 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
บล็
อกควบคุ
มกระบวนการ (
PCB)
ข้
อมูลทีเกียวข้
องกับแต่ละกระบวนการ (
เรียกอีกอย่างว่า งาน
บล็
อกควบคุ
ม)
สถานะของกระบวนการ – กํ
าลังทํ
างาน กํ
าลังรอ ฯลฯ
ตัวนับโปรแกรม – ตํ
าแหน่งของคํ
าสังเพือดํ
าเนินการต่อไป
ข้
อมูลการจัดตารางเวลา CPU- การจัดลํ
าดับความสํ
าคัญ,คิวการจัดตารางเวลา
ตัวชี
ข้
อมูลการจัดการหน่วยความจํ
า – หน่วยความจํ
าทีจัดสรรให้
กับกระบวนการ
ข้
อมูลทางบัญชี – ใช้
CPU,เวลาทีผ่านไปตังแต่เริมต้
น,เวลาทีจํ
ากัด
ข้
อมูลสถานะ I/O – อุ
ปกรณ์ I/O ทีจัดสรรให้
ประมวลผล รายการไฟล์ทีเปดอยู่
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.10 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
หัวข้
อ
จนถึ
งตอนนี กระบวนการมีเธรดการดํ
าเนินการเพียงชุ
ดเดียว
พิจารณาให้
มต
ี ัวนับโปรแกรมหลายตัวต่อหนึ
งกระบวนการ
• หลายตํ
าแหน่งสามารถดํ
าเนินการพร้
อมกันได้
4 เธรดการควบคุ
มหลายเธรด -> เธรด
ต้
องมีทีเก็
บรายละเอียดเธรด,ตัวนับโปรแกรมหลายตัวใน
พีซบ
ี ี
ดูรายละเอียดในบทที 4
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.11 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การจัดตารางกระบวนการ
ตัวกํ
าหนดตารางเวลากระบวนการ เลือกระหว่างกระบวนการทีมีอยูส
่ าํ
หรับการดํ
าเนิน
การถัดไปบนคอร์ CPU
เปาหมาย -- เพิมการใช้
CPU สูงสุ
ด สลับกระบวนการไปยัง CPU อย่างรวดเร็
ว
แกนกลาง
• คิวพร้
อม – ชุ
ดของกระบวนการทังหมดทีอยูใ่ นหน่วยความจํ
าหลัก พร้
อมและ
รอดํ
าเนินการ
• คิวรอ – ชุ
ดของกระบวนการทีรอเหตุ
การณ์ (
เช่น
อินพุ
ต/เอาต์พุ
ต)
• กระบวนการโยกย้
ายระหว่างคิวต่างๆ
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.12 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
พร้
อมและรอคิว
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.13 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การเปนตัวแทนของการจัดตารางกระบวนการ
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.14 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
CPU สลับจากกระบวนการเปนกระบวนการ
สวิตช์ บริบท เกิดขึ
นเมือ CPU เปลียนจากกระบวนการหนึ
งไปยังอีก
กระบวนการหนึ ง
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.15 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
สวิตช์บริบท
เมือ CPU เปลียนไปใช้
กระบวนการอืน ระบบจะต้
อง บันทึ
ก
สถานะ ของกระบวนการเก่าและโหลด สถานะทีบันทึกไว้
สําหรับ
กระบวนการใหม่ผา่ น สวิตช์บริบท
บริบท ของกระบวนการทีแสดงใน PCB
เวลาสลับบริบทเปนค่าโสหุ
ย
้ทังหมด ระบบไม่มป
ี ระโยชน์
ทํ
างานในขณะทีสลับ
• ยิงระบบปฏิบต
ั ิการและ PCB มีความซับซ้
อนมากเท่าใด
สวิตช์บริบท
เวลาขึ
นอยูก
่ ับการสนับสนุ
นของฮาร์ดแวร์
• ฮาร์ดแวร์บางตัวมีการลงทะเบียนหลายชุ
ดต่อ CPU
โหลดบริบทหลายรายการพร้
อมกัน
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.16 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การดํ
าเนินการเกียวกับกระบวนการ
ระบบต้
องมีกลไกสํ
าหรับ:
• การสร้
างกระบวนการ
• การยุ
ติกระบวนการ
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.17 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การสร้
างกระบวนการ
โดยทัวไป กระบวนการระบุ
และจัดการผ่าน กระบวนการ
ตัวระบุ
(pid)
ตัวเลือกการแบ่งปนทรัพยากร
• ผูป
้กครองและบุ
ตรหลานแบ่งปนทรัพยากรทังหมด
• เด็
กใช้
ทรัพยากรส่วนย่อยของผูป
้กครองร่วมกัน
• ผูป
้กครองและบุ
ตรหลานไม่ใช้
ทรัพยากรร่วมกัน
ตัวเลือกการดํ
าเนินการ
• ผูป
้กครองและเด็
กดํ
าเนินการพร้
อมกัน
• ผูป
้กครองรอจนกว่าเด็
กจะยุ
ติ
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.18 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การสร้
างกระบวนการ (
ต่อ)
พืนทีทีอยู่
• เด็
กทีซํ
ากับผูป
้กครอง
• เด็
กมีโปรแกรมโหลดเข้
าไป
ตัวอย่างยูนิกซ์
• การเรียกระบบ fork(
)สร้
างกระบวนการใหม่
• การเรียกใช้
ระบบ exec(
)ใช้
หลังจาก a fork(
)เพือแทนทีกระบวนการ'
พืนทีหน่วยความจํ
าด้
วยโปรแกรมใหม่
• ผูป
้กครองเรียกกระบวนการ wait(
)รอให้
เด็
กยุ
ติ
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.19 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
ต้
นไม้
ของกระบวนการใน Linux
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.20 น ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.21 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การยุ
ติกระบวนการ
กระบวนการดํ
าเนินการคํ
าสังสุ
ดท้
ายแล้
วขอให้
ระบบปฏิบต
ั ิการ
ลบออกโดยใช้
การเรียกระบบ exit(
)
• ส่งคืนข้
อมูลสถานะจากเด็
กไปยังผูป
้กครอง (
ผ่าน wait(
))
• ทรัพยากรของกระบวนการถูกจัดสรรโดยระบบปฏิบต
ั ิการ
ผูป
้กครองอาจยุ
ติการดํ
าเนินการของกระบวนการย่อยโดยใช้
การเรียกระบบ abort(
)เหตุ
ผลบาง
ประการในการทํ
าเช่นนัน:
• ลูกมีทรัพยากรทีจัดสรรเกิน
• งานทีกํ
าหนดให้
เด็
กไม่จาํ
เปนอีกต่อไป
• พาเรนต์กํ
าลังจะออกจากระบบ และระบบปฏิบต
ั ิการไม่อนุ
ญาตให้
เด็
กดํ
าเนินการต่อหากพาเรนต์
ยุ
ติ
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.22 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การยุ
ติกระบวนการ
ระบบปฏิบต
ั ิการบางระบบไม่อนุ
ญาตให้
มรี ายการย่อยหากพาเรนต์ยุ
ติลง หากกระบวนการยุ
ต ิล ง
กระบวนการย่อยทังหมดจะต้
องถูกยุ
ต ิด ้
วย
• การเลิกจ้
างแบบเรียงซ้
อน ลูก หลาน ฯลฯ ล้
วนเปน
สินสุ
ด.
• การยกเลิกเริมต้
นโดยระบบปฏิบต
ั ิการ
โปรเซสหลักอาจรอการสินสุ
ดของโปรเซสย่อยภายใน
โดยใช้
การเรียกระบบ wait(
)การโทรส่งคืนข้
อมูลสถานะและ pid ของกระบวนการทียุ
ติ
pid = รอ (
&สถานะ)
;
ถ้
าไม่มพ
ี าเรนต์รอ (
ไม่ได้
เรียกใช้
wait(
))กระบวนการจะเปน ซอมบี
หากพาเรนต์ยุ
ติโดยไม่เรียกใช้
การรอ (
)กระบวนการคือ
เด็
กกํ
าพร้
า
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.23 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
• หากเว็
บไซต์หนึ
งสร้
างปญหา เบราว์เซอร์ทังหมดอาจหยุ
ดทํ
างานหรือขัดข้
องได้
4 รันใน แซนด์บอ
็กซ์ ทีจํ
ากัดดิสก์และ I/O เครือข่าย ลดผลกระทบจากการหาประโยชน์ด้
านความ
ปลอดภัย
• กระบวนการ ปลักอิน สํ
าหรับปลักอินแต่ละประเภท
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.24 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การสือสารระหว่างกระบวนการ
กระบวนการร่วมมือสามารถส่งผลกระทบหรือได้
รบ
ั ผลกระทบจากกระบวนการอืนๆ ได้
แก่
การแบ่งปนข้
อมูล
เหตุ
ผลของกระบวนการร่วมมือ:
• การแบ่งปนข้
อมูล
• เร่งความเร็
วการคํ
านวณ
• โมดูลาร์
• ความสะดวกสบาย
กระบวนการร่วมมือจํ
าเปนต้
องมี การสือสารระหว่างกระบวนการ (
IPC)
IPC สองรุ
น
่
• หน่วยความจํ
าทีใช้
รว่ มกัน
• การส่งข้
อความ
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.25 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
โมเดลการสือสาร
(
a)หน่วยความจํ
าทีใช้
รว่ มกัน (
b)การส่งข้
อความ
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.26 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
IPC – หน่วยความจํ
าทีใช้
รว่ มกัน
พืนทีของหน่วยความจํ
าทีใช้
รว่ มกันระหว่างกระบวนการทีต้
องการสือสาร
การสือสารอยูภ
่ ายใต้
การควบคุ
มของกระบวนการของผูใ้
ช้
ไม่ใช่กระบวนการ
ระบบปฏิบต
ั ิการ.
ประเด็
นหลักคือการจัดหากลไกทีจะอนุ
ญาตให้
กระบวนการของผูใ้
ช้
ซง
ิ โครไนซ์การกระทํ
าของพวกเขาเมือ
พวกเขาเข้
าถึ
งหน่วยความจํ
าทีใช้
รว่ มกัน การซิงโครไนซ์มก
ี ารกล่าวถึ
งอย่างละเอียดใน
บทที 6 และ 7
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.27 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
สภาพการแข่งขัน
counter++สามารถใช้
เปน
register1 = ตัวนับ
ทะเบียน 1 = ทะเบียน 1 +1
เคาน์เตอร์ = ลงทะเบียน1
counter-- สามารถดํ
าเนินการเปน
register2 = ตัวนับ
register2 = register2 - 1
เคาน์เตอร์ = register2
พิจารณาการดํ
าเนินการนีสลับกับ “count = 5” ในขันต้
น:
S0: ผูผ
้ลิตเรียกใช้งาน register1 = ตัวนับ {register1 = 5}
S1: ผูผ
้ลิตเรียกใช้งาน register1 = register1 +1 {register1 = 6}
S2: ผูบ
้ริโภคเรียกใช้งาน register2 = ตัวนับ {register2 = 5}
S3: ผูบ
้ริโภคดําเนินการ register2 = register2 – 1 {register2 = 4}
S4: ผูผ
้ลิตดําเนินการ เคาน์เตอร์ = register1 {เคาน์เตอร์ = 6 }
S5: ตัวนับการดํ าเนินการของผูบ
้ริโภค = register2 {ตัวนับ = 4}
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.28 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
สภาพการแข่งขัน (
ต่อ)
คํ
าถาม – เหตุใดจึงไม่มส
ี ภาวะการแย่งชิงในสารละลายแรก (
โดยมากสุ
ด N – 1)สามารถ
เติมบัฟเฟอร์ได้
เพิมเติมในบทที 6.
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.29 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
IPC - การส่งข้
อความ
กระบวนการสือสารระหว่างกันโดยไม่ต้
องอาศัยตัวแปรร่วม
สิงอํ
านวยความสะดวกของ IPC มีสองการดํ
าเนินงาน:
• ส่ง(
ข้
อความ)
• รับ(
ข้
อความ)
ขนาด ข้
อความ เปนแบบคงทีหรือแบบแปรผัน
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.30 น ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การส่งข้
อความ (
ต่อ)
ถ้
ากระบวนการ P และ Q ต้
องการสือสาร พวกเขาจํ
าเปนต้
อง:
• สร้
าง การเชือมโยงการสือสาร ระหว่างกัน
• แลกเปลียนข้
อความผ่านการส่ง/รับ
ปญหาการดํ
าเนินการ:
• วิธก
ี ารสร้
างลิงค์?
• ลิงก์สามารถเชือมโยงกับกระบวนการมากกว่าสองกระบวนการได้
หรือไม่
• สามารถมีกีลิงค์ระหว่างทุ
กคู่ของ
กระบวนการสือสาร?
• ความจุ
ของลิงค์คืออะไร?
• คือขนาดของข้
อความทีลิงค์รองรับได้
แบบตายตัวหรือ
ตัวแปร?
• ลิงค์เปนทิศทางเดียวหรือสองทิศทาง?
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.31 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การซิงโครไนซ์
การส่งข้
อความอาจเปนการบล็
อกหรือไม่บล็
อกก็
ได้
การบล็
อก ถือเปนการ ซิงโครนัส
• การบล็
อกการส่ง -- ผูส
้ง่ จะถูกบล็
อกจนกว่าจะได้
รบ
ั ข้
อความ
• การปดกันการรับ -- ผูร้บ
ั จะถูกปดกันจนกว่าจะมีขอ
้ความ
• การส่งแบบไม่ปดกัน -- ผูส
้ง่ ส่งข้
อความและดํ
าเนินการต่อ
• การรับแบบไม่ปดกัน -- ผูร้บ
ั ได้
รบ
ั :
4 ข้
อความทีถูกต้
อง หรือ
4 ข้
อความเปนโมฆะ
สามารถผสมได้
หลายแบบ
• ถ้
าทังส่งและรับถูกปดกัน เรามี นัดพบ
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.32 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
บัฟเฟอร์
คิวข้
อความแนบลิงค์.
ดํ
าเนินการด้
วยวิธใี ดวิธห
ี นึ
งจากสามวิธ ี
1. ความจุ
เปนศูนย์ – ไม่มข
ี อ
้ความใดอยูใ่ นคิวบนลิงก์
ผูส
้ง่ ต้
องรอผูร้บ
ั (
นัดพบ)
2. ความจุ
ทีมีขอบเขต – ความยาวจํ
ากัดของ ข้
อความ n ข้
อความ
ผูส
้ง่ ต้
องรอหากลิงค์เต็
ม
3. ความจุ
ไม่จาํ
กัด – ความยาวไม่สนสุ
ิ ด
ผูส
้ง่ ไม่เคยรอ
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.33 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
• ทํ
างานระหว่างกระบวนการในระบบเดียวกันเท่านัน
• ใช้
พอร์ต (
เช่น กล่องจดหมาย)เพือสร้
างและรักษาช่องทางการสือสาร
• การสือสารทํ
างานดังนี:
4 ไคลเอนต์เปดหมายเลขอ้
างอิงเพือ เชือมต่อ ระบบย่อย
วัตถุ
พอร์ต
4 ลูกค้
าส่งคํ
าขอเชือมต่อ
4 เซิรฟ
์ เวอร์สร้
าง พอร์ตสือสาร ส่วนตัวสองพอร์ต และ
ส่งคืนหมายเลขอ้
างอิงไปยังหนึ
งในนันให้
กับลูกค้
า
4 ไคลเอนต์และเซิรฟ
์ เวอร์ใช้
ตัวจัดการพอร์ตทีสอดคล้
องกันเพือส่งข้
อความหรือโทร
กลับและรับฟงการตอบกลับ
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.34 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การเรียกขันตอนภายในเครืองใน Windows
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.35 น ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
ท่อ
ทํ
าหน้
าทีเปนช่องทางให้
สองกระบวนการสือสารกัน
ปญหา:
• การสือสารเปนทิศทางเดียวหรือสองทิศทาง?
• ต้
องมีความสัมพันธ์ (
เช่น พ่อ-ลูก)ระหว่างกระบวนการสือสารหรือไม่?
• สามารถใช้
ท่อผ่านเครือข่ายได้
หรือไม่?
ท่อธรรมดา – ไม่สามารถเข้
าถึ
งได้
จากภายนอกกระบวนการทีสร้
างมันขึ
นมา โดยทัวไป กระบวนการพาเรนต์จะ
สร้
างไพพ์และใช้
เพือสือสารกับโปรเซสย่อยทีสร้
างขึ
น เนมไพพ์ – สามารถเข้
าถึ
งได้
โดยไม่ต้
องมีความสัมพันธ์
แบบพ่อแม่ลก
ู
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.36 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การสือสารในระบบไคลเอ็
นต์-เซิรฟ
์ เวอร์
เต้
ารับ
การเรียกขันตอนระยะไกล
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.37 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
ซ็
อกเก็
ต
ซ็
อกเก็
ต ถูกกํ
าหนดให้
เปนปลายทางสํ
าหรับการสือสาร
ซ็
อกเก็
ต 161.25.19.8:1625 อ้
างถึ
งพอร์ต 1625 บนโฮสต์ 161.25.19.8
การสือสารประกอบด้
วยซ็
อกเก็
ตคู่หนึ
ง
พอร์ตทังหมดทีตํ
ากว่า 1024 เปน ทีรูจ้ก
ั กันดี ซึ
ง ใช้
สาํ
หรับบริการมาตรฐาน
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.38 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
ซ็
อกเก็
ตการสือสาร
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.39 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การเรียกขันตอนระยะไกล
การเรียกขันตอนระยะไกล (
RPC)สรุ
ปการเรียกขันตอนระหว่างกระบวนการบน
ระบบเครือข่าย
• ใช้
พอร์ตอีกครังสํ
าหรับความแตกต่างของบริการ
Stubs – พร็
อกซีฝงไคลเอ็
นต์สาํ
หรับขันตอนจริงบนเซิรฟ
์ เวอร์
Stub ฝงไคลเอ็
นต์จะค้
นหาตํ
าแหน่งเซิรฟ
์ เวอร์และ จัดเรียง พารามิเตอร์
ต้
นขัวฝงเซิรฟ
์ เวอร์ได้
รบ
ั ข้
อความนี แกะพารามิเตอร์ทีจัดเรียงไว้
และดํ
าเนินการตามขันตอนบน
เซิรฟ
์ เวอร์
ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 10 3.40 น ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การเรียกขันตอนระยะไกล (
ต่อ)
การจัดการข้
อมูลผ่าน ตัวแทนข้
อมูลภายนอก (
XDL)
รูปแบบบัญชีสาํ
หรับสถาปตยกรรมทีแตกต่างกัน
• ท้
ายใหญ่ และ ท้
ายเล็
ก
การสือสารระยะไกลมีสถานการณ์ความล้
มเหลวมากกว่าในเครือง
• สามารถส่งข้
อความ เพียงครังเดียว แทนทีจะ ส่ง มากทีสุ
ดเพียงครังเดียว
OS โดยทัวไปให้
บริการนัดพบ (
หรือ ผูจ
้บั คู่)เพือเชือมต่อไคลเอ็
นต์และเซิรฟ
์ เวอร์
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.41 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
การดํ
าเนินการของ RPC
แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.42 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google
จบบทที 3
แนวคิดระบบปฏิบต
ั ิการ – รุ
น
่ ที 10 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018