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

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

1 Synchronization น. ส. จิรภัทร ทองนพคุณ รหัสนิสิต 50036207 กลุ่ม 1 Operating System.

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


งานนำเสนอเรื่อง: "1 Synchronization น. ส. จิรภัทร ทองนพคุณ รหัสนิสิต 50036207 กลุ่ม 1 Operating System."— ใบสำเนางานนำเสนอ:

1 1 Synchronization น. ส. จิรภัทร ทองนพคุณ รหัสนิสิต กลุ่ม 1 Operating System

2 2 สาระสำคัญ ของบทที่ 6

3 3 1. The producer/ consumer problem ปัญหานี้เป็นปัญหาที่นิยมกันมากและใช้ เป็นตัวอย่างแนวคิด คล้ายกับว่ามีโรงงาน แห่งหนึ่ง ในโรงงานก็จะมีส่วนที่เป็นส่วน โรงงาน และส่วนประกอบอื่น ๆ รวมอยู่ โรง ง่านจะแบ่งออกเป็นส่วน ๆ สามารถกล่าว ให้เข้าใจง่าย ๆก็คือ ส่วนของโรงงานจะ เป็น “produces” และส่วนอื่น ๆ ก็จะเป็น “consumer” นั่นเอง

4 4 2. Lost Update ถ้าคุณมี psuedo code ทั้งสอง แบบ คือ producer และ consumer แต่ละ ตัวจะสามารถทำงานได้เมื่อมีการทำงานตัว เดียว และอีกตัวหนึ่งก็สามารถทำงานได้ เช่นเดียวกับตัวแรก แต่ถ้าคุณทำการแทรก อีกตัวหนึ่งเข้าไปขณะที่ตัวแรกกำลัง ทำงานอยู่ ระบบมันจะหยุดการทำงานทันที

5 5 3. การเรียนรู้วิธีการที่จะ แก้ปัญหา เราจะต้องเรียนรู้เกี่ยวกับเรื่อง “critical section” critical section คือ ส่วนของพื้นที่ที่มีการแบ่งทรัพยากรซึ่ง ได้รับสิทธิที่จะทำการแก้ไข ปรับปรุง เปลี่ยนแปลง สำหรับตัวอย่าง ตัวแปร Global นั้นจะ incremented หรือ decremented จากตัวอย่างของ producer และ consumer ซึ่งมีการใช้ตัว แปรร่วมกันเป็นจำนวนนับ

6 6 4. โพรเซสแต่ละส่วนของเซกเมนต์ สำหรับ Code เรียกว่า a critical section ในส่วน ของโพรเซสอาจจะมีการเปลี่ยนแปลงตัว แปรปกติทั่วไป การปรับปรุงค่าในตาราง การเขียนข้อมูลลงในไฟล์ และส่วนที่ เกี่ยวข้อง คุณสมบัติที่สำคัญของระบบนั้น เมื่อ มีโพรเซสหนึ่งกำลังทำการ Execution ใน critical section ไม่มีโพ รเซสอื่นที่จะยอมรับการ Execution ลงใน critical section ได้อีกในเวลาเดียวกัน

7 7 ต้องอาศัยความเข้าใจในเรื่อง ความต้องการ 3 ข้อ ต่อไปนี้ 1. การห้ามอยู่พร้อมกัน (mutual exclusion ) ถ้ากระบวนการใดทำงานอยู่ ห้ามมีกระกวนการอื่นเข้ามาทำงานร่วม วิธีการแก้ปัญหา critical section

8 8 2. ความก้าวหน้า (Progress) ถ้ายัง ไม่มีกระบวนการใดทำงานอยู่ในเขตที่ กำหนด และมีกระบวนการใดต้องการที่จะ เข้าไปในเขตนั้น กระบวนการเหล่านั้น จะต้องถูกนำมาตัดสินใจว่าใครจะได้เข้าไป ในเขตนั้นเป็นลำกับถัดไป การคัดเลือกนี้ จะต้องชัดเจน จะมีการเลื่อนสลับที่กัน ไม่ได้

9 9 3. การรอคอยอย่างมีขอบเขต (bounded waiting) ต้องมีขอบเขต ของเวลาเพื่อให้กระบวนการอื่นได้เข้าไป ในเขตที่กำหนด หลังจากที่กระบวนการได้ ร้องขอเข้าเขตที่กำหนด และก่อนหน้านั้นการร้องขอเข้าไปในเขตที่ กำหนดนั้นได้รับอนุญาตแล้ว

10 10 วิธีการที่ 1 Peterson’s Solution ( ใช้ได้สำหรับซอฟแวร์เท่านั้น ไม่สามารถ ทำงานบนเครื่องรุ่นใหม่ได้ จะใช้ได้ดีสำหรับการ ทำงาน 2 processes/threads) วิธีการที่ 2 การทดสอบและตั้งค่า ( Test and Set) ( ฮาร์ดแวร์ เช่น เครื่อง Mainframe) วิธีการที่ 3 การแลกเปลี่ยน ( Swap ) ( ฮาร์ดแวร์ เช่น เครื่อง PC) วิธีการแก้ปัญหา critical section

11 11 วิธีการที่ 2 และ 3 จะทำงานได้ดี แต่ ต้องมี Code ในภาษาแอสแซมบลีหรือ ภาษาเครื่อง แต่จะมีการทำงานที่ไม่ สะดวกสบายนัก และบางครั้งก็อาจจะ เป็นไปไม่ได้เลย ( ควรที่จะใช้ภาษา perl, python, tcl หรือ ภาษาสคริปอื่นๆ )

12 12 ดังนั้นเราจะสามารถใช้อะไรที่จะ สามารถทำได้ เรากำลังรอมันอยู่ คิดออกแล้ว อุปกรณ์นำสัญญาณที่ ใช้ ระบบเลขฐานสองหรือ จำนวนนับนั่นเอง...


ดาวน์โหลด ppt 1 Synchronization น. ส. จิรภัทร ทองนพคุณ รหัสนิสิต 50036207 กลุ่ม 1 Operating System.

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


Ads by Google