บล็อกควบคุมกระบวนการ

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

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

ระบุสถานะกระบวนการ เช่น ใหม่ พร้อมทำงาน รอหรือสิ้นสุด

บทบาท

บทบาทของ PCBs เป็นศูนย์กลางในการจัดการกระบวนการเข้าถึงและ/หรือแก้ไขโดยยูทิลิตี้ส่วนใหญ่ โดยเฉพาะที่เกี่ยวข้องกับการตั้งเวลาและการจัดการทรัพยากร

โครงสร้าง

ใน ระบบปฏิบัติการ แบบมัลติทาสกิ้ง PCB จัดเก็บข้อมูลที่จำเป็นสำหรับการจัดการกระบวนการที่ถูกต้องและมีประสิทธิภาพ [1]แม้ว่ารายละเอียดของโครงสร้างเหล่านี้จะขึ้นอยู่กับระบบ แต่องค์ประกอบทั่วไปแบ่งออกเป็นสามประเภทหลัก:

  • การระบุกระบวนการ
  • สถานะกระบวนการ
  • การควบคุมกระบวนการ

มีตารางสถานะสำหรับแต่ละเอนทิตีที่เกี่ยวข้อง เช่น การอธิบายหน่วยความจำ อุปกรณ์ I/O ไฟล์ และกระบวนการ

ตัวอย่างเช่น ตารางหน่วยความจำประกอบด้วยข้อมูลเกี่ยวกับการจัดสรรหน่วยความจำหลักและรอง (เสมือน) สำหรับแต่ละกระบวนการ คุณลักษณะการอนุญาตสำหรับการเข้าถึงพื้นที่หน่วยความจำที่ใช้ร่วมกันระหว่างกระบวนการต่างๆ เป็นต้น ตาราง I/O อาจมีรายการที่ระบุความพร้อมใช้งานของอุปกรณ์หรือ การกำหนดให้กับกระบวนการ สถานะของการดำเนินการ I/O ตำแหน่งของบัฟเฟอร์หน่วยความจำที่ใช้สำหรับพวกเขา ฯลฯ

ข้อมูลการระบุกระบวนการประกอบด้วยตัวระบุเฉพาะสำหรับกระบวนการ (เกือบจะเป็นจำนวนเต็มคงที่) และในระบบที่มีผู้ใช้หลายราย-มัลติทาสกิ้ง ข้อมูลเช่น ตัวระบุของกระบวนการหลัก ตัวระบุผู้ใช้ ตัวระบุกลุ่มผู้ใช้ ฯลฯ รหัสกระบวนการมีความเกี่ยวข้องเป็นพิเศษ เนื่องจากมักใช้เพื่ออ้างอิงข้ามตารางที่กำหนดไว้ข้างต้น เช่น แสดงว่ากระบวนการใดกำลังใช้อุปกรณ์ I/O ใด หรือพื้นที่หน่วยความจำ

ข้อมูลสถานะกระบวนการกำหนดสถานะของกระบวนการเมื่อถูกระงับ ทำให้ระบบปฏิบัติการสามารถรีสตาร์ทได้ในภายหลัง ซึ่งรวมถึงเนื้อหาของการลงทะเบียน CPU ทั่วไป คำสถานะกระบวนการ CPU ตัวชี้สแต็กและเฟรม ฯลฯ เสมอ ในระหว่าง การ สลับบริบทกระบวนการที่ทำงานอยู่จะหยุดและกระบวนการอื่นทำงาน เคอร์เนลต้องหยุดการดำเนินการของกระบวนการที่ทำงานอยู่ คัดลอกค่าในการลงทะเบียนฮาร์ดแวร์ไปยัง PCB และอัปเดตการลงทะเบียนฮาร์ดแวร์ด้วยค่าจาก PCB ของกระบวนการใหม่

ระบบปฏิบัติการใช้ ข้อมูลการควบคุมกระบวนการเพื่อจัดการกระบวนการเอง ซึ่งรวมถึง:

  • สถานะการจัดกำหนดการกระบวนการ–สถานะของกระบวนการในแง่ของ "พร้อม" "ถูกระงับ" ฯลฯ และข้อมูลการจัดกำหนดการอื่นๆ ด้วย เช่น ค่าลำดับความสำคัญ ระยะเวลาที่ผ่านไปตั้งแต่กระบวนการเข้าควบคุม CPU หรือตั้งแต่นั้นเป็นต้นมา มันถูกระงับ นอกจากนี้ ในกรณีของกระบวนการที่ถูกระงับ จะต้องบันทึกข้อมูลการระบุเหตุการณ์สำหรับเหตุการณ์ที่กระบวนการกำลังรอ
  • ข้อมูลการจัดโครงสร้างกระบวนการ - รหัสย่อยของกระบวนการหรือรหัสของกระบวนการอื่นที่เกี่ยวข้องกับปัจจุบันในลักษณะการทำงานบางอย่าง ซึ่งอาจแสดงเป็นคิว วงแหวน หรือโครงสร้างข้อมูลอื่น ๆ
  • ข้อมูลการสื่อสารระหว่างกระบวนการ - แฟล็ก สัญญาณ และข้อความที่เกี่ยวข้องกับการสื่อสารระหว่างกระบวนการอิสระ
  • ประมวลผลสิทธิ์–อนุญาต/ไม่อนุญาตให้เข้าถึงทรัพยากรระบบ
  • สถานะกระบวนการ–ใหม่พร้อมทำงานรอตาย
  • หมายเลขกระบวนการ (PID)–หมายเลขประจำตัวที่ไม่ซ้ำสำหรับแต่ละกระบวนการ (หรือที่เรียกว่าProcess ID )
  • ตัวนับโปรแกรม (PC)–ตัวชี้ไปยังที่อยู่ของคำสั่งถัดไปที่จะดำเนินการสำหรับกระบวนการนี้
  • CPU Registers–Register กำหนดตำแหน่งที่ต้องจัดเก็บกระบวนการสำหรับการดำเนินการสำหรับสถานะที่กำลังทำงาน
  • CPU Scheduling Information–ข้อมูลการจัดตารางเวลา CPU time
  • ข้อมูลการจัดการหน่วยความจำ–ตารางหน้า ขีดจำกัดหน่วยความจำ ตารางเซกเมนต์
  • ข้อมูลบัญชี–จำนวนของCPUที่ใช้สำหรับการดำเนินการตามกระบวนการ การจำกัดเวลา รหัสการดำเนินการ ฯลฯ
  • ข้อมูลสถานะ I/O–รายการอุปกรณ์ I/O ที่จัดสรรให้กับกระบวนการ

ที่ตั้ง

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

ดูเพิ่มเติม

หมายเหตุ

  1. กาญจน์, อับราฮัม ซิลเบอร์ชาตซ์, ปีเตอร์ แบร์ กัลวิน, เกร็ก (2013) แนวคิดระบบปฏิบัติการ (ฉบับที่ 9) โฮโบเกน รัฐนิวเจอร์ซี: ไวลีย์ น.  107 –108. ISBN 9781118063330.
  2. ^ Yong, Zhang, "Breaking through the maximum Process Number", "Linux Journal", 1 มกราคม 2547, [1] .