งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

บทที่ 2 การจัดการ Process.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "บทที่ 2 การจัดการ Process."— ใบสำเนางานนำเสนอ:

1 บทที่ 2 การจัดการ Process

2 การจัดการโปรเซส Process Management
โปรเซส หมายถึง โปรแกรมที่กำลังเอ็กซิคิวต์อยู่ ในขณะที่โปรเซสกำลังเอ็กซิคิวต์อยู่นั้นจะมีการใช้ทรัพยากร (Resource) ของระบบ เช่น CPU, หน่วยความจำ, ไฟล์, อุปกรณ์ อินพุต/เอาต์พุต ในระบบ Multiprogramming อาจประกอบด้วยโปรเซสมากมาย OS จึงมีหน้าที่ในการจัดการโปรเซสในระบบทั้งหมด ไม่ว่าจะเป็นการสร้าง ลบ การจัดเวลา การจัดจังหวะและการติดต่อสื่อสารภายในโปรเซส

3 องค์ประกอบของโปรเซส โปรเซสที่สมบูรณ์มีองค์ประกอบดังนี้
1. ชื่อและหมายเลขโปรเซส (Process ID) เป็นหมายเลขประจำโปรเซสเพื่อกำหนดลำดับการเอ็กซีคิ้วต์ 2. โค้ดโปรแกรม (Program code) เป็นโค้ดคำสั่งที่เป็นภาษาเครื่องที่สามารถเอ็กซิคิวต์ได้ทันที 3. ข้อมูล (Data) เป็นข้อมูลของโปรเซสหนึ่ง หรืออาจใช้ร่วมกับโปรเซสอื่น ๆ ก็ได้ 4. บล็อกควบคุมโปรเซส (Process Control Block : PCB) เป็นเนื้อที่ของหน่วยความจำที่ระบบปฏิบัติการกำหนดไว้เพื่อเก็บข้อมูที่สำคัญของโปรเซสไว้

4 องค์ประกอบของโปรเซส บล็อกควบคุมโปรเซส (Process Control Block : PCB) OS จะกำหนดเนื้อที่บางส่วนในหน่วยความจำเพื่อทำเป็น PCB พอยเตอร์ สถานะโปรเซส หมายเลขโปรเซส รีจิสเตอร์ ข้อมูลการจัดเวลา ข้อมูลหน่วยความจำ ข้อมูลแอ็กเคาต์ ข้อมูลสถานะ I/O :

5 (Process Control Block : PCB)
4.1 พอยเตอร์(Pointer) สำหรับชี้ตำแหน่งของโปรเซสที่อยู่ในหน่วยความจำ และตำแหน่งของทรัพยากรที่โปรเซสครอบครองอยู่ 4.2 สถานะของโปรเซส(Process Status) แสดงสถานะของโปรเซสที่เป็นอยู่ในปัจจุบัน

6 (Process Control Block : PCB)
4.3 หมายเลขโปรเซส(Process ID) เป็นหมายเลขประจำตัวของโปรเซส 4.4 ตัวนับจำนวน(Program Counter) เป็นตัวนับที่แสดงที่อยู่ของคำสั่งต่อไปที่จะถูกประมวลผล

7 (Process Control Block : PCB)
4.5 รีจิสเตอร์(Register) ทำหน้าที่เก็บข้อมูลสถานะระบบเมื่อมีอินเทอร์รัพเกิดขึ้นเพื่อทำให้โปรแกรมสามารถทำงานต่อไปได้เมื่อกลับมาทำงานอีกครั้ง รีจิสเตอร์จะมีค่าและประเภทที่เปลี่ยนแปลงได้ขึ้นอยู่กับสถาปัตยกรรมของคอมพิวเตอร์ ประเภทของรีจิสเตอร์คือ Accumulator, Index, Stack Pointer และรีจิสเตอร์ทั่วไป

8 (Process Control Block : PCB)
4.6 ข้อมูลการจัดการเวลาซีพียู(CPU Scheduling Information) เป็นข้อมูลที่ประกอบด้วยลำดับความสำคัญของโปรเซสที่ถูกกำหนดโดยระบบปฏิบัติการเมื่อโปรเซสถูกสร้างขึ้นมา สามารถเปลี่ยนค่าไปได้ ซึ่งโปรเซสใดที่มีความสำคัญมากระบบปฏิบัติการจะให้สิทธิมากกว่าโปรเซสอื่น เช่นให้เวลาซีพียูนานกว่า เป็นต้น

