นางสาวกนกอร ศิริอำนาจ 50036153 กลุ่ม 2.  บทที่ 7 หน้า 237 ในหนังสือเรียนโอเอส ใน บทนี้จะเป็นเรื่องเกี่ยวกับ deadlocks คือ สิ่งที่น่าจะ รู้อยู่แล้ว ก็คือ.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
รายละเอียดวิชา ง การงานพื้นฐาน4(คอมพิวเตอร์2)
Advertisements

เรื่อง การแก้ไขปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
Process Synchronization
กระบวนการ (Process).
ระบบมัลติโปรแกรมมิ่ง (Multiprogramming System)
1 ข้อแนะนำในการสร้าง Web โครงการ โดย ดร. วรินทร์ สุวรรณวิสูตร อาจารย์ผู้ประสานงานวิชาโครงการ.
Lecture 10 : Database Documentation
รายงานการวิจัย.
การเขียนผังงาน.
1 ข้อแนะนำในการสร้าง Web โครงการ ดร. วรินทร์ สุวรรณวิสูตร ( ไม่ยืนยันว่าครบถ้วนตามหลักวิชาการ )
นางสาวกนกอร ศิริอำนาจ กลุ่ม 2
Deadlocks oslecture07.
นงลักษณ์ พรมทอง วิเชษฐ์ พลายมาศ
บทที่ 9 การเลือกซื้อใช้งาน และ การติดตั้ง อุปกรณ์เครือข่าย
BY Tanatorn Phiboon Pre-En A 28 Zachary Andre Chan Pre-En A 11.
บทที่ 2 หลักการแก้ปัญหา
การจัดการอุปกรณ์รับ และแสดงผล
Algorithms.
ภาษา SQL (Structured Query Language)
การพัฒนากิจกรรม การเรียนรู้ โดยโครงงาน
วิชา การออกแบบและพัฒนาซอฟต์แวร์
Surachai Wachirahatthapong
การทำงานของคอมพิวเตอร์
โครงสร้างการทำงานของ OS
Critical-Section Problem
การติดตั้งภาษาไทยและการจัดการดิสก์
คู่มือการใช้การเขียนเรียงความ โดยใช้โปรแกรม PowerPoint
การรวบรวมความต้องการ (Requirements Gathering)
Memory Management ในยุคก่อน
บทที่ 8 File Management. ประเด็นที่ต้องพิจารณา ถ้าต้องการเก็บข้อมูลจะเก็บข้อมูลไว้ที่ไหน สามารถเก็บข้อมูลตรงไปยัง media โดยไม่ต้อง จัดรูปแบบการเก็บได้หรือไม่
วิธีการทางคอมพิวเตอร์
การแปลงข้อมูลใน Excel เป็นฐานข้อมูลใน Access
1. 2  ในการใช้งานเว็บไซต์ โดยปกติเราจะไม่สามารถ ใช้งานตัวแปรที่มีลักษณะ Global ที่สามารถ นำไปใช้ได้กับเว็บเพจหน้าอื่นๆ ปกติในการใช้ งานค่าต่างๆ ของเว็บเพจ.
วัยรุ่นกับปัจจัยทางสังคมที่ส่งผลต่อพฤติกรรมเสี่ยงทางเพศ
บทที่ 2 หลักการแก้ปัญหา
การพัฒนาระบบฐานข้อมูล
DEADLO CK นางสาวเบญจวรรณ จิตร ถวิล วันนี้เริ่มต้นเรียนบทที่ 7 หน้า 237 ในตำรา เรียนจะเกี่ยวกับ deadlocks คือ สิ่งที่รู้อยู่แล้ว คือ สิ่งที่ทำให้แอพพลิเคชั่นหรือบางครั้งถ้า.
Synchronization (การประสานงาน)
Synchronization น.ส.จิรภัทร ทองนพคุณ รหัสนิสิต กลุ่ม 1 Operating System.
รูปแบบของปัญหา (System Model) กระบวนการหนึ่งๆ จะต้องร้องขอใช้ ทรัพยากรก่อนที่จะได้ใช้ทรัพยากรก่อน ได้ใช้ทรัพยากรนั้น และจะต้องคืน ทรัพยากรนั้นกลับสู่ระบบเมื่อใช้เสร็จ.
Operating System.
ภาวะติดตาย (Deadlock)
Deadlocks รูปแบบของปัญหา (System Model)         กระบวน การหนึ่งๆ จะต้องร้องขอใช้ทรัพยากรก่อนที่จะได้ใช้ทรัพยากรก่อนได้ใช้ทรัพยากรนั้น.
บทที่ 7 Deadlock Your company slogan.
การติดต่อสื่อสารผ่านอินเตอร์เน็ต
วิธีประสบความสำเร็จในทุกเรื่อง
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
หลักการเขียนโปรแกรม ( )
การเขียนโปรแกรมเบื้องต้น
Ethernet (802.3) มาตรฐานข้อกำหนดคุณสมบัติของ โปรโตคอล Ethernet
โปรแกรมฐานข้อมูลที่นิยมใช้
บทที่ 3 การจ่ายงาน (Process Management).
How to map download TCN 10.1 to Garmin Asus M10. เข้าสู่ Garmin Asus เว๊บไซด์ แล้วเลือก ประเทศไทย และ ทำ การเลือกในส่วน บริการ เลือกในส่วนของ การอัพเดพ.
Interrupt.
อาจารย์จังหวัด ศรีสลับ เสนอ จัดทำ โดย แผนก คอมพิวเตอร์ ธุรกิจ นางสาวสุวรรณ รัตน์ ดำรัส นางสาวศศิธร ดำเกิงพันธุ์
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
บทที่ 2 แนวคิดในการเขียนโปรแกรม. ขั้นตอนการ พัฒนาโปรแกรม ในการพัฒนาโปรแกรมมีขั้นตอนหลัก 5 ขั้นตอน ซึ่งไม่ว่าจะทำการพัฒนาโปรแกรม ครั้งใดจะต้องปฏิบัติตามขั้นตอนเหล่านี้
หลักการเขียนโปรแกรม ( )
ICQ I SEEK YOU.
LOGO สื่อการเรียนการสอน เรื่อง Learning C Programming โดย อาจารย์สุพัตรา ชุมประเสริฐ วิทยาลัยเทคโนโลยีสยามบริหารธุรกิจ.
Internet Service Privider
ความรู้พื้นฐานเกี่ยวกับการโปรแกรมคอมพิวเตอร์
เรื่อง การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน วิชาการใช้โปรแกรมกราฟิก
การเขียนรายงานผลการวิจัย
ชื่อ นางสาวชื่นฤดี ไชยวงค์ โปรแกรมวิทยาการคอมพิวเตอร์ ชั้นปีที่ 3 รหัส
Deadloc ks. วันนี้เราเริ่มต้นเรียนบทที่ 7 เริ่มในหน้า 237 ในตำรา เรียนของคุณ. บทนี้จะเกี่ยวกับ deadlocks คือ สิ่งที่คุณรู้, มันคือ สิ่งที่ทำให้ application.
บทที่ 5 การเขียนรายงานโครงงานคอมพิวเตอร์
ลิมิตและความต่อเนื่องของฟังก์ชัน
ค31212 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 2
Chapter7b Deadlock. Daedlocl ( วงจรอัป ) คือ สภาวะที่โพรเซส บางตัวหรือทุกตัวไม่สามารถทำงานต่อไปได้ ส่วนใหญ่เกิดจากการใช้ทรัพยากรร่วมกันแล้ว เกิดการแย่งชิง.
ใบสำเนางานนำเสนอ:

นางสาวกนกอร ศิริอำนาจ กลุ่ม 2

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

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

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

 ok, แต่ person 2 มีขั้นตอนวิธีที่แตกต่าง : person2: get password get username access account, download stuff release username release password ในความเป็นจริงมันควรจะมีวิธีการที่เหมือนกัน ลอง ดูการทำ context switch ของเครื่องคอมพิวเตอร์ ลองใส่ person 1 เข้าไปใน column ทางซ้ายและ person 2 เข้าไปใน column ทางขวา

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 คือ การกีดกั้น ในบริเวณ หรือ ส่วนของโปรแกรมที่ process เข้าครอบครองรีซอร์ส ซึ่งเรียกว่า Critical region ซึ่งการกีดกั้นก็คือการ ไม่ยอมให้ process ใด ๆ เข้าใช้พื้นที่ ๆ เป็น Critical region ซึ่งมีคุณสมบัติอยู่ 4 ประการ คือ  ไม่มี process อยู่ใน critical region พร้อมกัน  ไม่มีสมมติฐาน และข้อจำกัด ด้านความเร็ว หรือจำนวน ซีพียูมาเป็นปัจจัย  ไม่มี process นอก critical region ที่ block การ ทำงานของ process อื่น  ไม่มี process ที่รอเข้าใจ critical region ตลอดเวลา

2) Hold & Wait คือ ถ้าโปรเซสสามารถถือครอง ทรัพยากรที่ตัวเองได้รับ และในขณะเดียวกันก็ สามารถทำการร้องขอทรัพยากรเพิ่มเติมได้ 3) No preemption คือ ถ้าโปรเซสกำลังใช้งาน ทรัพยากรอยู่ และระบบไม่สามารถบังคับให้โปรเซส นั้นปล่อยทรัพยากรนั้นให้เป็นอิสระได้

4) Circular wait คือ เกิดวงจรรอคอย ถ้าเกิดทั้ง 4 อย่างนี้ขึ้นอาจเกิด deadlocks กับ คุณได้ หากไม่เกิดสิ่งหนึ่งภายในทั้ง 4 อย่าง การ เกิด deadlocks ก็จะไม่เกิดขึ้น เพื่อให้คุณเห็นว่า ตอนนี้เรารู้วิธีการโจมตีปัญหาและหลีกเลี่ยงการเกิด deadlocks เราต้องค้นหาวิธีการรับประกันหนึ่งใน 4 เหล่านี้เป็นให้ไม่เกิดขึ้น เราก็จะสามารถรับประกัน ได้ว่า การเกิด deadlocks จะไม่เกิดขึ้น

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

นี่คืองาน ลำดับแรกให้ทำ # 1 username คือ 1 password คือ 2 ต่อไป ปรับปรุง person 2 ให้อยู่ในลำดับที่ ถูกต้อง ตอนนี้ person 1 และ person 2 อยู่ใน ลำดับที่ถูกต้องแล้ว ในตัวอย่างนี้ person 1 and 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 ( ดูข้อมูลเพิ่มได้ ในหน้า 257)