SlideShare a Scribd company logo
1 of 14
บทที่ 6
การจัดการหน่วยความจา
กระบวนการในการจัดการหน่วยความจา
การจัดการหน่วยความจา โดยทั่ว ๆ ไปสามารถแบ่งออกได้5
ประเภท ดั้งนี้
1. การย้ายตาแหน่ง
2. การป้องกันพื้นที่
3. การใช้พื้นที่ร่วมกัน
4. การจัดการแบ่งโปรแกรมย่อย
5. การจัดการแบ่งทางกายภาพ
การย้ายตาแหน่ง (Relocation)
การทางานหลาย ๆ โปรแกรมพร้อมกัน จะต้องมีการใช้
ทรัพยากรต่าง ๆ ร่วมกันด้วย และเมื่อมีการนาโปรเซสเข้าไปยัง
หน่วยความจาหลาย ๆ งานพร้อมกัน จะต้องมรการจัดการที่ดี
เพราะจะมีการนางานเข้า และออกจากหน่วยความจาบ่อยครั้ง
ดังนั้นระบบจึงต้องมีการจัดการว่า โปรเซสใดเข้ามาที่ตาแหน่ง
ใด และโปรเซสใดออกไปแต่ยังทางานไม่เสร็จ และโปรเซสนั้น
ทางานได้แค่ไหนแล้ว เมื่อโปรเซสนั้นกลับมาทางานอีกสามารถ
ทางานเดิมต่อไปได้เพื่อแก้ปัญหาในการเปลี่ยนตาแหน่งของ
โปรเซสจึงได้มีการกาหนดแอดเดรสขึ้น
การจัดการหน่วยความจาหลัก (Memory
Management)
การจัดการหน่วยความจา สามารถทาได้หลายวิธี เริ่มตั้งแต่วิธีแบบ
พื้นฐาน จนถึงวิธีแบบซับซ้อน ซึ่งแต่ละวิธีมีข้อดีข้อด้อยต่างกัน
และเหมาะสมในการนาไปใช้กับคอมพิวเตอร์ต่างประเภทกัน ดังนี้
1. ระบบโปรแกรมเดียว (Monoprogramming)
2. ระบบหลายโปรแกรมที่กาหนดขนาดพาร์ติชั่นคงที
(Multiprogramming with Fixed Partition)
3. ระบบที่กาหนดขนาดของพาร์ติชั่นให้เปลี่ยนแปลงได้
(Dunamic Partition)
4. ระบบบัดดี้(Buddy System)
การตรวจสอบเนื้อที่ของหน่วยความจา
เมื่อมีการจัดหน่วยความจาแบบพาร์ติชั่นไม่คงที่ ดังนั้นจึงต้อง
มีวิธีการตรวจสอบว่ามีเนื้อที่ส่วนใดบ้างที่ใช้งานอยู่ และส่วนใดว่าง
โดยวิธีการตรวจสอบสามารถทาได้ดังนี้
1. การจัดการแบบบิตแมพ(Memory Management with
Bitmap)
2.การจัดการแบบลิงค์ลิสต์ (Memory Management with Link
List)
การจัดการแบบบิตแมพ(Memory Management with
Bitmap)
การจัดการแบบนี้ทาได้โดยการแบ่งหน่วยความจาออกเป็น
ส่วน ๆ เรียกว่า ยูนิต(Unit) ซึ่งแต่ละยูนิตมีขนาดเท่าใดก็ได้แต่ละยู
นิตแทนค่าด้วย 1 บิต ดังนั้น ถ้าหน่วยความจาแบ่งออกเป็น 1,000 ยู
นิตจะต้องมีจานวนบิตที่ใช้แทนค่า 1,000 บิต
บิตที่ใช้แทนค่าแต่ละยูนิตในหน่วยความจานี้ เรียกว่าบิตแมพ
มีค่าที่เป็นไปได้คือ 0 และ 1 ถ้ายูนิตใดมีข้อมูลอยู่ บิตของยูนิ
ตนั้นจะมีค่าเป็น 1 ถ้ายูนิตนั้นว่างบิตของยูนิตนั้นจะมีค่าเป็น 0 การ
จัดการแบบนี้จะตรวจสอบง่าย เพราะมีจานวนบิตคงที่ แต่จะมี
ข้อเสียคือ
1. เกิดการสูญเสียพื้นที่ภายในยูนิตสุดท้ายของโปรเซสได้
2. เกิดการสูญเสียพื้นที่ภายนอก สามารถดูได้จากค่า 0 ที่
กระจายอยู่ในตารางบิตแมพ
3. การนาโปรเซสขนาด n ยูนิตเข้าไปเก็บในหน่วยความจา
ระบบจะต้องทาการค้นหาบิตที่เป็น 0 ติดต่อกัน n บิตให้ได้ก่อน ซึ่ง
ทาให้เสียเวลาในการค้นหา
การจัดการแบบลิงค์ลิสต์ (Memory Management with
Link List)
การจัดการแบบลิงค์ลิสต์ทาได้โดยใช้ลิงค์ลิสต์เก็บเข้าข้อมูลของ
พาร์ติชั่นในหน่วยความจาที่ว่างหรือหน่วยความจาที่ถูกใช้งาน จะมี
การระบุการใช้พื้นที่หน่วยความจาว่า ดังนี้
- ในส่วนแรก หากเป็นพื้นที่ว่าจะแสดงด้วยตัวอักษร H (Hold)
ถ้าเป็นช่วงที่มีโปรเซสจะขึ้นต้นด้วย P (Process)
- ส่วนที่ 2 จะบอกแอดเดรสที่ส่วนนั้น (ที่ว่าง หรือโปรเซส)
- ส่วนที่ 3 เป็นความยาวของพื้นที่
- ส่วนที่ 4 เป็นส่วนที่ชี้ไปยังข้อมูลของพื้นที่ส่วนต่อไป
หน่วยความจาเสมือน(Virtual Memory)
หน่วยความจาเสมือน หมายถึง การนาหน่วยความจาสารองเข้ามา
ทาหน้าที่เหมือนกันเป็นหน่วยความจาหลัก เช่น การนาพื้นที่
บางส่วนของฮาร์ดดิสก์มาทางานเป็นหน่วยความจาหลัก วิธีการ
เช่นนี้ทาให้ระบบมีพื้นที่หน่วยความจาเพิ่มขึ้นกว่าปกติ สามารถ
ทางานได้มากขึ้น แต่มีข้อจากัดคือ
ความเร็วในการอ่านข้อมูลจากหน่วยความจาเสมือนจะช้ากว่า
หน่วยความจาหลัก เพราะเป็นการอ่านจากฮาร์ดดิสก์
การแบ่งหน้า (Paging)
การแบ่งหน้า เป็นการแบ่งพื้นที่ของหน่วยความจาหลักออกเป็น
ส่วน ๆ หรือแบ่งพื้นที่ออกเป็นพาร์ตอชั่นขนาดเล็ก ๆ ที่มีขนาด
เท่ากัน เราเรียกว่า เฟรม (Frame) และมีการแบ่งโปรแกรมในดิสก์ที่
จะเข้ามาใช้งานหน่วยความจาออกเป็นส่วนเล็ก ๆ เรียกว่า หน้า
(Page) โดยทุกหน้าจะมีขนาดเท่ากัน โดยมีเงื่อนไขในการแบ่งหน้า
ดังนี้
1. ขนาดของ 1 หน้า จะต้องเท่ากับขนาดของ 1 เฟรมเสมอ
2. ในหน่วยความจาหลัก 1 เฟรม จะต้องบรรจุเพียง 1 หน้า
เท่านั้น
ตารางหน้า (Page Table)
เพื่อความสะดวกในการค้นหาหน้า จึงต้องมีการแมพหน้า
ทั้งหมด โดยสร้างหน้าตาราง (Page Table) ขึ้นมา ในตารางหน้าจะ
มีข้อมูล ดังนี้
1. Page Frame Number
เป็นส่วนที่สาคัญที่สุดจะเก็บข้อมูลว่าหน้านี้ไปอยู่ที่เฟรม
2. Present/Absent
มีขนาด 1 บิตใช้บอกว่าหน้าปัจจุบัน อยู่ (Present)
3. Protection
เก็บข้อมูลการป้องกัน เช่น กาหนดว่าให้อ่านได้อย่างเดียว อ่าน
และเขียนได้หรือประมวลผลได้(Execute) โดยจะมีเพียง 3 บิต
4. Modified
เป็นการระบุว่าหน้านั้น ๆ เคยถูกเรียกใช้และมีการแก้ไข
หรือไม่ถ้าหน้าใดที่เคยถูกเรียกใช้และมีการแก้ไขบิตนี้จะมีค่าเป็น 1
5. Referenced
เป็นส่วนที่บอกว่าหน้าที่เคยถูกเรียกใช้บ้างหรือยัง ถ้าเคยถูกเรียกใช้
แล้วจะมีค่าเป็น 1 บิต
6. Caching Disable
เป็นส่วนที่กาหนดว่าไม่ต้องทาการเก็บค่าแคชสาหรับหน้านั้น
โดยทั่วไปแล้ว หน้าจะถูกโหลดเข้าไปในรีจิสเตอร์ของอุปกรณ์ที่
ติดต่อด้วย แต่ถ้าบิตนี้เป็น 1 จะไม่มีการโหลดหน้านั้นเข้าด้วยกัน
การแบ่งเป็นเซ็กเมนต์(Segmentation)
การแบ่งหน่วยความจาหลักเป็นเซ็กเมนต์เป็นการทางานที่
เหมือนกับการแบ่งหน้าที่ แต่การแบ่งเซ็กเมนต์นั้นจะเป็นการแบ่ง
โปรเซสหรือโปรแกรมออกเป็นส่วน ๆ โดนแต่ละส่วนไม่
จาเป็นต้องมีขนาดเท่ากัน โดยมีข้อมูลที่สาคัญ 2 ส่วน คือ เลขที่ของ
เซ็กเมนต์และระยะเริ่มต้นของเซ็กเมนต์นั้น (Offset) การที่ขนาด
เซ็กเมนต์สามารถเปลี่ยนแปลงได้ทาให้ช่วยลดปัญหาการสูญเสีบ
พื้นที่ภายในและการสูญเสียภายนอกของหน่วยความจาหลัก
การทาโอเวอร์เลย์(Overlay)
การใช้หน่วยความจาของโปรแกรมผู้ใช้ที่กล่าวมา ไม่ว่าจะเป็นระบบ
โปรแกรมเดี่ยวหรือระบบหลายโปรแกรม เราจะสังเกตได้ว่าขนาดของ
โปรแกรมต้องมีขนาดเล็กกว่าขนาดของหน่วยความจาในส่วนของผู้ใช้
ถ้าโปรแกรมมีขนาดโตกว่าเราจะใช้วิธีการจัดการหน่วยความจาชนิดใด
ก็ตาม เรามาสามารถจะรันโปรแกรมนั้นได้ถ้าโปรแกรมของผู้ใช้มี
ขนาดโตกว่าหน่วยความจานี้จะทาอย่างไร วิธีการแก้ไขปัญหาแยกเป็น 2
กรณี คือ กรณีของโปรแกรมเดี่ยว และกรณีของหลายโปรแกรม

