ฉันรู้ว่าเธรดคืออะไรและฉันรู้ว่ามันทำงานอย่างไร แต่ฉันค่อนข้างสับสนกับสิ่งที่เธรดผู้ใช้และเคอร์เนลเธรดอยู่ในแง่ของสิ่งที่พวกเขาได้รับอนุญาตให้ทำ
คุณช่วยอธิบายให้ชัดเจนว่าเธรดผู้ใช้สามารถทำอะไรและเคอร์เนลเธรดทำอะไรได้บ้าง
ฉันรู้ว่าเธรดคืออะไรและฉันรู้ว่ามันทำงานอย่างไร แต่ฉันค่อนข้างสับสนกับสิ่งที่เธรดผู้ใช้และเคอร์เนลเธรดอยู่ในแง่ของสิ่งที่พวกเขาได้รับอนุญาตให้ทำ
คุณช่วยอธิบายให้ชัดเจนว่าเธรดผู้ใช้สามารถทำอะไรและเคอร์เนลเธรดทำอะไรได้บ้าง
คำตอบ:
เคอร์เนลเธรดบางครั้งเรียกว่า LWP (กระบวนการที่มีน้ำหนักเบา) ถูกสร้างและกำหนดเวลาโดยเคอร์เนล เธรดเคอร์เนลมักจะมีราคาแพงกว่าการสร้างมากกว่าเธรดผู้ใช้และการเรียกระบบเพื่อสร้างเธรดเคอร์เนลโดยตรงเป็นแพลตฟอร์มที่เฉพาะเจาะจงมาก
โดยปกติเธรดผู้ใช้จะถูกสร้างขึ้นโดยเธรดไลบรารีและการกำหนดเวลาได้รับการจัดการโดยเธรดไลบรารีเอง (ซึ่งทำงานในโหมดผู้ใช้) เธรดผู้ใช้ทั้งหมดเป็นของกระบวนการที่สร้างขึ้น ข้อดีของเธรดผู้ใช้คือสามารถพกพาได้ ความแตกต่างที่สำคัญสามารถเห็นได้เมื่อใช้ระบบมัลติโพรเซสเซอร์ผู้ใช้เธรดที่จัดการอย่างสมบูรณ์โดยเธรดไลบรารีไม่สามารถรันคู่ขนานบน CPU ที่แตกต่างกันได้แม้ว่านี่หมายความว่าพวกเขาจะทำงานได้ดีบนระบบยูนิโพรเซสเซอร์ เนื่องจากเคอร์เนลเธรดใช้ตัวกำหนดตารางเวลาเคอร์เนลเธรดเคอร์เนลที่แตกต่างกันสามารถทำงานบน CPU ที่แตกต่างกัน ระบบจำนวนมากใช้เธรดที่แตกต่างกัน
แบบจำลองเธรดแบบหนึ่งต่อหนึ่งแมปกระบวนการผู้ใช้จำนวนมากโดยตรงกับเคอร์เนลเธรดหนึ่งเธรดเคอร์เนลสามารถถือเป็นกระบวนการหลัก แบบจำลองเธรดแบบหนึ่งต่อหนึ่งแมปเธรดผู้ใช้แต่ละเธรดโดยตรงกับเคอร์เนลเธรดหนึ่งเธรดรุ่นนี้ช่วยให้การประมวลผลแบบขนานบนระบบมัลติโปรเซสเซอร์ แต่ละเคอร์เนลเธรดสามารถถูกพิจารณาว่าเป็น VP (กระบวนการเสมือนจริง) ซึ่งจัดการโดยตัวกำหนดตารางเวลา
ที่มา: คำตอบ
นอกจากนี้คุณยังสามารถพบข้อมูลในวิกิพีเดียบทที่ 3 - 3 กระบวนการ, เคอร์เนลเธรด, เธรดผู้ใช้และเส้นใย: