Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

Machine Translated by Google

บทที 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 registers – เนือหาของ register-centric ทังหมด

ข้
อมูลการจัดตารางเวลา 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

โปรแกรม C Forking แยกกระบวนการ

แนวคิดระบบปฏิบต
ั ิการ – 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

สถาปตยกรรมมัลติโพรเซส – เบราว์เซอร์ Chrome


เว็
บเบราว์เซอร์หลายตัวทํ
างานเปนกระบวนการเดียว (
บางอันก็
ยง
ั ทํ
าอยู)

• หากเว็
บไซต์หนึ
งสร้
างปญหา เบราว์เซอร์ทังหมดอาจหยุ
ดทํ
างานหรือขัดข้
องได้

เบราว์เซอร์ Google Chrome มีหลายกระบวนการโดยมีกระบวนการ 3 ประเภททีแตกต่างกัน:

• กระบวนการ เบราว์เซอร์ จัดการอินเทอร์เฟซผูใ้


ช้ดิสก์ และ I/O เครือข่าย

• กระบวนการ Renderer แสดงผลหน้


าเว็
บ จัดการกับ HTML,Javascript เรนเดอร์ใหม่ทีสร้
างขึ

สํ
าหรับแต่ละเว็
บไซต์ทีเปดขึ

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

ตัวอย่างของระบบ IPC – Windows


การส่งข้
อความเปนศูนย์กลางผ่าน การเรียกขันตอนท้
องถินขันสูง
สิงอํ
านวยความสะดวก (
LPC)

• ทํ
างานระหว่างกระบวนการในระบบเดียวกันเท่านัน

• ใช้
พอร์ต (
เช่น กล่องจดหมาย)เพือสร้
างและรักษาช่องทางการสือสาร

• การสือสารทํ
างานดังนี:

4 ไคลเอนต์เปดหมายเลขอ้
างอิงเพือ เชือมต่อ ระบบย่อย
วัตถุ
พอร์ต

4 ลูกค้
าส่งคํ
าขอเชือมต่อ

4 เซิรฟ
์ เวอร์สร้
าง พอร์ตสือสาร ส่วนตัวสองพอร์ต และ
ส่งคืนหมายเลขอ้
างอิงไปยังหนึ
งในนันให้
กับลูกค้

4 ไคลเอนต์และเซิรฟ
์ เวอร์ใช้
ตัวจัดการพอร์ตทีสอดคล้
องกันเพือส่งข้
อความหรือโทร
กลับและรับฟงการตอบกลับ

แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.34 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google

การเรียกขันตอนภายในเครืองใน Windows

แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.35 น ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google

ท่อ
ทํ
าหน้
าทีเปนช่องทางให้
สองกระบวนการสือสารกัน

ปญหา:

• การสือสารเปนทิศทางเดียวหรือสองทิศทาง?

• ในกรณีของการสือสารสองทาง เปนแบบ half-duplex หรือ full-duplex?

• ต้
องมีความสัมพันธ์ (
เช่น พ่อ-ลูก)ระหว่างกระบวนการสือสารหรือไม่?

• สามารถใช้
ท่อผ่านเครือข่ายได้
หรือไม่?

ท่อธรรมดา – ไม่สามารถเข้
าถึ
งได้
จากภายนอกกระบวนการทีสร้
างมันขึ
นมา โดยทัวไป กระบวนการพาเรนต์จะ
สร้
างไพพ์และใช้
เพือสือสารกับโปรเซสย่อยทีสร้
างขึ
น เนมไพพ์ – สามารถเข้
าถึ
งได้
โดยไม่ต้
องมีความสัมพันธ์
แบบพ่อแม่ลก

แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.36 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google

การสือสารในระบบไคลเอ็
นต์-เซิรฟ
์ เวอร์

เต้
ารับ

การเรียกขันตอนระยะไกล

แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.37 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google

ซ็
อกเก็

ซ็
อกเก็
ต ถูกกํ
าหนดให้
เปนปลายทางสํ
าหรับการสือสาร

การเชือมทีอยู่ IP และ พอร์ต – ตัวเลขทีรวมอยูใ่ นจุ


ดเริมต้
นของแพ็
กเก็
ตข้
อความเพือแยกความแตก
ต่างของบริการเครือข่ายบนโฮสต์

ซ็
อกเก็
ต 161.25.19.8:1625 อ้
างถึ
งพอร์ต 1625 บนโฮสต์ 161.25.19.8

การสือสารประกอบด้
วยซ็
อกเก็
ตคู่หนึ

พอร์ตทังหมดทีตํ
ากว่า 1024 เปน ทีรูจ้ก
ั กันดี ซึ
ง ใช้
สาํ
หรับบริการมาตรฐาน

ทีอยู่ IP พิเศษ 127.0.0.1 (


ย้
อนกลับ)เพืออ้
างถึ
งระบบทีประมวลผล
กํ
าลังวิง

แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.38 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google

ซ็
อกเก็
ตการสือสาร

แนวคิดระบบปฏิบต
ั ิการ – 10
ไทย
ฉบับ 3.39 ซิลเบอร์แชตซ์,กัลวิน และกาญ ©2018
Machine Translated by Google

การเรียกขันตอนระยะไกล

การเรียกขันตอนระยะไกล (
RPC)สรุ
ปการเรียกขันตอนระหว่างกระบวนการบน
ระบบเครือข่าย
• ใช้
พอร์ตอีกครังสํ
าหรับความแตกต่างของบริการ

Stubs – พร็
อกซีฝงไคลเอ็
นต์สาํ
หรับขันตอนจริงบนเซิรฟ
์ เวอร์
Stub ฝงไคลเอ็
นต์จะค้
นหาตํ
าแหน่งเซิรฟ
์ เวอร์และ จัดเรียง พารามิเตอร์
ต้
นขัวฝงเซิรฟ
์ เวอร์ได้
รบ
ั ข้
อความนี แกะพารามิเตอร์ทีจัดเรียงไว้
และดํ
าเนินการตามขันตอนบน
เซิรฟ
์ เวอร์

บน Windows คอมไพล์โค้ ด stub จากสเปคทีเขียนใน Microsoft


ภาษานิยามอินเทอร์เฟซ (
MIDL)

ฉบับ
ไทย
แนวคิดระบบปฏิบต
ั ิการ – 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

You might also like