More Related Content

Viewers also liked

Slides For IICLE Estate Planning Shortcourse Speech 2011 (Limiting Gifts )
Slides For IICLE Estate Planning Shortcourse Speech 2011 (Limiting Gifts )Slides For IICLE Estate Planning Shortcourse Speech 2011 (Limiting Gifts )
Slides For IICLE Estate Planning Shortcourse Speech 2011 (Limiting Gifts )nmperry
 
Verbe planning
Verbe planningVerbe planning
Verbe planningvudt1990
 
Evolución de las actuales condiciones climáticas
Evolución de las actuales condiciones climáticasEvolución de las actuales condiciones climáticas
Evolución de las actuales condiciones climáticasfyo
 
Life can be hard
Life can be hardLife can be hard
Life can be hardTony DeLiso
 
цахим хичээл
цахим хичээлцахим хичээл
цахим хичээлAltantuya9915
 
2011年中国移动移动互联网投资饕餮盛宴
2011年中国移动移动互联网投资饕餮盛宴2011年中国移动移动互联网投资饕餮盛宴
2011年中国移动移动互联网投资饕餮盛宴skykk
 
Trich Phut Danh Cho Con
Trich Phut Danh Cho ConTrich Phut Danh Cho Con
Trich Phut Danh Cho Conamtri2000
 

