ฉันจะใช้ข้อความจำนวนมากจากแนวคิดระบบปฏิบัติการหนังสือโดย ABRAHAM SILBERSCHATZ, PETER BAER GALVIN และ GREG GAGNE พร้อมกับความเข้าใจในสิ่งต่าง ๆ ของฉันเอง
กระบวนการ
แอปพลิเคชันใด ๆ ที่อยู่ในคอมพิวเตอร์ในรูปแบบข้อความ (หรือรหัส)
เราเน้นว่าโปรแกรมด้วยตัวเองไม่ใช่กระบวนการ โปรแกรมเป็นเอนทิตีแฝงเช่นไฟล์ที่มีรายการคำสั่งที่เก็บไว้ในดิสก์ (มักเรียกว่าไฟล์เรียกทำงาน)
เมื่อเราเริ่มต้นแอปพลิเคชันเราจะสร้างตัวอย่างของการดำเนินการ อินสแตนซ์ของการดำเนินการนี้เรียกว่ากระบวนการ แก้ไข: (ตามการตีความของฉันคล้ายกับคลาสและตัวอย่างของคลาสอินสแตนซ์ของคลาสเป็นกระบวนการ)
ตัวอย่างของกระบวนการคือของ Google Chrome เมื่อเราเริ่ม Google Chrome กระบวนการ 3 อย่างจะเกิดขึ้น:
• กระบวนการของเบราว์เซอร์มีหน้าที่ในการจัดการส่วนต่อประสานผู้ใช้รวมถึงดิสก์และเครือข่าย I / O กระบวนการเบราว์เซอร์ใหม่จะถูกสร้างขึ้นเมื่อ Chrome เริ่มต้นขึ้น กระบวนการเบราว์เซอร์เดียวเท่านั้นที่ถูกสร้างขึ้น
• กระบวนการRendererมีตรรกะสำหรับการแสดงผลหน้าเว็บ ดังนั้นจึงมีตรรกะในการจัดการ HTML, Javascript, รูปภาพและอื่น ๆ ตามกฎทั่วไปกระบวนการสร้างภาพใหม่จะถูกสร้างขึ้นสำหรับแต่ละเว็บไซต์ที่เปิดในแท็บใหม่ดังนั้นกระบวนการของโหมดแสดงภาพหลายภาพอาจใช้งานได้ในเวลาเดียวกัน
• กระบวนการปลั๊กอินถูกสร้างขึ้นสำหรับปลั๊กอินแต่ละประเภท (เช่นแฟลชหรือ QuickTime) ที่ใช้งานอยู่ กระบวนการปลั๊กอินมีรหัสสำหรับปลั๊กอินรวมถึงรหัสเพิ่มเติมที่ทำให้ปลั๊กอินสามารถสื่อสารกับกระบวนการตัวแสดงผลที่เกี่ยวข้องและกระบวนการของเบราว์เซอร์
เกลียว
เพื่อตอบคำถามนี้ฉันคิดว่าคุณควรรู้ก่อนว่าโปรเซสเซอร์คืออะไร ตัวประมวลผลคือชิ้นส่วนของฮาร์ดแวร์ที่ใช้คำนวณจริง แก้ไข: (การคำนวณเช่นการเพิ่มตัวเลขสองตัวเรียงลำดับอาร์เรย์โดยทั่วไปเรียกใช้โค้ดที่เขียน)
ตอนนี้ย้ายไปที่คำจำกัดความของเธรด
ด้ายเป็นหน่วยพื้นฐานของการใช้งาน CPU ; ประกอบด้วย ID เธรดตัวนับโปรแกรมชุดการลงทะเบียนและสแต็ก
แก้ไข: นิยามของเธรดจากเว็บไซต์ของ intel:
เธรดหรือเธรดของการเรียกใช้งานเป็นคำศัพท์ทางซอฟต์แวร์สำหรับลำดับขั้นตอนการสั่งซื้อพื้นฐานที่สามารถส่งผ่านหรือประมวลผลได้โดยซีพียูแกนเดี่ยว
ดังนั้นหากกระบวนการ Renderer จากแอปพลิเคชัน Chrome เรียงลำดับหมายเลขการเรียงจะเกิดขึ้นในเธรด / เธรดของการดำเนินการ (ไวยากรณ์เกี่ยวกับหัวข้อดูเหมือนสับสนกับฉัน)
การตีความสิ่งต่าง ๆ ของฉัน
กระบวนการเป็นอินสแตนซ์การดำเนินการ เธรดคือผู้ปฏิบัติงานจริงที่ดำเนินการคำนวณผ่านการเข้าถึง CPU เมื่อมีหลายเธรดที่กำลังเรียกใช้สำหรับกระบวนการกระบวนการจัดให้มีหน่วยความจำทั่วไป
แก้ไข:
ข้อมูลอื่น ๆ ที่ฉันพบว่ามีประโยชน์เพื่อให้บริบทเพิ่มเติม
คอมพิวเตอร์ยุคใหม่ทุกเครื่องมีหัวข้อมากกว่าหนึ่งหัวข้อ จำนวนเธรดในคอมพิวเตอร์ขึ้นอยู่กับจำนวนของคอร์ในคอมพิวเตอร์
คอมพิวเตอร์พร้อมกัน :
จาก Wikipedia:
การคำนวณพร้อมกันคือรูปแบบของการคำนวณที่มีการคำนวณหลายครั้งในช่วงเวลาที่ทับซ้อนกัน - พร้อมกัน - แทนที่จะเรียงตามลำดับ (การทำให้เสร็จสิ้นก่อนการเริ่มต้นครั้งถัดไป) นี่คือคุณสมบัติของระบบ - ซึ่งอาจเป็นโปรแกรมเดี่ยวคอมพิวเตอร์หรือเครือข่าย - และมีจุดดำเนินการแยกต่างหากหรือ "การควบคุมเธรด" สำหรับการคำนวณแต่ละครั้ง ("กระบวนการ")
ดังนั้นฉันสามารถเขียนโปรแกรมที่คำนวณผลรวมของตัวเลข 4 ตัว:
(1 + 3) + (4 + 5)
ในโปรแกรมที่จะคำนวณผลรวมนี้ (ซึ่งจะเป็นหนึ่งกระบวนการที่ทำงานบนเธรดของการดำเนินการ) ฉันสามารถแยกกระบวนการอื่นซึ่งสามารถเรียกใช้บนเธรดอื่นเพื่อคำนวณ (4 + 5) และส่งคืนผลลัพธ์ไปยังกระบวนการดั้งเดิมในขณะที่ กระบวนการดั้งเดิมคำนวณผลรวมของ (1 + 3)