DEADLO CK นางสาวเบญจวรรณ จิตร ถวิล 50036313. วันนี้เริ่มต้นเรียนบทที่ 7 หน้า 237 ในตำรา เรียนจะเกี่ยวกับ deadlocks คือ สิ่งที่รู้อยู่แล้ว คือ สิ่งที่ทำให้แอพพลิเคชั่นหรือบางครั้งถ้า.

Slides:



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

กระบวนการ (Process).
กฎเกณฑ์เบื้องต้นเกี่ยวกับการนับ
โครงสร้างของระบบปฏิบัติการ Operating System Structure
ระบบมัลติโปรแกรมมิ่ง (Multiprogramming System)
1 ข้อแนะนำในการสร้าง Web โครงการ โดย ดร. วรินทร์ สุวรรณวิสูตร อาจารย์ผู้ประสานงานวิชาโครงการ.
บทที่ ๖ หลักการแก้ปัญหาด้วยคอมพิวเตอร์
1 ข้อแนะนำในการสร้าง Web โครงการ ดร. วรินทร์ สุวรรณวิสูตร ( ไม่ยืนยันว่าครบถ้วนตามหลักวิชาการ )
นางสาวกนกอร ศิริอำนาจ กลุ่ม 2
Deadlocks oslecture07.
ระบบคอมพิวเตอร์ (Computer System)
เรื่อง องค์ประกอบของคอมพิวเตอร์ จำทำโดย นาย เดชฤทธิ์ ร้อยพรหมมา
ระบบสารสนเทศประมวณผลรายการธุรกรรม
นงลักษณ์ พรมทอง วิเชษฐ์ พลายมาศ
บทที่ 9 การเลือกซื้อใช้งาน และ การติดตั้ง อุปกรณ์เครือข่าย
BY Tanatorn Phiboon Pre-En A 28 Zachary Andre Chan Pre-En A 11.
บทที่ 2 หลักการแก้ปัญหา
การจัดการอุปกรณ์รับ และแสดงผล
การใช้บริการกูเกิล (Google) 1 การใช้บริการ Gmail 2 การใช้บริการ รูปภาพ บนเว็บ Google 3 การใช้บริการ Google Earth.
Algorithms.
ภาษา SQL (Structured Query Language)
การเขียนรายงานเชิงเทคนิค
SMTP.
การจำลองความคิด
Operating System ฉ NASA 4.
หน่วยความจำเสมือน Virtual Memory.
การทำงานของคอมพิวเตอร์
Critical-Section Problem
การติดตั้งภาษาไทยและการจัดการดิสก์
การติดตั้งระบบปฏิบัติการ Windows XP
Memory Management ในยุคก่อน
บทที่ 8 File Management. ประเด็นที่ต้องพิจารณา ถ้าต้องการเก็บข้อมูลจะเก็บข้อมูลไว้ที่ไหน สามารถเก็บข้อมูลตรงไปยัง media โดยไม่ต้อง จัดรูปแบบการเก็บได้หรือไม่
System Development Lift Cycle
ขั้นตอนที่ 1 กดปุ่ม สำหรับข้าราชการ สป.วท.
วัยรุ่นกับปัจจัยทางสังคมที่ส่งผลต่อพฤติกรรมเสี่ยงทางเพศ
การออกแบบระบบฐานข้อมูล
บทที่ 2 หลักการแก้ปัญหา
ทำดีไม่ขึ้น ทำให้มากขึ้น
Synchronization (การประสานงาน)
Synchronization น.ส.จิรภัทร ทองนพคุณ รหัสนิสิต กลุ่ม 1 Operating System.
รูปแบบของปัญหา (System Model) กระบวนการหนึ่งๆ จะต้องร้องขอใช้ ทรัพยากรก่อนที่จะได้ใช้ทรัพยากรก่อน ได้ใช้ทรัพยากรนั้น และจะต้องคืน ทรัพยากรนั้นกลับสู่ระบบเมื่อใช้เสร็จ.
Operating System.
ภาวะติดตาย (Deadlock)
Deadlocks รูปแบบของปัญหา (System Model)         กระบวน การหนึ่งๆ จะต้องร้องขอใช้ทรัพยากรก่อนที่จะได้ใช้ทรัพยากรก่อนได้ใช้ทรัพยากรนั้น.
บทที่ 7 Deadlock Your company slogan.
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
หลักการเขียนโปรแกรม ( )
Operating System.
การเขียนโปรแกรมเบื้องต้น
บทที่ 3-3 วิธีตั้งค่าเชื่อมต่อ Wi-Fi และตั้งค่า Hotspot แชร์อินเทอร์เน็ต ที่มา
โปรแกรมฐานข้อมูลที่นิยมใช้
ความหมายของบุคลิกภาพ บรรยาย โดย อาจารย์วทัญญู มุ่งหมาย
บทที่ 3 การจ่ายงาน (Process Management).
How to map download TCN 10.1 to Garmin Asus M10. เข้าสู่ Garmin Asus เว๊บไซด์ แล้วเลือก ประเทศไทย และ ทำ การเลือกในส่วน บริการ เลือกในส่วนของ การอัพเดพ.
งานเทคโนโลยีสารสนเทศ โรงเรียนพนมเบญจา
อาจารย์จังหวัด ศรีสลับ เสนอ จัดทำ โดย แผนก คอมพิวเตอร์ ธุรกิจ นางสาวสุวรรณ รัตน์ ดำรัส นางสาวศศิธร ดำเกิงพันธุ์
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
ICQ I SEEK YOU.
เด็กหญิง นัฐนรี โยธาตรี เลขที่ 13 ม.3/1
LOGO สื่อการเรียนการสอน เรื่อง Learning C Programming โดย อาจารย์สุพัตรา ชุมประเสริฐ วิทยาลัยเทคโนโลยีสยามบริหารธุรกิจ.
Internet Service Privider
ความรู้พื้นฐานเกี่ยวกับการโปรแกรมคอมพิวเตอร์
นางสาวกนกอร ศิริอำนาจ กลุ่ม 2.  บทที่ 7 หน้า 237 ในหนังสือเรียนโอเอส ใน บทนี้จะเป็นเรื่องเกี่ยวกับ deadlocks คือ สิ่งที่น่าจะ รู้อยู่แล้ว ก็คือ.
Flash Get ซอฟต์แวร์ที่น่าสนใจ Flash Get นี้ เป็นโปรแกรมช่วย ดาวน์โหลด โปรแกรมหนึ่ง โดยที่ โปรแกรมจะแยกไฟล์ดาวน์โหลด เป็นส่วนๆทำให้เนทที่ช้าสามารถ โหลดได้เร็วขึ้น.
การเขียนรายงานผลการวิจัย
ชื่อ นางสาวชื่นฤดี ไชยวงค์ โปรแกรมวิทยาการคอมพิวเตอร์ ชั้นปีที่ 3 รหัส
Deadloc ks. วันนี้เราเริ่มต้นเรียนบทที่ 7 เริ่มในหน้า 237 ในตำรา เรียนของคุณ. บทนี้จะเกี่ยวกับ deadlocks คือ สิ่งที่คุณรู้, มันคือ สิ่งที่ทำให้ application.
บทที่ 5 การเขียนรายงานโครงงานคอมพิวเตอร์
ค31212 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 2
Chapter7b Deadlock. Daedlocl ( วงจรอัป ) คือ สภาวะที่โพรเซส บางตัวหรือทุกตัวไม่สามารถทำงานต่อไปได้ ส่วนใหญ่เกิดจากการใช้ทรัพยากรร่วมกันแล้ว เกิดการแย่งชิง.
ใบสำเนางานนำเสนอ:

DEADLO CK นางสาวเบญจวรรณ จิตร ถวิล

วันนี้เริ่มต้นเรียนบทที่ 7 หน้า 237 ในตำรา เรียนจะเกี่ยวกับ deadlocks คือ สิ่งที่รู้อยู่แล้ว คือ สิ่งที่ทำให้แอพพลิเคชั่นหรือบางครั้งถ้า คอมพิวเตอร์เกิดอาการ "hang" แม้ฮาร์ดแวร์จะ ปกติดี แต่ต้องการทราบสิ่งที่เพิ่มเติมเกี่ยวกับสิ่งนี้ ต้องเรียนรู้มันต่อไป

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

ให้คิดว่ามีสองคน คนนึงมีชื่อผู้ใช้และ อีกคนมีรหัสผ่าน ถ้ามีทั้งสองอย่างสามารถ ดาวน์โหลดคำตอบจากการบ้าน ตัวอย่าง สมมุติว่า person 1 มีขั้นตอนวิธีดังนี้ person1: get username get password access account, download stuff release password release username

แต่ person 2 มีขั้นตอนวิธีที่แตกต่าง : person2: get password get username access account, download stuff release username release password

ที่จริงควรจะมีวิธีการที่เหมือนกัน ลอง ดูการทำ context switch ของเครื่อง คอมพิวเตอร์ ใส่ person 1 เข้าไปใน คอลัมน์ซ้ายและ ใส่ person 2 เข้าไปใน คอลัมน์ขวา

get username (context switch) get password (process 2 hangs trying to get username, since process 1 has it) (context switch) (process 1 hangs trying to get password, since process 2 has it) D E A D L O C K