Viewers also liked (10)

Slides For IICLE Estate Planning Shortcourse Speech 2011 (Limiting Gifts )
Slides For IICLE Estate Planning Shortcourse Speech 2011 (Limiting Gifts )Slides For IICLE Estate Planning Shortcourse Speech 2011 (Limiting Gifts )
Slides For IICLE Estate Planning Shortcourse Speech 2011 (Limiting Gifts )
 
Chap001
Chap001Chap001
Chap001
 
Verbe planning
Verbe planningVerbe planning
Verbe planning
 
Evolución de las actuales condiciones climáticas
Evolución de las actuales condiciones climáticasEvolución de las actuales condiciones climáticas
Evolución de las actuales condiciones climáticas
 
Haaruitval Preventie
Haaruitval PreventieHaaruitval Preventie
Haaruitval Preventie
 
Life can be hard
Life can be hardLife can be hard
Life can be hard
 
Brasil
BrasilBrasil
Brasil
 
цахим хичээл
цахим хичээлцахим хичээл
цахим хичээл
 
2011年中国移动移动互联网投资饕餮盛宴
2011年中国移动移动互联网投资饕餮盛宴2011年中国移动移动互联网投资饕餮盛宴
2011年中国移动移动互联网投资饕餮盛宴
 
Trich Phut Danh Cho Con
Trich Phut Danh Cho ConTrich Phut Danh Cho Con
Trich Phut Danh Cho Con
 