9 (Process Control Block : PCB)
4.7 ข้อมูลการจัดการหน่วยความจำ(Memory Management Information) เป็นข้อมูลเกี่ยวกับหน่วยความจำที่ระบบปฏิบัติการกำหนดไว้ เช่นขนาดหน่วยความจำ, ค่าของรีจิสเตอร์, Page table และ Segment table เป็นต้น

10 (Process Control Block : PCB)
4.8 ข้อมูลแอ็กเคาต์(Account Information) เป็นข้อมูลที่อาจประกอบด้วยจำนวน CPU, เวลาที่กำหนด, หมายเลขแอ็กเคาต์, หมายเลขโปรเซส และอื่นๆ 4.9 ข้อมูลสถานะอินพุต/เอาต์พุต(I/O Status Information) เป็นข้อมูลแสดงรายการของอุปกรณ์อินพุต/เอาต์พุตที่โปรเซสนี้ใช้ เป็นต้น

11 องค์ประกอบของโปรเซส (ต่อ)
โปรเซสที่สมบูรณ์มีองค์ประกอบดังนี้ 5. PSW (Program Status Word) เป็นตัวควบคุมลำดับการ เอ็กซิคิวต์คำสั่งของโปรเซส และเก็บข้อมูลเกี่ยวกับสถานะของโปรเซส ที่อยู่ของคำสั่งที่จะเอ็กซิคิวต์ต่อไป 6.คุณสมบัติของโปรเซส ลำดับความสำคัญของโปรเซส (Priority) อำนาจหน้าที่ของโปรเซส (Authority) คุณสมบัติอื่น ๆ

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

13 สถานะของโปรเซส ในขณะที่เอ็กซิคิวต์โปรเซสอยู่นั้น โปรเซสจะมีการเปลี่ยนแปลงสถานะอยู่ตลอดเวลาสามารถแบ่งสถานะดังนี้ สถานะเริ่มต้น (New) เป็นสถานะที่เริ่มต้นสร้างโปรเซส สถานะพร้อม (Ready) เป็นสถานะที่พร้อมจะครอบครองซีพียู แต่ยังไม่มีการรัน สถานะรัน (Running) เป็นสถานะที่โปรเซสเข้าครอบครองซีพียูและมีการเอ็กซิคิวต์คำสั่งในโปรแกรมของโปรเซส

14 สถานะของโปรเซส สถานะรอ (Wait) เป็นสถานะที่โปรเซสกำลังรอเหตุการณ์บางอย่าง เช่น การรอสัญญาณ การจัดการอินพุต/เอาต์พุตดีไวซ์ สถานะบล็อก (Block) เป็นสถานะที่โปรเซสต้องการใช้อุปกรณ์อินพุต/เอาต์พุต หรือเกิดอินเทอร์รัพต์ระหว่างที่รันโปรเซส ซึ่งจะต้องรอให้มีการจัดการอุปกรณ์อินพุต/เอาต์พุต หรือจัดการอินเทอร์รัพต์ให้เรียบร้อยก่อนจะกลับไปสถานะรันได้ต่อไป สถานะสิ้นสุด (Terminate) เป็นสถานะที่หยุดนิ่งอันเกิดจากโปรเซสถูกเอ็กซิคิวต์หมดทุกคำสั่งในโปรแกรมแล้ว

15 หรืออีเวนต์เสร็จแล้ว
สถานะของโปรเซส เริ่มต้น new รัน Running บล็อก Block พร้อม Ready รอ Wait สิ้นสุด Terminate ยอมรับให้ทำงาน อินพุต/เอาท์พุต หรืออีเวนต์เสร็จแล้ว รออินพุต/เอาต์พุต หรืออีเวนต์ ทำงานเสร็จสิ้นแล้ว อินเทอร์รัพต์ Scheduler dispatch

16 ขั้นตอนการเปลี่ยนสถานะของโปรเซส
เมื่อผู้ใช้ต้องการส่งงานให้เครื่องคอมพิวเตอร์ทำงาน OS จะเป็นผู้ที่รับทราบความต้องการนี้ และจะเตรียมสร้างโปรเซสให้กับงานใหม่ที่ถูกส่งเข้ามา OS จะต้องพิจารณาว่าเนื้อที่หน่วยความจำหลักของระบบมีเพียงพอหรือไม่ ถ้าเพียงพอก็จะทำการสร้างโปรเซสใหม่โดยเก็บไว้ในหน่วยความจำหลัก ถ้าไม่เพียงพอก็จะต้องรอจนกว่าจะมีโปรเซสอื่นจบลงและมีเนื้อที่ในหน่วยความจำเหลือมากพอ เมื่อโปรเซสถูกสร้างขึ้นมาใหม่จะอยู่ในสถานะพร้อมก่อน ยังไม่สามารถเข้าไปใช้งาน CPU ได้

