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

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

บทที่ 2 Memory Management ในยุคก่อน. ความเดิมตอนที่แล้ว องค์ประกอบของ OS – User Interface – Memory Management – Process Management – Devices Management.

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


งานนำเสนอเรื่อง: "บทที่ 2 Memory Management ในยุคก่อน. ความเดิมตอนที่แล้ว องค์ประกอบของ OS – User Interface – Memory Management – Process Management – Devices Management."— ใบสำเนางานนำเสนอ:

1 บทที่ 2 Memory Management ในยุคก่อน

2 ความเดิมตอนที่แล้ว องค์ประกอบของ OS – User Interface – Memory Management – Process Management – Devices Management – Files Management – Security Management – Network Management

3 เช็คชื่อ คนที่เข้าหลังจากนี้ จะเสียคะแนนไปส่วนหนึ่ง นักศึกษาส่งรายชื่อคนในกลุ่ม 6 กลุ่ม ( ถ้า ต้องการเปลี่ยนแปลงรายชื่อภายหลัง สามารถ ทำได้ แต่ต้องแจ้งอาจารย์ด้วย เพราะมีคะแนน ตลอด )

4 บทบาทหน้าที่ของ Memory Management Memory ในที่นี้หมายถึงเฉพาะ primary memory เท่านั้น Memory มีขนาดจำกัด มีผู้ต้องการใช้งาน memory จำนวนมาก รวมถึง OS เองด้วย ประเด็นที่ต้องพิจารณา – จะจัดพิ้นที่ส่วนไหนให้ผู้ขอใช้ – จะต้องไม่จัดพื้นที่ซ้ำซ้อน – ถ้าผู้ใช้ขอคืน memory ต้องทำอย่างไร – ถ้าผู้ใช้ไม่จำเป็นต้องใช้ แต่ไม่ได้ส่งคืน ( ผู้ใช้ตายแล้ว ) จะทำอย่างไร – ถ้า memory หมด ทำอย่างไร – ถ้า memory มี แต่ไม่เพียงพอเท่าที่ขอ ทำอย่างไร – ทำอย่างไรถึงจะให้บริการได้เร็ว

5 ทำความเข้าใจกับโครงสร้าง memory ( แบบ logical) Memory เป็น random access storage มี address บอกตำแหน่งและอ้างอิงตำแหน่ง ข้อมูลเก็บอยู่ในรูป binary มีแต่ 0 กับ 1 มี 0 หมด ไม่ได้หมายความว่า memory ตรงนั้น ว่าง มี 1 อยู่ ไม่ได้หมายความว่า memory ตรงนั้นไม่ ว่าง

6 ใครขอใช้ memory OS ใช้เอง โปรแกรมที่โหลดลงมาใหม่ ส่วนของโปรแกรมที่อาจโหลดลงมาเพิ่ม พื้นที่ซึ่งโปรแกรมขอเพิ่มเติมเช่นคำสั่ง malloc ในภาษา C ( ถ้าไม่มีข้อมูล OS ไม่สามารถแยกได้ว่าสิ่งที่อยู่ใน memory นั้นเป็นตัวโปรแกรม หรือว่าเป็นส่วน ของข้อมูล เพราะมีแต่ 0 และ 1 เหมือนกัน )

7 Single-user Contiguous Scheme รันได้ครั้งละโปรแกรม (monoprogramming) ต้องอยู่ใน memory ทั้งโปรแกรม ต้องอยู่ในพื้นที่ติดกันทั้งโปรแกรม ข้อสังเกตุ – ใน memory มีเพียง OS กับอีก 1 โปรแกรม – OS ต้องเก็บข้อมูลตำแหน่ง memory ที่จะลงโปรแกรม และขนาดที่ลงได้ – ไม่สามารถรันโปรแกรมที่ใหญ่กว่า memory ที่เหลือ – ถ้าโปรแกรมมีขนาดเล็ก ถึงจะเหลือพื้นที่ก็รันโปรแกรม อื่นไม่ได้ พื้นที่เหลือโดยเปล่าประโยชน์เรียกว่า fragmentation

8 Three simple ways of organizing memory with an operating system and one user process. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

9 ประเด็นที่ต้องพิจารณาเพิ่มเติม โปรแกรมทุกโปรแกรมจะมีตำแหน่งของคำสั่ง และ การอ้างอิงถึงตำแหน่งของคำสั่ง ซึ่งปกติจะเริ่มนับ ตำแหน่ง 0 จากต้นโปรแกรม ขณะเดียวกัน memory ก็มีตำแหน่งซึ่งเริ่มนับ ตำแหน่ง 0 จากต้น memory ถ้าโปรแกรมถูกโหลดลงที่ต้น memory ตำแหน่ง 0 ของโปรแกรมจะตรงกับตำแหน่ง 0 ของ memory การรันโปรแกรมจะไม่มีปัญหา ถ้าโปรแกรมถูกโหลดในตำแหน่งอื่น จำเป็นต้องมี วิธีการอ้างอิงหรือแปลง ตำแหน่งจาก relative address ไปเป็น physical address กรณี Single user นั้นง่าย เพียงแค่บวก memory address ตำแหน่งแรกของโปรแกรม เข้าไปยัง relative address ก็ได้แล้ว