person 1 ต้องรอ password จาก person 2 จนกว่าจะทำเสร็จ person 2 ต้องรอ username จาก person 2 จนกว่าจะทำเสร็จ ถ้า ' โชคดี ' และได้รันทั้งสองอัน โดยไม่มี context switch ในขณะนั้นและไม่มีใครได้รับ สอง resources แล้วจะไม่ปัญหาเกิดขึ้น แต่ไม่ สามารถรับประกันว่าจะไม่เคยมี context switch เกิดขึ้นเลย ดังนั้นไม่มีใครมีทรัพยากรเมื่อเริ่ม การใช้ เหตุนี้จึงศึกษาบทที่ 7 เพื่ออธิบาย เกี่ยวกับ deadlocks ต้องเรียนรู้วิธีการตรวจสอบ deadlocks, และวิธีหลีกเลี่ยงการเกิดของ deadlocks

ลักษณะของ deadlocks 1. Mutual exclusion คือ การกีดกั้น ใน บริเวณ หรือส่วนของโปรแกรมที่โปรเซส ครอบครอง resource ซึ่งเรียกว่า Critical region การกีดกั้น คือ การไม่ยอมให้โปรเซสใดเข้าใช้ พื้นที่ของ Critical region ซึ่งมีคุณสมบัติอยู่ 4 ประการ คือ 1. ไม่มีโปรเซสอยู่ใน critical region พร้อมกัน 2. ไม่มีสมมติฐาน และข้อจำกัดความเร็ว หรือจำนวนซีพียู 3. ไม่มีโปรเซสนอก critical region ที่ บล็อคการทำงานของโปรเซสอื่น 4. ไม่มีโปรเซสที่รอเข้าใจ critical region ตลอดเวลา

2. Hold & Wait คือ โปรเซสสามารถ ถือครองทรัพยากรที่ตัวเองได้รับใน ขณะเดียวกันก็สามารถทำการร้องขอทรัพยากร เพิ่มเติมได้ 3. No preemption คือ ถ้าโปรเซส กำลังใช้งานทรัพยากรอยู่ และระบบไม่สามารถ บังคับให้โปรเซสนั้นปล่อยทรัพยากรนั้นให้เป็น อิสระได้ 4. Circular wait คือ เกิดวงจรรอคอย ถ้า 4 อย่างนี้เกิดขึ้นสามารถมีการเกิด deadlocks ได้ หากสิ่งใดสิ่งหนึ่งของสิ่งเหล่านี้ เป็นเท็จ, การเกิด deadlocks เพื่อให้รู้วิธีการ โจมตีปัญหาและหลีกเลี่ยงการเกิด deadlocks ต้องค้นหาวิธีที่รู้ว่า 1 ใน 4 อย่างนี้เป็นเท็จ จะสามารถรับประกันการเกิด deadlocks ว่าจะ ไม่เกิดขึ้น

วิธีการป้องกันการเกิด deadlocks 1. ระบุลำดับของทรัพยากรทั้งหมด แต่ไม่ สามารถมีหมายเลขซ้ำได้ 2. รหัสต้องได้รับทรัพยากรในลำดับ ascending และต้องได้รับทรัพยากรทั้งหมด ก่อนจะเริ่ม 3. รหัสต้องปล่อยทรัพยากรในลำดับ descending หลังการทำงาน นี่คืองาน ลำดับแรกให้ทำ # 1 username คือ 1 password คือ 2

ปรับปรุง person 2 ให้อยู่ในลำดับที่ถูกต้อง ตอนนี้ person 1 และ person 2 อยู่ในลำดับที่ ถูกต้องแล้ว ในตัวอย่างนี้ person 1 และ person 2 มีลักษณะคล้ายกัน person1: get username [1] get password [2] access account, download stuff release password [2] release username [1] person2: get username [1] get password [2] access account, download stuff release password [2] release username [1]

คอมพิวเตอร์ทำ context switch จะ วางกระบวนการที่ 1 ในคอลัมน์ซ้ายและ กระบวนการที่ 2 ในคอลัมน์ขวา get username (context switch) [wait because cannot get username] (context switch) get password (context switch) [keep waiting] (context swtich)

access account, download stuff (context switch) [still waiting] (context switch) release password (context swtich) [waiting some more] (context switch) release username (context switch) get username …

สามารถดูโดยไม่มี deadlocks การ context switch ระหว่างใช้คำสั่งเดียว ปัญหาใน ตัวอย่างอธิบายวิธีทำงาน ไม่สามารถป้องกัน deadlocks โดยใช้วิธีนี้ ( อาจจะเป็นรหัสที่เขียนโดยนักเรียนหรือผู้ใช้ ) สามารถทำอะไร ? ตรวจสอบ deadlocks: ใช้อัลกอลิทึมของ กราฟเพื่อวงจรรอบ เมื่อกระบวนการไม่ได้เปลี่ยน สถานะไปที่ นาที X ทำลาย deadlocks: หากพบ deadlocks, ดูวงจรและฆ่าหนึ่งกระบวนการ. ตรวจสอบ deadlocks ใหม่และทำซ้ำจนไม่มี deadlocks (p 251)

THE END