17 ขั้นตอนการเปลี่ยนสถานะของโปรเซส
สาเหตุที่โปรเซสไม่สามารถเข้าใช้งาน CPU ได้ทันที เนื่องจากระบบคอมพิวเตอร์ในปัจจุบันเป็นระบบที่มีผู้ใช้หลายคนในเวลาเดียวกัน ทำให้มีโปรเซสมากมายเกิดขึ้น ซึ่งโปรเซสเหล่านี้ต้องการใช้ CPU ทั้งสิ้น ต้องมีการจัดคิวและแจ้งสถานะพร้อมให้กับโปรเซสไว้ก่อน เมื่อโปรเซสที่ใช้งาน CPU ทำงานเสร็จสิ้นหรือถูกยกเลิก ทำให้ CPU จะว่าง โปรเซสต่อไปที่อยู่ในคิวก็จะเลื่อนเข้าไปใช้ CPU (เปลี่ยนสถานะจากพร้อมเป็นสถานะรัน) เหตุการณ์ทั้งหมดผู้ที่ทำหน้าที่ควบคุมการทำงานคือ OS

18 ขั้นตอนการเปลี่ยนสถานะของโปรเซส
เริ่มต้น รัน พร้อม สิ้นสุด

19 ขั้นตอนการเปลี่ยนสถานะของโปรเซส
กรณีที่โปรเซสใดใช้เวลารันเป็นเวลานานก็จะครอบครองซีพียูเป็นเวลานาน ทำให้โปรเซสอื่น ๆ เสียเวลาในการรอนานเกินไป เพื่อแก้ปัญหานี้ OS จะกำหนดเวลาในการอยู่ในสถานะการรันของทุกโปรเซสไว้ เรียกว่า “เวลาควันตัม (Quantum time)” ถ้าโปรเซสใดใช้เวลาครอบครอง CPU เกินกว่าเวลาควันตัม ระบบปฏิบัติการจะย้ายโปรเซสนั้นไปต่อคิวใหม่และเปลี่ยนเป็นสถานะพร้อม และนำโปรเซสที่อยู่ในคิวต่อไปมารัน

20 ขั้นตอนการเปลี่ยนสถานะของโปรเซส
ภายในระยะเวลาควันตัม ถ้าโปรเซสจบลง โปรเซสก็จะออกจากระบบ ทรัพยากรต่าง ๆ ที่โปรเซสครอบครองก็จะถูกส่งคืนให้กับระบบ เริ่มต้น รัน พร้อม สิ้นสุด เกินเวลาควอนตัม

21 ขั้นตอนการเปลี่ยนสถานะของโปรเซส
กรณีที่โปรเซสกำลังอยู่ในสถานะรัน มีความต้องการใช้อุปกรณ์อินพุต/เอาท์พุต หรืออาจจะเกิดอินเทอร์รัพต์ (Interrupt) ขึ้น OS ก็จะย้ายโปรเซสจากสถานะรันไปอยู่ในสถานะบล็อก และดึงโปรเซสที่อยู่ในคิวต่อไปมารัน เริ่มต้น รัน พร้อม สิ้นสุด บล็อก

22 ขั้นตอนการเปลี่ยนสถานะของโปรเซส
กรณีที่ระบบมีงานมากเกินไป OS ไม่สามารถตอบสนองการทำงานของโปรเซสทั้งหมดได้ OS จะนำเอาโปรเซสบางโปรเซสไปเก็บไว้ในสถานะรอชั่วคราวก่อน รอจนจำนวนโปรเซสในระบบลดลงมาอยู่ในระดับปกติ จึงค่อยย้ายโปรเซสเหล่านั้นกลับมาทำงาน รัน พร้อม รอ บล็อก

