โปรเซสเซอร์แบบมัลติคอร์สามารถรันหลายกระบวนการในเวลาเดียวกันได้หรือไม่?


9

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

คำตอบ:


14

เท่าที่ระบบปฏิบัติการและแอพพลิเคชั่นนั้นเกี่ยวข้องกันแต่ละคอร์เป็นโปรเซสเซอร์แยกต่างหากและอยู่ภายใต้กฎความสัมพันธ์แบบเดียวกับที่มีโปรเซสเซอร์หลายตัว

โปรเซสเซอร์ตัวใด (ไม่ว่าจะเป็นแกนประมวลผลหรือไฮเปอร์เธรด) กระบวนการทำงานขึ้นอยู่กับระบบการตั้งเวลาของระบบปฏิบัติการทั้งหมด มันเป็นระบบการจัดตารางเวลานี้ (ได้รับอิทธิพลจากการตั้งค่าความสัมพันธ์ ) ซึ่งตัดสินใจที่กระบวนการควรทำงานและเมื่อ กระบวนการและเธรดสามารถสลับระหว่างตัวประมวลผลและแกนประมวลผลได้ตามที่ตัวกำหนดตารางเวลาเห็นว่าเหมาะสม


7

จากความรู้ที่ จำกัด ของฉันเกี่ยวกับระบบปฏิบัติการฉันเชื่อว่าทุกกระบวนการมีเธรดอย่างน้อยหนึ่งเธรดและเป็นเธรดเหล่านี้ที่ได้รับการจัดตารางเวลาไม่ใช่ตัวกระบวนการเอง กระบวนการนี้เก็บข้อมูลเกี่ยวกับโปรแกรมและเธรดที่ตั้งค่าไว้ วิธีนี้แอปพลิเคชันเธรดเดียวจะได้รับการดูแลเหมือนกับแอปพลิเคชันแบบมัลติเธรด แต่แอปพลิเคชันแบบมัลติเธรดสามารถใช้ทรัพยากรได้ดีขึ้น

ตัวอย่างเช่นสมมติว่าเรามีสองกระบวนการที่มีสองเธรดแต่ละอันและแอปพลิเคชั่นเธรดเดี่ยวซึ่งทำงานอย่างหนักในโปรเซสเซอร์แบบดูอัลคอร์ (หรือซีพียูคู่ทำให้ไม่มีความแตกต่างที่นี่)

 Process A
    |_Thread A-1
    |_Thread A-2

 Process B
    |_Thread B-1
    |_Thread B-2

 Process C
    |_Thread C

แต่ละเธรดสามารถกำหนดตารางเวลาได้ทั่วทั้งคอร์ของซีพียูและโหลดมีความสมดุลโดยตัวจัดตารางเวลาระบบปฏิบัติการ

ถ้าเราไปและตั้งค่าความสัมพันธ์ของตัวประมวลผลสำหรับกระบวนการ B เพื่อ จำกัด ให้กับหนึ่ง CPU ดังนั้นเธรดทั้งหมดของกระบวนการนั้นจะถูกผูกไว้กับ CPU นั้นเช่นกันและจะไม่ทำงานบน CPU อื่น ๆ การทำเช่นเดียวกันกับกระบวนการ C จะทำให้ไม่มีการเปลี่ยนแปลงจริงเนื่องจากสามารถทำงานบน CPU ได้ครั้งละหนึ่งเครื่องเท่านั้น


2

คำตอบสั้น ๆ :

  1. ใช่หากระบบปฏิบัติการรองรับ
  2. ทุกวันนี้ระบบปฏิบัติการทั้งหมดรองรับ

กระบวนการและเธรด (เช่นเดียวกับมัลติเธรด) เป็นโครงสร้างระดับ OS เมื่อคุณได้รับระดับต่ำพอในการจัดตารางเวลาสิ่งเหล่านี้จะหายไปและคุณจะมีเธรดการดำเนินการเข้าคิวเพื่อรับเวลาดำเนินการเท่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.