บทที่ 3 การจัดการโปรเซส
นายเอกธพงษ์ ลอนหิน 1/1 เลขที่ 7 เทคโนโลยีคอมพิวเตอร์
บทที่ 3 การจัดการโปรเซส
1.ความหมายของการประมวลผลข้อมูล (Process)
การประมวลผลข้อมูล หมายถึง การจัดการกระทำหรือการเปลี่ยนแปลงข้อมูล จากรูปหนึ่งไปเป็นอีกรูปหนึ่ง เพื่อความสะดวกของผู้ใช้ ซึ่งการประมวลผลข้อมูลจะต้องเกี่ยวข้องกับ
1.1 ข้อมูลนำเข้า (Input Data)
1.2 การประมวลผลข้อมูล (Data Processing)
1.3 ผลลัพธ์ (Output Data)
2.องค์ประกอบของโปรเซส
2.1 ชื่อและหมายเลขประจำตัว
เป็นชื่อหรือหมายเลขโปรเซส ซึ่งจะไม่มีการซ้ำกัน
2.2 คำสั่งโปรแกรม
เป็นคำสั่งที่สามารถรันได้ทันที (ภาษาเครื่อง)
2.3 ข้อมูล
คือ ข้อมูลที่โปรแกรมต้องการหรือนำไปใช้ประกอบการทำงาน ซึ่งข้อมูลนี้อาจจะเป็นข้อมูลของโปรเซสอื่นๆ ที่อาจใช้งานร่วมกันได้
2.4 บล็อกควบคุมโปรเซส (Process Control Bolck : PCB )
3.องค์ประกอบของ PCB
PCB เป็นโตรงสร้างข้อมูลชนิดหนึ่งที่โอเอสสร้างขึ้นในหน่วยความจำเพื่อไว้เก็บข้อมูลสำคัญๆ ของโปรเซสต่างๆ ไว้ เช่น
- หมายเลขประจำตัวโปรเซส (Process Identification Number : Process ID
- สถานะโปรเซส Process State
- ลำดับความสำคัญของโปรเซส (Process Piority)
- พอยน์เตอร์ชี้ไปยังตำแหน่งที่อยู่ของโปรเซสในหน่วยความจำ (Location of Process)
- พอยน์เตอร์ชี้ไปยังทรัพยากรต่างๆ ที่โปรเซสครอบครอง (Current Resource and Limits)
- พื้นที่ที่เก็บค่าของรีจิสเตอร์ (Resgister save area)
- ช่วงเวลาสูงสุด เวลาสะสมในการทำงานของโปรเซส
(Maximum run time and accumulated run time)PSW (Program Status Words)
เป็น ตัวควบคุมลำดับการรันคำสั่งของโปรเซส ซึ่งจะเก็บข้อมูลสถานะของโปรเซสแอดเดรสของคำสั่งต่อไปที่จะถูกรัน ซึ่งเปรียบ เสมือนโปรแกรม Counter
คุณสมบัติของโปรเซส
เป็นตัวกำหนดคุณสมบัติของแต่ละโปรเซส ซึ่งประกอบด้วย
- ลำดับความสำคัญ (Piority)โปรเซสแต่ละโปรเซสจะถูกกำหนดความสำคัญในขณะที่โปรเซสถูกสร้างขึ้น ความสำคัญโปรเซสนี้อาจเปลี่ยนแปลงได้หรือไม่ขึ้นอยู่กับตัวโอเอส แต่โอเอสจะให้สิทธิพิเศษกับโปรเซสที่มีความสำคัญสูง เช่น อาจให้ระยะเวลาในการครอบครองซีพียูที่ยาวนานกว่าโปรเซสอื่นๆ ทั่วไปหรือจะโปรเซสงานที่มีลำดับความสำคัญสูงเป็นอันดับแรกก่อน เป็นต้น
- อำนาจหน้าที่ (Authority) เป็นรายละเอียดที่บอกถึงโปรเซสนั้นๆ ว่าสามารถทำอะไรบ้าง ใช้อุปกรณ์ชิ้นไหนได้บ้าง ตัวอย่างเช่น โปรเซส เอ สามารถรับข้อมูลจากทุกๆโปรเซสในระบบได้ แต่ไม่สามารถใช้งานดิสก์ได้ เป็นต้น
- คุณสมบัติอื่นๆ ที่ตัวโอเอสเป็นตัวกำหนดให้มี
4.สถานะของโปรเซส
1. New
คือโปรเวสที่เพิ่งสร้างขึ้น
2.Ready
คือสถานะที่โปรเซสพร้อมที่จะใช้งานซีพียูทันทีที่โอเอสที่มอบหมายให้ โดยสถานะนี้อยู่ในสถานะพร้อมที่จะรันเท่านั้น ยังไม่มีการรันหรือเอ็กซ์คิวต์แต่อย่างใด
3. Running
คือสถานะที่โปรเซสครอบครองซีพียู หรือซีพียูมีการเอ็กซ์คิวต์คำสั่งของโปรเซสนั้น
4. Waiting
คือสถานะโปรเซสนั้นกำลังรอเหตุการณ์อะไรบ้างอย่าง
5. Block
คือสถานะที่เกิดการขัดจังหวะการอุปกรณ์อินพุต/เอาต์พุต ซึ่งก็คืออินเตอร์รัพต์
6.Terminated
คือสถานะของโปรเซสที่ประมวลผลเสร็จสิ้น
5.การจัดเวลาของโปรเซส
ระบบมัลติโปรแกรมมิ่ง คือ การจัดให้ process สามารถเข้าประมวลผลได้ตลอดเวลา
ระบบแบ่งเวลา คือ การสลับ process เข้าใช้ CPU บ่อย เท่าที่ผู้ใช้รู้สึกว่าทุก process ตอบสนองได้ตลอดเวลา
1. Device queue คือ การจัดคิวของโปรเซสต่าง ๆ เช่น คิวของ I/O คิวของการรอ child process หรือคิวของอินเทอร์รัพต์ เป็นต้น
เมื่อกระบวนการเข้าไปในระบบ จะถูกส่งเข้า job queue ซึ่ง queue จะรวบรวม process ทั้งหมดในระบบ และมีคำหลาย ๆ คำเกี่ยวกับการเข้าคิว เช่น ready, blocked และ running แต่ถ้า process รอเข้า I/O devices จะเรียกว่า device queue ซึ่งทุกอุปกรณ์จะมี device queue ของตนเอง
processes จะย้ายไปมาระหว่าง queue ต่าง ๆ โดยระบบปฏิบัติการมีหน้าที่เลือกตามวัตถุประสงค์ และความเหมาะสม ซึ่งถูกจัดการโดย scheduler สำหรับแต่ละ Device queue ต่างก็มี scheduler ของตนเอง และมี scheduler ส่วนกลาง ควบคุมการทำงานของ process ทั้งหมดอีกครั้งหนึ่ง
2. Context switch คือ การทำงานที่ขึ้นกับความสามารถของฮาร์ดแวร์ เป็นการเลื่อน process ไปยังคิวต่อไป ในกรณีที่มีจำนวนโปรเซสมากกว่าชุดของรีจิสเตอร์ที่มีอยู่ ระบบจะคัดลอกโปรเซสส่วนเกินไปเป็นอีกชุดหนึ่ง เพื่อให้โปรเซสที่จำเป็นต้องเข้ามาได้ใช้รีจิสเตอร์ปัจจุบันได้ สำหรับรายละเอียดการจัดการโปรเซสขึ้นกับความสามารถของ OS เป็นเทคนิคที่หลีกเลี่ยงปัญหาคอขวดของระบบ
หลังประมวลผล Process หนึ่งเรียบร้อย ต้องย้ายไปยัง Process ใหม่ หรือ การย้ายจากหน่วยประมวลผลไปยังอีกกระบวนการหนึ่ง ต้องการ saving the stat of the old process and loading the saved state for the new process ซึ่งงานนี้ถูกเรียกว่า context switch สำหรับคำว่า context of process อาจแทนด้วย PCB of a process
Device queue
Mutual exclusion
คือ การกีดกั้น ในบริเวณ หรือส่วนของโปรแกรมที่ process เข้าครอบครองรีซอร์ส ซึ่งเรียกว่า Critical region ซึ่งการกีดกั้นก็คือการไม่ยอมให้ process ใด ๆ เข้าใช้พื้นที่ ๆ เป็น Critical region ซึ่งมีคุณสมบัติอยู่ 4 ประการ
คุณสมบัติของ mutual exclusion
ไม่มี process อยู่ใน critical region พร้อมกัน
ไม่มีสมมติฐาน และข้อจำกัด ด้านความเร็ว หรือจำนวนซีพียูมาเป็นปัจจัย
ไม่มี process นอก critical region ที่ block การทำงานของ process อื่น
ไม่มี process ที่รอเข้าใจ critical region ตลอดเวลา
ความคิดเห็น
แสดงความคิดเห็น