23 ลำดับชั้นของโปรเซส (Process Hierarchy)
เมื่อผู้ใช้ส่งงานให้กับระบบรัน OS จะทำการสร้างโปรเซสสำหรับงานนั้นขึ้นมา การทำงานของ OS ก็ถือว่าเป็นงานของระบบดังนั้นจะมีการสร้างโปรเซสขึ้นเหมือนกัน นอกจากนั้นโปรเซสที่ถูกสร้างขึ้นก็สามารถสร้างโปรเซสย่อยได้ โปรเซสที่ให้กำเนิด เราเรียกว่าโปรเซสแม่ (parent process) โปรเซสย่อยที่เกิดขึ้น เราเรียกว่าโปรเซสลูก (child process)

24 ลำดับชั้นของโปรเซส (Process Hierarchy)
โดยทั่วไป เมื่อโปรเซสแม่จบลง โปรเซสต่าง ๆ ที่อยู่ภายใต้ตัวมันก็จะจบลงตามไปด้วย แต่ OS บางตัวยอมให้โปรเซสแม่จบลง โดยที่โปรเซสลูกไม่ต้องจบลงตามไปด้วย ในกรณีนี้โปรเซสลูกก็จะไม่มีโปรเซสแม่ A B C D E F G H

25 ลำดับชั้นของโปรเซส (Process Hierarchy)
จากตัวอย่างในรูป โปรเซส A จะมีโปรเซสลูก 3 โปรเซสคือ B,C และ D ถึงแม้ว่าโปรเซส A เป็นโปรเซสแม่ของโปรเซส B,C และ D แต่โปรเซส A ไม่ได้เป็นผู้ที่สร้างโปรเซส B,C และ D ผู้ที่สร้างโปรเซสทั้งหมดได้แก่ OS ซึ่ง OS จะมีโปรเซสหนึ่งทำหน้าที่สร้างและยุติโปรเซส คือ “ตัวจัดคิวระยะยาว” คำถาม โปรเซส F,G,H นั้นถูกสร้างโดยโปรเซส D ใช่หรือไม่ ใครเป็นผู้ที่สร้างโปรเซส A

26 โปรเซสสื่อประสาน (Cooperating Processes)
โปรเซสที่เอ็กซิคิวต์ในระบบนั้นมี 2 แบบ โปรเซสที่เป็นอิสระ ( Independent Processes) หมายถึงโปรเซสที่ไม่มีผลกระทบหรือไม่ได้รับผลกระทบจากโปรเซสอื่น โปรเซสสื่อประสาน (Cooperating Processes) หมายถึงโปรเซสที่มีผลกระทบหรือได้รับผลกระทบจากโปรเซสอื่น เหตุผลที่ทำให้เกิดการประสานงานระหว่างโปรเซส ต้องการใช้ข้อมูลร่วมกัน ต้องการเพิ่มความเร็วในการคำนวณ

27 การติดต่อระหว่างโปรเซส (Interprocess communication)
ส่งข้อมูล รับข้อมูล หน่วย ความจำร่วม โปรเซส B โปรเซส A รับข้อมูล ส่งข้อมูล เมื่อโปรเซส A ต้องการติดต่อกับโปรเซส B โปรเซส A และ B จะต้องจองเนื้อที่ในหน่วยความจำในส่วนที่ว่างเอาไว้ ทั้ง 2 โปรเซสต้องรู้ว่าหน่วยความจำร่วมนี้อยู่ที่ใด เมื่อโปรเซส A ส่งข้อมูลให้โปรเซส B ข้อมูลจะถูกส่งไปไว้ในหน่วยความจำร่วม

28 การติดต่อระหว่างโปรเซส (Interprocess communication)
เมื่อโปรเซสต้องการใช้ข้อมูลของโปรเซสอื่น โปรเซสที่ถูกร้องขอจะส่งข้อมูลไปให้ การที่โปรเซสต่าง ๆ มีการติดต่อกันเช่นนี้ เราเรียกว่า การติดต่อระหว่างโปรเซส โดยทั่วไปการติดต่อระหว่างโปรเซสนั้นจะใช้วิธีการคือ การใช้หน่วยความจำร่วม (Shared memory) กลไกการรับส่งข้อมูลผ่านทางหน่วยความจำร่วมนี้ OS จะไม่ช่วยจัดการให้โปรเซสที่ต้องการติดต่อกันจะต้องจัดการเอาเอง

