แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | มัลติทาสกิ้ง | multithreading |
---|---|---|
ขั้นพื้นฐาน | การทำงานหลายอย่างให้ CPU ทำงานหลาย ๆ งานในเวลาเดียวกัน | มัลติเธรดให้ซีพียูดำเนินการหลายเธรดของกระบวนการพร้อมกัน |
การสลับ | ในการทำงานแบบมัลติทาสกิ้งสลับระหว่างโปรแกรมบ่อยๆ | ในการมัลติเธรด CPU สลับระหว่างเธรดบ่อยๆ |
หน่วยความจำและทรัพยากร | ในระบบมัลติทาสกิ้งจะต้องจัดสรรหน่วยความจำและทรัพยากรแยกต่างหากให้กับแต่ละโปรแกรมที่ใช้งาน CPU | ในระบบมัลติเธรดจะต้องจัดสรรหน่วยความจำให้กับกระบวนการหลายเธรดของกระบวนการนั้นจะแชร์หน่วยความจำและทรัพยากรที่จัดสรรให้กับกระบวนการเดียวกัน |
ความหมายของมัลติทาสกิ้ง
การทำงานหลายอย่างคือเมื่อ CPU ตัวเดียวทำงาน หลายอย่าง (โปรแกรมกระบวนการงานเธรด) ในเวลาเดียวกัน ในการทำมัลติทาสก์ CPU จะสลับระหว่างงานเหล่านี้ บ่อยครั้ง มากเพื่อให้ผู้ใช้สามารถโต้ตอบกับแต่ละโปรแกรมพร้อมกันได้
ในระบบปฏิบัติการหลายภารกิจผู้ใช้หลายคนสามารถ แชร์ระบบได้ พร้อมกัน เมื่อเราเห็น CPU เปลี่ยนอย่างรวดเร็วระหว่างงานดังนั้นจำเป็นต้องใช้เวลาเล็กน้อยในการสลับจากผู้ใช้รายหนึ่งไปเป็นผู้ใช้รายถัดไป สิ่งนี้สร้างความประทับใจให้กับผู้ใช้ว่าระบบคอมพิวเตอร์ทั้งหมดนั้นอุทิศตนให้กับเขา
ความหมายของมัลติเธรด
มัลติเธรดแตกต่างจากมัลติทาสกิ้งในแง่ที่มัลติทาสก์อนุญาตให้ทำงานหลายอย่างในเวลาเดียวกันในขณะที่มัลติเธรดช่วยให้ หลายเธรดของงานเดียว (โปรแกรมกระบวนการ) เพื่อประมวลผลโดย CPU ในเวลาเดียวกัน
ก่อนที่จะศึกษามัลติเธรดให้เราพูดถึง เธรดคืออะไร? เธรด เป็นหน่วยดำเนินการขั้นพื้นฐานซึ่งมี ตัวนับโปรแกรมของตัวเองชุดของการลงทะเบียนสแต็ก แต่มันแบ่งปันรหัสข้อมูลและไฟล์ของกระบวนการที่มันเป็นของ กระบวนการสามารถมีหลายเธรดพร้อมกันและ CPU สลับ ระหว่างเธรดเหล่านี้บ่อยครั้งที่สร้างความประทับใจให้กับผู้ใช้ว่าเธรดทั้งหมดกำลังทำงานพร้อมกันและสิ่งนี้เรียกว่ามัลติเธรด
ความแตกต่างที่สำคัญระหว่างมัลติทาสก์และมัลติเธรดในระบบปฏิบัติการ
- ความแตกต่างพื้นฐานระหว่างมัลติทาสกิ้งและมัลติเธรดคือในระบบ มัลติทาสก์ ระบบอนุญาตให้เรียกใช้งานโปรแกรมและงานหลายอย่างในเวลาเดียวกันในขณะที่ มัลติเธรด ระบบจะประมวลผลหลายเธรดของกระบวนการเดียวกันหรือต่างกันในเวลาเดียวกัน
- ในการทำงานแบบมัลติทาสก์ CPU จะต้อง สลับ ไป มา ระหว่าง หลายโปรแกรม เพื่อให้ปรากฏว่ามีหลายโปรแกรมทำงานพร้อมกัน ในทางตรงกันข้ามใน ซีพียู แบบมัลติเธรดต้อง สลับ ไป มา ระหว่าง หลายเธรด เพื่อให้ปรากฏว่าเธรดทั้งหมดกำลังทำงานพร้อมกัน
- การทำงานมัลติทาสกิ้งจัดสรร หน่วยความจำและทรัพยากรแยกต่างหาก สำหรับแต่ละกระบวนการ / โปรแกรมในขณะที่เธรดมัลติเธรดที่อยู่ในกระบวนการเดียวกันจะ แบ่งปันหน่วยความจำและทรัพยากร เดียวกันกับกระบวนการนั้น
สรุป:
มัลติทาสก์มีความคล้ายคลึงกับมัลติโปรแกรมขณะที่มัลติเธรดคือมัลติทาสก์แบบอิงเธรด การทำมัลติเธรดนั้นมีค่าใช้จ่ายน้อยกว่าการใช้มัลติทาสก์เนื่องจากเธรดสามารถสร้างได้ง่าย