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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


Ads by Google