29 การติดต่อระหว่างโปรเซส (Interprocess communication)
เมื่อโปรเซส A ต้องการติดต่อกับโปรเซส B โปรเซส B จะตรวจสอบได้เองว่าโปรเซส A นำข้อมูลไปวางไว้แล้วหรือยัง ถ้าโปรเซส A ยังไม่ส่งข้อมูลมา โปรเซส B ก็จะยังไม่ดึงเอาข้อมูลมาใช้ นอกจากนั้นโปรเซส B ยังต้องสามารถตรวจสอบได้ว่าข้อมูลที่อยู่ในหน่วยความจำร่วมนั้นเป็นข้อมูลเก่าที่เคยนำมาใช้แล้วหรือยัง สำหรับโปรเซส A ถ้าจะส่งข้อมูลชุดใหม่ให้ โปรเซส A จะต้องตรวจสอบก่อนว่าข้อมูลชุดเดิมที่อยู่ในหน่วยความจำร่วมนั้นถูกนำไปใช้หรือยัง ถ้าถูกนำไปใช้แล้วก็จะนำข้อมูลชุดใหม่ทับลงไป

30 การติดต่อระหว่างโปรเซส (Interprocess communication)
นอกจากการใช้หน่วยความจำร่วมแล้วยังมีวิธีอื่นที่มีความสะดวกมากกว่าและเป็นมาตรฐาน คือการใช้พอร์ท (Port) พอร์ท คือพื้นที่ในหน่วยความจำส่วนหนึ่งที่ OS จัดไว้เพื่อให้โปรเซสต่าง ๆ ใช้ร่วมกันได้ โดย OS จะทำหน้าที่เป็นผู้ให้จังหวะในการรับส่งข้อมูลให้กับแต่ละโปรเซส เช่น ถ้าโปรเซส A ต้องการใช้ข้อมูลจากโปรเซส B OS จะเป็นผู้ค้นหาข้อมูล B จากพอร์ท ถ้าพบก็จะให้โปรเซส A รับข้อมูลไป แต่ถ้าไม่พบก็จะให้โปรเซสนั้นหยุดรอจนกว่าจะมีข้อมูลถูกส่งมาไว้ที่พอร์ท

31 โครงสร้างของพอร์ท พอร์ทในปัจจุบันมี 3 แบบ
พอร์ทแบบคิว โครงสร้างของพอร์ทแบบนี้ข้อมูลชุดใดที่ถูกส่งเข้าพอร์ทก่อนจะถูกดึงออกไปก่อน ข้อมูลชุดใดที่ถูกส่งเข้าพอร์ททีหลังจะถูกดึงออกไปทีหลัง พอร์ทแบบไปป์ มีลักษณะการทำงานเหมือนพอร์ทแบบคิว แต่ไปป์มีความยาวของพอร์ทไม่จำกัด ในขณะที่พอร์ทแบบคิวมีความยาวของพอร์ทคงที่ พอร์ทแบบแสต๊ก มีกลไกการทำงานโดยข้อมูลชุดใดที่ถูกส่งเข้าพอร์ทก่อนจะถูกดึงออกไปใช้ทีหลังก่อน ข้อมูลชุดใดที่ถูกส่งเข้าพอร์ททีหลังจะถูกดึงออกไปใช้ก่อน ส่งข้อมูลเข้าพอร์ท ข้อมูลออกจากพอร์ท

32 การเข้าจังหวะของโปรเซส (Process Synchronization)
ในการใช้ทรัพยากรโดยเฉพาะอย่างยิ่งข้อมูลอาจก่อให้เกิดปัญหาที่ทำให้การทำงานไม่ถูกต้อง ตัวอย่าง เริ่มต้นค่า X = 10 โปรเซสที่ 1 มีการเพิ่มค่า X จากเดิม 10 โปรเซสที่ 2 มีการลบค่า X ลง 10 ผลจากการทำงานจะเป็นดังนี้ ( ) = 10

33 โปรเซสที่ 1 ทำงานเสร็จก่อนโปรเซสที่ 2
การเข้าจังหวะของโปรเซส (Process Synchronization) 10 X=X+10 20 X=X-10 โปรเซสที่ 1 โปรเซสที่ 2 โปรเซสที่ 1 ทำงานเสร็จก่อนโปรเซสที่ 2 X=10 X=20

34 โปรเซสที่ 2 ทำงานเสร็จก่อนโปรเซสที่ 1
การเข้าจังหวะของโปรเซส (Process Synchronization) 10 X=X-10 X=X+10 โปรเซสที่ 2 โปรเซสที่ 1 โปรเซสที่ 2 ทำงานเสร็จก่อนโปรเซสที่ 1 X=10 X=0

