1 / 8

Chapter 6

Chapter 6. นางสาวกนกอร ศิ ริอำนาจ 50036153 กลุ่ม 2. the textbook Highlights of chapter 6. 1) The producer/consumer problem

rose-horn
Download Presentation

Chapter 6

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 6 นางสาวกนกอร ศิริอำนาจ 50036153 กลุ่ม 2

  2. the textbook Highlights of chapter 6 • 1) The producer/consumer problem นี่คือปัญหาที่มีชื่อเสียงและเป็นรูปแบบสิ่งที่โรงงานพอใจ บางชิ้นส่วนของอุปกรณ์ก็เป็นที่พอใจของโรงงานผลิตและโรงงานก็ใช้ชิ้นส่วนนั้น คุณสามารถกล่าวว่าโรงงานผลิตชิ้นส่วนอื่นๆ และโรงงานที่เราทำในการเป็นผู้บริโภคชิ้นส่วนเหล่านี้

  3. the textbook Highlights of chapter 6 2) Lost updates ถ้าคุณเข้ารหัสผู้ผลิตตรง ๆและpsuedo code ผู้บริโภค แต่ละสิ่งที่พวกมันทำงาน เมื่อมีการทำงานคนเดียว คุณสามารถเรียกใช้เป็นอันแรกและทำงานต่อไป แต่ถ้าคุณ interleave โค้ด มันจะหยุดทำงาน

  4. the textbook Highlights of chapter 6 3) เพื่อเรียนรู้วิธีแก้ไขปัญหานี้ เราต้องเรียนรู้เกี่ยวกับแนวคิด ‘crticial section’ Crticial section คือ พื้นที่ที่มีบางส่วนมีการเข้าถึงทรัพยากรเพื่อการปรับปรุงแก้ไข เช่น ตัวแปร Globalบางตัวเป็น incremented หรือ decremented ผู้ผลิต/ผู้บริโภค เช่น ที่ตัวแปรถูกใช้ร่วมกันคือเป็นเคาน์เตอร์

  5. the textbook Highlights of chapter 6 4) แต่ละ Procesมีส่วนของรหัสที่เรียกว่า ‘critical section’ โปรเซสอาจมีการเปลี่ยนแปลงตัวแปรการปรับปรุงตารางการเขียนไฟล์เป็นต้น คุณลักษณะสำคัญของระบบคือเมื่อกระบวนการหนึ่งคือ exectuingใน ‘critical section’ และไม่มีกระบวนการอื่นๆ ที่จะได้รับอนุญาตให้ดำเนินงานในส่วน ‘critical section’ กล่าวคือ ไม่มีกระบวนการสองกระบวนการที่จะรันใน‘critical section’ ในเวลาเดียวกัน

  6. the textbook Highlights of chapter 6 การแก้ปัญหาในส่วน ‘critical section’ ต้องมีความต้องการ 3 อย่างต่อไปนี้ : 1)mutual exclusion คือ การแยกการดำเนินการเมื่อเกิดการดำเนินการร่วม หากโปรเซส P1 กำลังทำการเอ็กซ์ซีคิวในส่วนงานวิกฤต โปรเซสอื่นก็จะไม่สามารถทำการเอ็กซ์ซีคิวในส่วนงานวิกฤตได้

  7. the textbook Highlights of chapter 6 2) progress คือ หากไม่มีโปรเซสใดกำลังเอ็กซ์ซีคิวในส่วนงานวิกฤตและมีโปรเซสอื่นใดอยู่ในส่วนงานวิกฤต โปรเซสที่ถูกเลือกให้ทำการเอ็กซ์ซีคิวเป็นโปรเซสถัดไปก็จะไม่สามารถถูกเลื่อนออกไปได้ 3)bounded waiting คือ ขอบเขตการรอคอย ขอบเขตการรอคอยขึ้นอยู่กับจำนวนเวลาที่โปรเซสใดๆ ได้รับสิทธิในการเข้าสู่ส่วนงานวิกฤต หลังจากโปรเซสนั้นได้ทำการร้องขอเพื่อเข้าสู่ส่วนงานวิกฤต และก่อนที่การร้องขอนั้นจะได้รับอนุญาต 3.1 สมมติให้โปรเซสนั้นทำการเอ็กซ์ซีคิวที่ความเร็วไม่เป็นศูนย์ 3.2 ไม่มีทางเลือกอื่นที่สัมพันธ์กับโปรเซสที่ N

  8. the textbook Highlights of chapter 6 • วิธีที่ 1 – Peterson's solution ซอร์ฟแวร์เพียงแต่ไม่สามารถทำงานบนระบบปฏิบัติการสมัยใหม่ได้ แต่มันดีสำหรับ 2 processes/threads • วิธีที่ 2 - Test and Set (hardware [mainframes]) • วิธีที่ 3 - Swap (hardware [PCs]) วิธีที่ 2 และ 3 สามารถทำงานได้ดีเยี่ยม แต่ต้องทำงานแบบใช้ภาษา assembler language หรือmachine code ซึ่งมันก็ไม่สะดวกสบายและอาจจะทำไม่ได้ในทุกอย่าง ( คิดในเรื่องเกี่ยวกับการใช้งานในพวกperl, python, tcl, and other scripting languages) สิ่งเราที่ทำได้ก็คือการรอคอยการทำงานของมัน....

More Related