10 Fixed Partitions เรียกอีกอย่างว่า Static Partitions รันได้หลายโปรแกรม (multiprogramming) OS แบ่ง memory ออกเป็นหลายส่วนเรียกว่า partition จำนวน partition และขนาด partition เปลี่ยนแปลงไม่ได้ โปรแกรมต้องโหลดลง partition ใด partition หนึ่ง เท่านั้น ต้องโหลดทั้งโปรแกรม แต่ละ partition โหลดได้โปรแกรมเดียว

11 ประเด็นปัญหา ถ้าต้องการโหลดโปรแกรม จะโหลดลง partition ใด – First-fit โหลดลง partition แรกที่ว่าง – Best-fit โหลดลง partition ที่ทำให้เกิด internal fragmentation น้อยที่สุด – Worst-fit ตรงข้ามกับ best-fit กรณี best-fit หรือ worst-fit ถ้าตำแหน่งที่ ต้องการไม่ว่าง – รอคิว ( มีคิวสำหรับทุก partition) – เลือกลง partition อื่นที่ว่างตามนโยบาย ( มีคิวเดียว สำหรับทุก partition)

12 ประเด็นปัญหา ( ต่อ ) การหา physical address – OS ต้องมีข้อมูลตำแหน่งของแต่ละ partition ( ขนาดและ สถานะจำเป็นสำหรับเรื่องอื่น ) – OS ต้องมีข้อมูลว่าโปรแกรมไหนอยู่ partition ใด – การคำนวณ ให้นักศึกษากลุ่ม... ตอบคำถาม ( นึกถึง single user คิดยังไง ) การกำหนดขนาดของ partition เพื่อให้รันโปรแกรม ได้มากที่สุด และเกิด fragmentation น้อยสี่สุด – ให้นักศึกษากลุ่ม... เสนอความเห็น ถ้ามีโปรแกรมที่ขนาดใหญ่กว่า partition ที่ว่าง – ให้นักศึกษากลุ่ม... ตอบคำถาม ถ้ามีโปรแกรมขนาดใหญ่กว่า partition ที่มีทั้งหมด – ให้นักศึกษากลุ่ม.. ตอบคำถาม

13 Dynamic Partitions เหมือน Fixed Partitions นอกจาก – จำนวน ตำแหน่งและขนาดของ partition เปลี่ยนแปลง ได้ขณะใช้งาน – การเปลี่ยนแปลงปกติจะไม่กระทบกับโปรแกรมที่กำลัง รัน จะเกี่ยวข้องกับโปรแกรมที่จบไปแล้วและ partition ที่ว่าง กรณี partition ว่าง อยู่ก่อนหน้า partition ที่เพิ่งจบ กรณี partition ว่างอยู่หลัง partition ที่เพิ่งจบ กรณีมี partition ว่างทั้งก่อนหน้าและหลัง partition ที่เพิ่งจบ กรณีมี fragmentation ใน partition ก่อนหน้า – ถ้าใช้ไปนานๆอาจมี fragmentation กระจัดกระจาย อาจ ทำ compaction เพื่อรวม fragmentation ที่กระจัด กระจาย เป็นพื้นที่ว่างติดกันขนาดใหญ่พอจะรัน โปรแกรมเพิ่มเติมได้ – การทำ compaction มี overhead สูง

14 Compaction ( ให้น. ศ. เปรียบเทียบแต่ละ แบบ )

15 ประเด็นปัญหา ข้อมูลที่ OS ต้องเก็บมีอะไรบ้าง ( กลุ่ม... ตอบ ) Data structure เป็นอย่างไร ( กลุ่ม... ตอบ ) ถ้าต้องการโหลดโปรแกรมจะลง partition ไหน ( กลุ่ม... ตอบ ) การหา physical address ( กลุ่ม... ตอบ ) ถ้าโปรแกรมที่โหลดมีขนาดใหญ่กว่า partition ที่ว่าง ( กลุ่ม... ตอบ ) คำถามอื่น ๆ

16 ปิดท้ายด้วย Quiz อย่าลืมฝึกเขียนโปรแกรม ส่งก่อน midterm ใช้โปรแกรมประเภท secured shell หาไม่เจอให้ load จาก itnet.rsu.ac.th/surachai/program Putty.exe เป็น 1 ในโปรแกรม ssh User password บอกไปแล้ว


ดาวน์โหลด ppt บทที่ 2 Memory Management ในยุคก่อน. ความเดิมตอนที่แล้ว องค์ประกอบของ OS – User Interface – Memory Management – Process Management – Devices Management.

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


Ads by Google