สถานะต่างๆ ในการทำงานของโปรเซสจะมีสถานะใดสถานะหนึ่งเท่านั้น ซึ่งจะมีหลายสถานะด้วยกัน ดังนี้
รูปที่ 2.4 โอเอสจะจัดสรรและจัดการโปรเซสจำนวนมากมายให้ทำงานได้อย่างไร
1. New
คือโปรเวสที่เพิ่งสร้างขึ้น
2.Ready
คือสถานะที่โปรเซสพร้อมที่จะใช้งานซีพียูทันทีที่โอเอสที่มอบหมายให้
โดยสถานะนี้อยู่ในสถานะพร้อมที่จะรันเท่านั้น
ยังไม่มีการรันหรือเอ็กซ์คิวต์แต่อย่างใด
3. Running
คือสถานะที่โปรเซสครอบครองซีพียู หรือซีพียูมีการเอ็กซ์คิวต์คำสั่งของโปรเซสนั้น
4. Waiting
คือสถานะโปรเซสนั้นกำลังรอเหตุการณ์อะไรบ้างอย่าง
5. Block
คือสถานะที่เกิดการขัดจังหวะการอุปกรณ์อินพุต/เอาต์พุต ซึ่งก็คืออินเตอร์รัพต์
6.Terminated
คือสถานะของโปรเซสที่ประมวลผลเสร็จสิ้น
ขั้นตอนการเปลี่ยนสถานะของโปรเซส
เมื่อมีโปรเซสใหม่ (New) เข้ามาในระบบ โปรเซสนั้นจะอยู่ใน
สถานะพร้อมหรือ Ready ก่อน โดยจะไม่สามารถเข้าไป
ครอบครองซีพียูได้ทันที
เพราะในขณะนั้นอาจมีโปรเซสอื่นๆ
ต่างก็ต้องการเข้ามาใช้งานซี
พียูเช่นกัน แต่มีซีพียูเพียงผู้เดียวในระบบ
จึงมีโปรเซสหลายๆ
โปรเซสด้วยกันที่ต้องการ
ใช้งานซีพียูเพื่อรันโปรเซสตน
เมื่อโปรเซสหนึ่งเข้าไปครอบครอง
ซีพียู
โปรเซสอื่นจะไม่สามารถเข้าไปใช้งานได้ โปรเซสนั้นจะ
ต้องอยู่สถานะ Ready
พร้อมทั้งลำดับคิวของตนเพื่อรอคอยการใช้งานซีพียูต่อไป
เมื่อ
ซีพียูว่างลงด้วยสาเหตุการรันงานนั้นเสร็จหรือหมดช่วงระยะ
เวลาในการโปรเซสหรือด้วย
เหตุใดๆ ก็ตาม โอเอสก็จะนำโปรเซส Ready ที่อยู่ต้นคิวเข้ามา
ใช้งานในซีพียูต่อไป
รูปที่ 2.5 การเปลี่ยนสถานะ (State) ของโปรเซส
ในสถานะ Running คือสถานะที่โปรเซสกำลังรัน
งานอยู่ เมื่อรันงานจนเสร็จสิ้นโปรเซสนั้นก็จะ Terminated
หมายถึงการจบลงของโปรเซส ซึ่ง
การจบลงของโปรเซสนั้นอาจเกิดจากการรันงานจนเสร็จสิ้น
หรือเกดิจากการยกเลิกการทำงานจากผู้ใช้ก็เป็นได้
จากรูปที่ 2.5 เป็นรูปแบบการโปรเซสแบบง่ายๆ
แต่ในกรณีที่มีหลายๆ โปรเซสต้องการใช้งานซีพียูเพื่อรันงาน
ของตน เมื่อโปรเซสเปลี่ยนสถานะ
จาก Ready เป็น Running ซีพียูจะว่างก็ต่อเมื่อโปรเซสรันจบ
เท่านั้น ซึ่งหากโปรเซสนั้นมีช่วงระยะเวลาทำงานยาว ทำให้มีการ
ครอบครองซีพียูยาวนาน ก็
จะส่งผลให้โปรเซสอื่นๆ ที่อยู่ในสถานะ Ready รอคิวการใช้งาน
นาน ดังนั้นโอเอสจึงมีการกำหนดระยะเวลาควอนตัม (Quantum
Time) ของแต่ละโปรเซส
กล่าวคือหากมีครอบครองซีพียูจนครบระยะเวลาควอนตัม ก็จะ
ทำการย้ายโปรเซสนั้นกลับไปอยู่สถานะ Ready เข้าไปต่อคิวใหม่
และนำโปรเซส Ready ที่
อยู่ต้นคิวเข้ามารันในซีพียูแทน การทำงานจะทำงานในลักษณะ
เป็นรอบๆ วนไปเรื่อยๆ จนกระทั่งโปรเซสจบลงดังรูปที่ 2.
รูปที่ 2.6 การเปลี่ยนสถานะของโปรเซสระหว่าง Running และ Ready
ในระยะเวลาควอนตัม หากโปรเซสจบลงด้วยเหตุใดๆ ก็
ตามโปรเซสนั้นๆ ก็จะเสร็จสิ้นหรือ Terminated ไป ทรัพยากร
Resource ต่างๆ ที่โปรเซสนั้น
ครอบครองอยู่ก็ถูกส่งคืนให้แก่ระบบ
แต่ถ้าในขณะนั้นโปรเซส
กำลังรอเหตุการณ์บางอย่าง
ไม่ว่าจะเป็นรอสัญญาณหรือ
อุปกรณ์อินพุตเอาต์พุต โปรเซ
สนั้นก็จะเปลี่ยนจากสถานะ Running ไปเป็น Waiting ซึ่งช่วง
ระหว่างการรอเหตุการณ์ ระบบปฏิบัติการก็อาจนำโปรเซสในคิวที่
อยู่ในสถานะ Ready มา
ทำการเอ็กซ์คิวต์แทน
รูปที่ 2.7 การเปลี่ยนสถานะของโปรเซสระหว่าง Running Ready และ Waiting
นอกจากนี้
ยังมีเหตุการณ์หนึ่งซึ่งเป็นขัดจังหวะจากอุปกรณ์ กล่าวคือ
ซีพียูอาจถูกขัดจังหวะด้วยอุปกรณ์อินพุต เอาต์พุต
ซึ่งเรียกว่าการอินเตอร์รัพต์ โดยพิจารณาจากรูปที่ 2.8 ดังนี้
รูปที่ 2.8 โปรเซสถูกอินเตอร์รัพต์
จากรูปที่2.8 สามารถอธิบายได้ว่า
1. โปรเซสถูกบล็อกด้วยอุปกรณ์อินพุต เช่น คีย์บอร์ด
2. ตัวจัดลำดับงาน (Seheduler) นำโปรเซสอื่นเข้ามา
3. ตัวจัดลำดับงานทำงานนั้นไปโปรซส
4. รับอินพุตทางคีย์บอร์ด
เราเรียกเหตุการณ์ดังกล่าวนี้ว่าการอินเตอร์รัพต์
ซึ่งในช่วงเวลานั้นโปรเซสถูกบล็อกด้วยอุปกรณ์อินพุตก็จริง
แต่เพื่อมิให้ซีพียูว่าง ระบบปฏิบัติการก็นำ
โปรเซสต้นคิวที่ Ready มารันแทน จนกระทั่งอุปกรณ์คีย์บอร์ดพร้อมใช้งาน ก็จะทำการรันในลักษณะดังกล่าวต่อไปเรื่อยๆ
รูปที่ 2.9 การจัดลำดับคิว (Scheduling Queues)
การติดต่อระหว่างโปรเซส
.การติดต่อสื่อสารระหว่างโปรเซส (Inter Process
Communication:IPC) หมายถึงการที่โปรเซสต่างๆ ทาการติดต่อ
ประสานกัน เพื่อให้การทางานเสร็จสิ้นตามต้องการ โครงสร้างพื้นฐานของการ
ติดต่อสื่อสารระหว่างโปรเซส
ในการส่งข้อความ (Message) ระหว่างโปรเซสนั้น โปรเซสที่ต้องการข้อความ
จากโปรเซสอื่น จะต้องส่งคาร้องไปยังโปรเซสนั้นเมื่อโปรเซสได้รับคาร้องแล้วจึง
ส่งข้อความไปให้เปรเซสที่ร้องขอซึ่ง ขนาดของข้อความไม่จาเป็นต้องเท่ากัน
ในการติดต่อสื่อสารระหว่างโปรเซสจะมีการสร้างลิงค์ (Link) ขึ้นมา
ระหว่างโปรเซส ซึ่งมีทั้งลิงค์ทางกายภาพ (Physical Link)เช่น หน่วยความจา
ร่วม บัส หรือเครือข่าย และลิงค์ทางตรรกะ (Logical Link)
-
ปัญหาในการสร้างลิงค์ทางตรรกะ
1.จะสร้างลิงค์อย่างไร
2. ลิงค์ที่สร้างนั้นมีความสัมพันธ์กับโปรเซสมากกว่า 2 โปรเซสหรือไม่
3. ต้องสร้างลิงค์จานวนเท่าไร ระหว่างโปรเซส 2 โปรเซส
4. แต่ละลิงค์ต้องการพื้นที่เพื่อใช้เก็บข้อความจานวนเท่าไร
5. ขนาดของข้อความควรเป็นเท่าไร และแต่ละลิงค์จะต้องรองรับ
ข้อความแบบ Variable Size หรือ Fixed Size
6. แต่ละลิงค์เป็นลิงค์ทางเดียว (Unidirectional) หรือลิงค์สองทาง
(Bidirectional)
-
การรับและส่งข้อความ หรือการใช้ลิงค์สามารถทาได้ ดังนี้
1. การติดต่อสื่อสารเป็นแบบทางตรงหรือทางอ้อม
2. การติดต่อสื่อสารเป็นแบบสมมาตร (Symmetric) หรือไม่สมมาตร
(Asymmetric)
3. พื้นที่ที่ใช้เก็บข้อความเป็นแบบอัตโนมัติหรือใช้บัฟเฟอร์เฉพาะแบบ
4. ส่งข้อความแบบสาเนา (Copy) หรือแบบอ้างอิง (Reference)
5. ข้อความมีขนาดคงที่หรือไม่คงที่
- การตั้งชื่อ (Naming)
โปรเซสที่ด้องการติดต่อสื่อสารกัน จาเป็นต้องมีการอ้างถึงซื่อของ
ผู้รับและผู้ส่ง ซึ่งการอ้างถึงนี้สามารถทาได้ทั้งทางตรงหรือทางอ้อม
การสื่อสารทางตรง (Direct Communication)
การติดต่อแบนนี้จะต้องกาหนดซื่อเฉพาะในการติดต่อทั้งผู้รับและผู้
ส่งลิงค์แบบนี้มีคุณสมบัติคือ
1. ลิงค์จะเกิดขึ้นโดยอัตโนมัติ ระหว่างโปรเซสทั้งสอง โดยแต่ละโปรเซสต้อง
รู้จักซื่อของอีกโปรเซสหนึ่ง
2. ลิงค์ 1 ลิงค์ จะเชื่อมระหว่าง 2 โปรเซสเท่านั้น
3. ลิงค์อาจเป็นแบบลิงค์ทางเดียวหรือลิงค์สองทางก็ได้ แต่ปกติมักเป็นแบบ
ลิงค์สองทาง
-
การสื่อสารทางอ้อม (Indirect Communication)
เป็นการติดต่อสื่อสารระหว่างโปรเซสโดยผ่านกล่องจดหมาย
(Mail Box)หรือผ่านทางพอร์ต (Port) โดยข้อความที่ส่งไปมาระหว่าง
โปรเซสจะถูกน่ามาเก็บไว้ในกล่องจดหมายก่อนที่จะส่งไปให้ โปรเซสผู้รับ
กล่องจดหมายแต่ละกล่องจะมีหมายเลขที่ไม่ซ้ากัน ลิงค์แบบนี้มีคุณสมบัติ
คือ
1. มีการสร้างลิงค์ระหว่างโปรเซส เมื่อโปรเซสมีการร่วมกันใช้กล่อง
จดหมาย
2. ลิงค์หนึ่ง ๆ อาจมีความสัมพันธ์กันมากกว่า 2 โปรเซส
3. โปรเซสแต่ละคู่ อาจมีหลายลิงค์ที่แตกต่างกันได้ และแต่ละลิงค์จะ
ติดต่อผ่านกล่อง จดหมายเดียว
4. ลิงค์อาจเป็นแบบลิงค์ทางเดียว หรือลิงค์สองทางก็ได้
-
การพักข้อมูล (Buffering)
ในการสร้างลิงค์ นอกจากจะต้องกาหนดเส้นทางแล้วยังต้องมีพื้นที่
ส่วนหนึ่งเพื่อใช้เก็บข้อมูลชั่วคราว ซึ่งการเก็บข้อมูลนี้จะเก็บในลักษณะของคิว
โดยพื้นฐานแล้วคิวนี้มีความจุ 3 รูปแบบคือ
1.ความจุแบบศูนย์ (Zero Capacity) เป็นคิวแบบมีความจุเป็น 0 คือ
จะไม่มีการเก็บข้อความไว้ในคิวเลย เมื่อคิวได้รับข้อความแล้วจะส่งไปยัง
ปลายทางทันที ในกรณีนี้ผู้ส่งจะต้องรอจนกว่าผู้รับจะได้รับข้อความ
2.ความจุแบบมีขอบเขต (Bounded Capacity) เป็นคิวที่มีขนาด
ความจุคงที่ เมื่อใดที่ข้อความยังไม่เต็ม คิวจะรับข้อความเข้ามาอยู่ในคิว
จนกว่าจะเต็ม เมื่อเต็มแล้วต้องรอจนกว่าจะมีที่ว่าง ข้อความใหม่จึงจะเข้ามาใน
คิวได้
3.ความจุแบบไร้ขอบเขต (Unbounded Capacity)เป็นคิวที่มีความจุ
ไม่คงที่สามารถรับข้อความได้ตลอดเวลา ทาให้ผู้ส่งไม่ต้องรอเลย
โครงสร้างของพอร์ท
โครงสร้างของพอลิเมอร์เป็นผลจากลักษณะการเชื่อมต่อกันของมอนอเมอร์
โดยโครงสร้างพอลิเมอร์สามารถจำแนกได้เป็น 3 ลักษณะ คือ พอลิเมอร์แบบเส้น
พอลิเมอร์แบบกิ่ง และพอลิเมอร์แบบร่างแห
ซึ่งโครงสร้างของพอลิเมอร์ที่แตกต่างกัน
ก็จะมีผลทำให้พอลิเมอร์มีสมบัติที่แตกต่างกันไปด้วย
โดยโครงสร้างพอลิเมอร์แบบต่าง ๆ จะมีลักษณะและสมบัติดังนี้
1. พอลิเมอร์แบบเส้น
เกิดจากมอนอเมอร์ที่ต่อกันเป็นสายยาว
โดยสายของพอลิเมอร์เหล่านี้มีการเรียงตัวอยู่ชิดกันมาก มีจุดหลอมเหลวสูง
แข็ง ขุ่น เหนียว และมีความหนาแน่นสูง เช่น พีวีซี, พอลิสไตรีน,
พอลิเอทิลีน
2. พอลิเมอร์แบบกิ่ง
เกิดจากมอนอเมอร์ที่ต่อกันเป็นสายยาวที่มีกิ่งก้านสาขา
โดยกิ่งก้านเหล่านี้จะเป็นสิ่งขัดขวางทำให้สายของมอนอเมอร์ไม่สามารถเข้ามาเรียงตัวอยู่ชิดกันได้
มีจุดหลอมเหลวต่ำ โครงสร้างเปลี่ยนรูปร่างได้
ง่ายเมื่ออุณหภูมิเพิ่มขึ้น มีความหนาแน่นและความเหนียวต่ำ เช่น
พอลิเอทิลีนชนิดความหนาแน่นต่ำ
3. พอลิเมอร์แบบร่างแห
เกิดจากมอนอเมอร์ที่ต่อกันเป็นร่างแห
ถ้ามีพันธะที่เชื่อมระหว่างสายโซ่อยู่น้อยก็จะยืดหยุ่นได้มาก
แต่หากมีมากก็จะแข็ง ไม่ยืดหยุ่น มีความแข็งแกร่ง และเปราะหักง่าย
ใช้สำหรับทำถ้วยชาม เช่น เบกาไลต์, เมลามีน
การเข้าจังหวะของโปรเซส
ในการใช้ทรัพยากรโดยเฉพาะอย่างยิ่งข้อมูลอาจก่อให้เกิดปัญหาที่ทำให้การทำงานไม่ถูกต้อง
ตัวอย่าง
เริ่มต้นค่า X = 10
โปรเซสที่ 1 มีการเพิ่มค่า X จากเดิม 10
โปรเซสที่ 2 มีการลบค่า X ลง 10
ผลจากการทำงานจะเป็นดังนี้ (10+10-10) = 10
ปัญหาการทำงานของโปรเซส
ปัญหาที่เกิดขึ้นกับระบบปฏิบัติการเป็นปัญหาที่หน้าสนใจและถกเถียงกันอย่างกว้างขวางตลอดจนมีการวิเคราะห์โดยการใช้วิธีการด้านซินโครไนต์จะกล่าวถึง3ปัญหาดังนี้
1.TheDiningPhilosophersProblemปัญหาแรกนี้ไดจก์สตราได้เสนอไว้โดยสมมุติว่ามีนักปราชญ์5ท่านนั่งรอบโต๊ะกลมเพื่อทานอาหารที่วางตรงหน้าในการทานอาหารนักปราชญ์แต่ละท่านต้องใช้ตะเกียบทั้ง2ข้าง
ที่วางอยู่ซ้ายมือและขวามือ
เมื่อทานเสร็จในรอบนั้นจะต้องวางตะเกียบลงเพื่อเปิดโอกาสให้ทานอื่นได้ทานอาหารบ้างจะเกิดDeadlock
เมื่อทั้ง5ท่านหยิบตะเกียบท่านละ1ข้างพร้อมกันสมมุติว่าทุกท่านหยิบตะเกียบข้างซ้ายมือพร้อมกันทุกท่านจะต้อรอตะเกียบข้างขวาว่างจึงจะทานอาหารได้
2. The Readers-Writers Problem
ปัญหาการทานอาหารของนักปราชญ์มีประโยชน์มากสำหรับการเป็นโมเดลของโปรเซสที่ช่วยแก้ปัญหาการใช้รีซอร์สที่แชร์กันอยู่อย่างจำกัดยังมีปัญหาอีกอย่างคือ
Readers-Writers Problem
เป็นปัญหาเกี่ยวข้องกับระบบคอมพิวเตอร์ที่มีกลุ่มข้อมูลใช้งานร่วมกันซึ่งมีโปรเซสอยู่
2 ประเภทคือ อ่านข้อมูลร่วมและที่บัญทึกหรือเขียนข้อมูล
-The Sleeping
Barber Problem ปัญหาที่ 3 เป็นปัญหาที่เกิดในร้านตัดผมที่มีช่างตัดผม 1 คน
เก้าอี้ตัดผม 1 ตัวและมีเก้าอี้ที่นั่งรอคิวอีกจำนวน 1
ถ้าไม่มีลูกค้าช่างตัดผมจะนอนพักผ่อนบนเก้าอี้ตัดผมเทื่อลูกค้าเข้ามาในร้านจะปลุกช่างตัดผมเข้ามาตัดผมถ้ามีลุกค้าเดินมาเข้าร้านเพิ่มอีกก็จะนี่งรอหรือไม่ก็ออกจากร้านไป
การแก้ปัญหาจะใช้ 3 Semaphore ดังนี้
- Customers ที่นับจำนวนลูกค้า
- Barbers ที่นับจำนวนช่างตัดผม 0 หรือ 1
-Mutex ที่ใช้สำหรับ Mutual Exclusion
Threads
Threads
1.
โปรเซสที่กล่าวผ่านมาเป็นการเอ็กซิคิวต์โปรแกรมในลักษณะมีการควบคุมเพียง 1
Threads ( แต่ละโปรเซสจะประกอบด้วย Threads เพียง Threads เดียวเท่านั้น )
แต่ในระบบปฏิบัติการสมัยใหม่ในแต่ละ โปรเซสสามารถมีได้หลาย Threads
อาจจะกล่าวได้ว่า Threads ก็คือส่วนประกอบย่อยโปรเซสนั่นเอง
จนบางครั้งอาจเรียก Threads ว่า “ Lightweigh Process “ ( LWP ) ในรูป 2.19
( ก ) คุณจะเห็น โปรเซส 3 โปรเซส แต่ละโปรเซสจะมีแอ็ดเดรสเป็นของตนเอง
และควบคุมเพียง 3 Threads โดยใช้แอ็ดเรสเดียวกันอยู่
2.รูป 2.19 ( ก ) 3 โปรเซสแต่ละโปรเซสมี 1 Threads ( ข ) 1 โปรเซสที่มี 3 Thread ( Mos : P82 )
Threads เป็นหน่วยพื้นฐานของการจัดสรรการใช้ประโยชน์ของซีพียู ที่ประกอบด้วย
- หมายเลข Threads ( Threads ID ) เป็นหมายเลข ฮ ในโปรเซส
- ตัวนับ เพื่อติดตามให้ทราบคำสั่งต่อไปที่จะเอ็กซิคิวต์
- ชุดของรีจิสเตอร์ เพื่อเก็บค่าตัวแปรที่ทำงานอยู่
- ชุดของรีจิสเตอร์ เพื่อเก็บค่าตัวแปรที่ทำงานอยู่
- สแต็ก ( Stack ) เพื่อเก็บประวัติการเอ็กซิคิวต์
ภายในโปรเซสที่ประกอบด้วย
thread จะมีการโค้ด , ข้อมูล และรีซอร์ส เช่น ไฟส์ , อุปกรณ์ต่าง ๆ
เป็นต้น โปรเซสดั้งเดิม ( ที่เรียกว่า heavyweight )
จะทำงานได้ลายงานในเวลาเดียวกันซอฟต์แวร์ปัจจุบันที่รันกับเครื่องพีซีสมัยใหม่มีการออกแบบให้เป็น
multithreded โดยแยกออกเป็นโปรเซสที่ควบคุมหลาย ๆ thread เช่น
โปรแกรมเว็บบราวเซอร์ที่มี thread
หนึ่งในการแสดงรูปภาพหรือข้อความในขณะที่อีก thread
หนึ่งกำลังดึงข้อมูลจากเน๊ตเวิรค
หรืออย่างในโปรแกรมเวิรด์โปรเซสเซอร์ที่มีหลาย thread โดยที่ thread
หนึ่งกำลังแสดงภาพกราฟฟิก ในขณะที่ therad
ที่สองกำลังรอรับคำสั่งจากคีย์บอร์ดจากผู้ใช้ ในขณะที่ Thread
ที่สามกำลังตรวจสอบคำสะกดและ ไวยากรณ์ในลักษณะแบ็คกราว เป็นต้น
ขอขอบคุณ
http://oknation.nationtv.tv/blog/surawit/2008/08/20/entry-6
https://sites.google.com/site/operatingsystemeng1/kar-peliyn-sthana-khxng-porses
https://www.slideshare.net/thanapornsingsuk/ss-
https://www.blogger.com/blogger.g?blogID=6109229368573700792#editor/target=post;postID=7428905263435040304
http://juy12.blogspot.com/2007/12/blog-post.html
แบบฝึกหัดบทที่ 2
1. สถานะของโปรเซสมีอะไรบ้าง จงอธิบาย
ตอบ 1) Hold คือ สถานะเริ่มต้นของโปรเซสทุกโปรเซส
2) Ready คือ โปรเซสจะเปลี่ยนสถานะจาก Hold มาเป็น Ready เมื่อโปรเซสได้รับการจัดสรรทรัพยากรต่าง ๆ
3) Running คือ สถานะที่โปรเซสได้รับการประมวลผล
4) Waiting คือ สถานะการรอคอยทรัพยากรบางอย่าง
5) Finished คือ สถานะที่โปรเซสได้รับการประมวลผลโดยสมบูรณ์
2. เวลา Quantum Time คืออะไร
ตอบ เวลาที่ขอใช้งาน CPU
3. ปัญหา DeadLock เกิดขึ้นได้อย่างไร
ตอบ - ทรัพยากรเป็นแบบใช้ร่วมกันไม่ได้
• 1 โปรเซสเท่าั้นั้นที่จะใช้ทรัพยากรได้ อีกโปรเซสต้องรอ
- ไม่มีการแทรกกลางคัน
• ทรัพยากรจะถูกคืนเมื่อโปรเซสต้องการค้น หากไ่ม่คืน OS ทำอะไรไม่ได้
4. สถานะ Block เกิดขึ้นได้อย่างไร
ตอบ
โปรเซสต้องการใช้อุปกรณ์ อินพุต/เอาต์พุต
หรือเกิดอินเทอร์รัพต์ระหว่างที่รันโปรเซส
ซึ่งจะต้องรอให้มีการจัดการอุปกรณ์อินพุต/เอาต์พุต
หรือจัดการอินเทอร์รับต์ให้เรียบร้อยก่อนจะกลับไปสถานะรันได้ต่อไป
5. การติดต่อกันระหว่าง Process เป็นหน้าที่ของใคร
ตอบ โปรเซสสื่อประสาน (Cooperating Process)
6. พอร์ท มีกี่แบบ อะไรบ้าง
ตอบ 3 แบบ 1) พอร์ทแบบคิว
2) พอร์ทแบบไปป์
3) พอร์ทแบบสแต็ก
7. จงยกตัวอย่างพอร์ท แบบสแต็ก
ตอบ ข้อมูลชุดใดที่ถูกส่งเข้ามาก่อนจะถูกดึงออกทีหลัง ข้อมูลที่จะถูกดึงออกจากพอร์ทคือข้อมูลชุดหลังสุดที่ถูกส่งเข้ามาในพอร์ท
8. Mutual exclusion เกิดขึ้นได้อย่างไร
ตอบ การกีดกั้นไม่ยอมให้โปรเซสใด ๆ เข้าใช้พื้นที่ที่เป็น Critical region
9. ปัญหาการอดตายเกิดขึ้นได้อย่างไร
ตอบ เมื่อโปรเซสใดโปรเซสหนึ่ง ต้องการใช้อุปกรณ์พร้อมกัน โปรเซสที่จะได้ใช้ก่อนก็คือโปรเซสที่มีลำดับความสำคัญสูงกว่า
10. องค์ประกอบของโปรเซส มีอะไรบ้าง
ตอบ 1) หมายเลขโปรเซส 5) PSW
2) โค๊ดโปรแกรม 6) คุณสมบัติของโปรเซส
3) ข้อมูล
4) บล็อคควบคุมโปรเซส
ความคิดเห็น
แสดงความคิดเห็น