35 โปรเซสที่ 1 และโปรเซสที่ 2 ทำงานใกล้เคียงกัน
การเข้าจังหวะของโปรเซส (Process Synchronization) X=X+10 10 X=X-10 0 หรือ 20 โปรเซสที่ 1 โปรเซสที่ 2 โปรเซสที่ 1 และโปรเซสที่ 2 ทำงานใกล้เคียงกัน X=10 X=0 X=20

36 การเข้าจังหวะของโปรเซส (Process Synchronization)
จากรูปจะเห็นว่าถ้าโปรเซสที่ 1 และ 2 มีการทำงานที่เป็นอิสระอาจทำให้ผลลัพธ์เกิดความผิดพลาดขึ้น ดังนั้นเพื่อป้องกันความผิดพลาดที่เกิดขึ้น จะต้องมีการจัดจังหวะการทำงานให้กับแต่ละโปรเซสสำหรับการใช้ข้อมูลร่วมกัน จากตัวอย่างควรกำหนดว่าเมื่อโปรเซสใดได้เข้ามาครอบครองข้อมูล โปรเซสอื่น ๆ ที่ต้องการใช้ข้อมูลตัวเดียวกันจะต้องหยุดรอให้โปรเซสแรกใช้งานให้เสร็จก่อน

37 การเข้าจังหวะของโปรเซส (Process Synchronization)
การป้องกันโปรเซสอื่น ๆ เข้ามาใช้ทรัพยากรซึ่งมีโปรเซสหนึ่งครอบครองอยู่แล้วเรียกว่า การไม่เกิดร่วม (Mutual exclusion) ในช่วงเวลาที่โปรเซสเข้าไปครอบครองทรัพยากรแบบการไม่เกิดร่วมนี้เรียกว่า โปรเซสนั้นอยู่ในย่านวิกฤต (Critical region หรือ Critical Section)

38 ปัญหาการทำงานของโปรเซส
ปัญหาที่ 1 : การอดตาย (Starvation) หรือ การเลื่อนไหลไปอย่างไม่มีวันสิ้นสุด (Infinite postponement) ถ้าโปรเซส A และ B ต้องการใช้เครื่องพิมพ์พร้อมกัน โปรเซสที่จะได้ใช้ก่อนก็คือโปรเซสที่มีลำดับความสำคัญสูงกว่า เช่น ถ้า โปรเซส B มีลำดับความสำคัญสูงกว่า A โปรเซส B ก็จะได้ใช้เครื่องพิมพ์ ส่วนโปรเซส A ต้องรอ

39 ปัญหาการทำงานของโปรเซส
ในขณะที่โปรเซส A กำลังรอ ปรากฏว่ามีโปรเซสอื่น ๆ ที่มีลำดับความสำคัญสูงกว่าโปรเซส A ต้องการใช้เครื่องพิมพ์ สิ่งที่เกิดขึ้นกับโปรเซส A คือ โปรเซส A จะถูกโปรเซสอื่นแซงตลอดเวลา เราเรียกเหตุการณ์ที่เกิดขึ้นนี้ว่า “การอดตายของโปรเซส (Starvation) หรือ การเลื่อนไหลไปอย่างไม่มีวันสิ้นสุด (Infinite postponement)

40 ปัญหาการทำงานของโปรเซส
ปัญหาที่ 2 : วงจรอับ หรือ การติดตาย (Deadlock) ทรัพยากร A ทรัพยากร B โปรเซส 1 โปรเซส 2 ครอบครอง ต้องการ

41 แบบฝึกหัดบทที่ 2 สถานะของโปรเซสมีอะไรบ้าง จงอธิบาย
เวลา Quantum Time คืออะไร ปัญหา DeadLock เกิดขึ้นได้อย่างไร สถานะ Block เกิดขึ้นได้อย่างไร การติดต่อกันระหว่าง Process เป็นหน้าที่ของโคร พอร์ท มีกี่แบบอะไรบ้าง จงยกตัวอย่าง พอร์ทแบบสเต็ก Mutual exclusion เกิดขึ้นได้อย่างไร ปัญหาการอดตาย เกิดขึ้นได้อย่างไร องค์ประกอบของโปรเซส มีอะไรบ้าง


ดาวน์โหลด ppt บทที่ 2 การจัดการ Process.

งานนำเสนอที่คล้ายกัน


Ads by Google