More from maysasithon

บทที่ 10
บทที่ 10บทที่ 10
บทที่ 10maysasithon
 
บทที่ 8
บทที่ 8บทที่ 8
บทที่ 8maysasithon
 
บทที่ 9
บทที่ 9บทที่ 9
บทที่ 9maysasithon
 
บทที่ 8
บทที่ 8บทที่ 8
บทที่ 8maysasithon
 
บทที่ 8
บทที่ 8บทที่ 8
บทที่ 8maysasithon
 
บทที่ 7
บทที่ 7บทที่ 7
บทที่ 7maysasithon
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5maysasithon
 
บทที่ 4
บทที่ 4บทที่ 4
บทที่ 4maysasithon
 
บทที่ 3
บทที่ 3บทที่ 3
บทที่ 3maysasithon
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2maysasithon
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1maysasithon
 

More from maysasithon (11)

บทที่ 10
บทที่ 10บทที่ 10
บทที่ 10
 
บทที่ 8
บทที่ 8บทที่ 8
บทที่ 8
 
บทที่ 9
บทที่ 9บทที่ 9
บทที่ 9
 
บทที่ 8
บทที่ 8บทที่ 8
บทที่ 8
 
บทที่ 8
บทที่ 8บทที่ 8
บทที่ 8
 
บทที่ 7
บทที่ 7บทที่ 7
บทที่ 7
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 4
บทที่ 4บทที่ 4
บทที่ 4
 
บทที่ 3
บทที่ 3บทที่ 3
บทที่ 3
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 

บทที่ 6