54
Memory Memory Management Management การจัดการหน่วยความจํา การจัดการหน่วยความจํา บทที É 4

ch 4 memory

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: ch 4 memory

Memory Memory ManagementManagement

การจดการหนวยความจาการจดการหนวยความจา

บทท 4

Page 2: ch 4 memory

หน วยความจาหลกหน วยความจาหลก

• หน าทหน วยความจาหลก–เกบระบบปฏบตการ–เกบโปรแกรมของผ ใช–เกบข อมลทจะใช

Page 3: ch 4 memory

หนวยความจาหลกหนวยความจาหลก

•องคประกอบหน วยความจา–แอดเดรส (address)–ข อมล (data)

3

Page 4: ch 4 memory

หนวยความจาหลกหนวยความจาหลก

• ความต องการหน วยความจา–ความเรวสง–มความเสถยรสง–ความจสง–ราคาตา

4

Page 5: ch 4 memory

ชนดของหนวยความจาชนดของหนวยความจา

–หน วยความจาหลก•ROM เปนหน วยความจาถาวร ไมสญเสยข อมลแม ไฟดบ มกใชเกบข อมลพนฐานทจาเปน

•RAM มกจะใช เปนหน วยความจาหลก มอย 2 ประเภท คอ static ram และ dynamic ram

–หน วยความจาสารอง • มความเรวช า เกบไว ไดนาน เช น

Page 6: ch 4 memory

การจดการหนวยความจา การจดการหนวยความจา (Memory Management)(Memory Management)

หนวยความจาหลกเปนศนยกลางของการทางานตาง ๆ

ของระบบคอมพวเตอรในปจจบน

หนวยความจาหลกคอพนทเกบขอมลขนาดใหญ

ประกอบดวย

พนทเกบขอมลยอย มหนวยเปน Byte

ตาแหนงหรอทอยของพนทยอย (Address)

Memory

1

2

3

Page 7: ch 4 memory

การจดการหนวยความจา การจดการหนวยความจา (Memory Management)….(Memory Management)….ตอตอ

ส วนของ OS ททาหน าทจดการกบหน วยความจาได แก ตวจดการหน วยความจา (Memory Manager)ซงมหน าทตาง ๆ ดงน ตรวจสอบวาส วนใดของหน วยความจาท

กาลงถกใช งานส วนใดวาง จดหน วยความจาให กบงานททางาน ส งหน วยความจาคนส ระบบเมองานเสรจ จดการสลบหน วยความจาหลกกบพนท

ฮารดดสก เมอหน วยความจาหลกมขนาดเลกเกนไปทจะให งานทางานได

Page 8: ch 4 memory

การจดการหนวยความจาการจดการหนวยความจา

(Memory Management)(Memory Management)

• การจดสรรหนวยความจาแบบตอเนอง

• การจดสรรหนวยความจาแบบไมตอเนอง

8

Page 9: ch 4 memory

การจดการหนวยความจา การจดการหนวยความจา

(Memory Management) … (Memory Management) … ตอตอ

• การจดสรรหนวยความจาแบบตอเนอง

–โปรแกรมหนง ๆ จะถกโหลดลงหนวยความจาไดกตอเมอมหนวยความจาขนาดใหญทจะวางโคดของโปรแกรมนน

ลงไปทงโปรแกรม

–โปรแกรมจะอยตดตอกนในหนวยความจาหลกเปนผน

เดยวกน ไมมสวนหนงของโปรแกรมแยกจากกน

–ถามพนทวางไมพอกจะรอจนกวาจะมหนวยความจาวาง

เหลอพอ

Page 10: ch 4 memory

การจดการหนวยความจา การจดการหนวยความจา

(Memory Management) … (Memory Management) … ตอตอ

• การจดสรรหนวยความจาแบบไมตอเนอง

–โปรแกรมจะถกแบงออกเปนกลมหรอสวนยอย ๆ

หลาย ๆ สวน เมอรนโปรแกรมจะโหลดลง

หนวยความจาทไหนกไดทมทวางพอ แตละสวนไม

จาเปนตองเรยงตอเปนผนเดยว

10

Page 11: ch 4 memory

การจดการหนวยความจาหลกแบบตาง ๆการจดการหนวยความจาหลกแบบตาง ๆ

การจดการหนวยความจานนมหลายวธ ตงแตการ

จดการแบบพนฐาน จนถงแบบทซบซอน

การจดการหนวยความจาจงมการแบงออกเปน 2

ระบบดงน

ระบบโปรแกรมเดยว (Monoprogramming or Single

program)

ระบบหลายโปรแกรม (Multiple program)

Page 12: ch 4 memory

ระบบโปรแกรมเดยวระบบโปรแกรมเดยว

Monoprogramming or Single programMonoprogramming or Single program

เปนวธการจดการหนวยความจาทงายทสด เนองจากจะม

โปรแกรมเพยง 1 โปรแกรมทางานในขณะใดขณะหนง

ดงนนการใชงานหนวยความจาจะมเพยงโปรแกรมนน ๆ กบ

ระบบปฏบตการเทานน ดงรป OS

โปรแกรมของ

ผใช

วาง

Page 13: ch 4 memory

Operating

system in

RAM

User

program

Operating

system in

ROM

User

program

User

program

Device Manager

in ROM

Operating

system in

RAM

ระบบโปรแกรมเดยวระบบโปรแกรมเดยว

Monoprogramming or Single program … Monoprogramming or Single program … ตอตอ

Page 14: ch 4 memory

ระบบโปรแกรมเดยวระบบโปรแกรมเดยว

Monoprogramming or Single program … Monoprogramming or Single program … ตอตอ

จากรปเราอาจแบงหนวยความจาหลกออกเปน 2 สวน

คอ

สวนของ OS เปนหนวยความจาทถกครอบครองโดย OS

สวนของผใช (User area) คอสวนทสามารถนาโปรแกรม

ของผ ใชลงไปวางได ซงกคอหนวยความจาหลกทงหมดท

เหลอจากสวนของ OS

Page 15: ch 4 memory

15

ระบบโปรแกรมเดยวระบบโปรแกรมเดยว

Monoprogramming or Single program … Monoprogramming or Single program … ตอตอ

เมอหนวยความจาหลกถกแบงออกเปน 2 สวนแลว ตว

OS จงจาเปนตองมวธการปองกนไมใหโปรแกรมของ

ผใชรกลาเขามาในสวนของ OS

ถา OS ปลอยใหผใชเขามาใชหนวยความจาท OS ใชอย

โปรแกรมของผใชอาจทาลายตวโปรแกรมของ OS

เสยหายจนระบบทางานไมได

Page 16: ch 4 memory

ระบบโปรแกรมเดยวระบบโปรแกรมเดยว

MonoprogrammingMonoprogramming or Single program … or Single program … ตอตอ

• วธทนยมในการป องกนการรกลาไดแกการสร างรจสเตอรขนมาในซพยเรยกวา รจสเตอรขอบเขต (boundary register)

• รจสเตอรจะทาหน าทเกบคาแอสเดรสทเปนรอยตอระหวางส วนของ os และส วนของผ ใช

Page 17: ch 4 memory

ระบบหลายโปรแกรมระบบหลายโปรแกรม Multiple programMultiple program

ระบบคอมพวเตอรสวนใหญในปจจบนอนญาตใหมงาน

หลาย ๆ งานทางานในเวลาเดยวกน

การทระบบมหลายงานทางานพรอมกนนน หมายความวาแต

ละงานตองถกบนทกอยในหนวยความจาหลก

ดงนนเพอใหคอมพวเตอรสามารถทางานหลายงานพรอมกน

จงจาเปนตองทาการแบงพนทหนวยความจาออกเปนสวน ๆ

สาหรบแตละงานเพอไมใหปะปนกน

Page 18: ch 4 memory

18

ระบบหลายโปรแกรมระบบหลายโปรแกรม Multiple programMultiple program

การแบงหน วยความจาสาหรบระบบหลายโปรแกรมม 2 แบบการแบงหน วยความจาขนาดคงท

(Fixed partition multi-programming)

การแบงหน วยความจาขนาดไมคงท(Variable partition multi-programming)

Page 19: ch 4 memory

การแบงหนวยความจาขนาดคงทการแบงหนวยความจาขนาดคงท

วธนหนวยความจาจะถกแบงออกเปนหลายสวน

แตละสวนมขนาด คงท และในแตละสวนจะม

เพยงงานเดยว และการแบงนนจะเปลยนแปลงอก

ไมได

ดงนนจานวนงานททางานไดพรอมกนจะเทากบ

จานวนสวนยอยของหนวยความจาหลก

Page 20: ch 4 memory

20

การแบงหนวยความจาขนาดคงทการแบงหนวยความจาขนาดคงท

การแบงหนวยความจาขนาดคงท แบงไดเปน 2

แบบ

การแปลงและโหลดดวยคาสมบรณ (Absolute

translation and loading)

การแปลงและโหลดดวยคาสมพทธ

(Relocatable translation and loading)

Page 21: ch 4 memory

การแปลงและโหลดดวยคาสมบรณการแปลงและโหลดดวยคาสมบรณ

Absolute translation and loadingAbsolute translation and loading

คาแอดเดรสสมบรณ คอคาแอดเดรสจรง ๆ ในหนวยความจา

หนวยความจาหลกจะถกแบงออกเปนสวนทมขนาดคงท และ

แตละสวนจะมแอดเดรสทเปนขอบเขตบน และลางอย ดงนน

เมองานตองการใชหนวยความจาหลกในสวนยอยใดกตาม

OS จะตองกาหนดแอดเดรสจรงใหกบงาน เพอใหงานเขาไป

ครอบครองหนวยความจาหลกในสวนทถกตอง

นยมใชกบควงานทเปนแบบ Multiple queues

Page 22: ch 4 memory

การแปลงและโหลดดวยคาสมบรณการแปลงและโหลดดวยคาสมบรณ

Absolute translation and loading … Absolute translation and loading … ตอตอ

OS

สวนท 1

สวนท 2

สวนท 3

งานทเหมาะกบสวนท 1

งานทเหมาะกบสวนท 2

งานทเหมาะกบสวนท 3

ควของสวนท 1

ควของสวนท 2

ควของสวนท 3

0

50000

60000

65000

Page 23: ch 4 memory

การแปลงและโหลดดวยคาสมบรณการแปลงและโหลดดวยคาสมบรณ

Absolute translation and loading … Absolute translation and loading … ตอตอ

ขอเสยของวธนคอ ถางานพรอมจะรนแลว แตสวนของ

หนวยความจาหลกทตองการ กาลงถกใชโดยงานอน กตองรอจนกวา

งานทใชหนวยความจาทตองการทางานเสรจสน ถงแมวาสวนอน ๆ จะ

วางอยกตาม ทาใหสญเสยหนวยความจาในสวนอนโดยเปลา

ประโยชน

ถางานสวนใหญเปนงานทมขนาดเลก ควของสวนทมขนาดเลกจะเตม

อยตลอดเวลา ในขณะทควของสวนทมขนาดใหญยงคงวางอย ทาให

งานทมขนาดเลกจะตองรอในคว ในขณะทหนวยความจาหลกยง

เหลออยมาก

Page 24: ch 4 memory

การแปลงและโหลดดวยคาสมพทธการแปลงและโหลดดวยคาสมพทธ

Relocatable translation and loadingRelocatable translation and loading

เพอแกปญหาทเกดขนในการแปลงและโหลดดวยคาสมบรณ จงทาใหเกด

วธการทเรยกวาการแปลงและโหลดดวยคาสมพทธ

งานจะถกแปลงใหไดแอดเดรสเปนคาสมพทธกบจดเรมตนของงาน

จดเรมตนของงานกคอแอดเดรส 0 นนเอง

ถางานมขนาด 100 byte เมองานถกโหลดลงในหนวยความจาหลกจะไม

รอใหแอดเดรส 0 ถง 100 วาง แตจะโหลดลงสวนทมขนาดมากกวาหรอ

เทากบขนาดของงาน

ดงนนควงานจงไมจาเปนตองเปน Multiple Queues ใชเปน Single

Queues

Page 25: ch 4 memory

การแปลงและโหลดดวยคาสมพทธการแปลงและโหลดดวยคาสมพทธ

Relocatable translation and loading … Relocatable translation and loading … ตอตอ

วธการจดควใชวธ FCFS คองานใดมากอนกมสทธ โหลดลง

ในสวนของหนวยความจาหลกทชอย

แตถาขนาดของงานมขนาดใหญกวาสวนของหนวยความจา

หลกทชอย OS จะขามงานนนไปทาใหกบงานอน ๆ ทอยถดไป

สาหรบงานทถกขามกจะตองคอยอยในคว ซง OS จะกาหนด

วางานจะถกมองขามไดไมเกนจานวนครงทกาหนด ถาเกน

ระบบจะตองเลอกงานนนเขาไปทางาน

Page 26: ch 4 memory

การแปลงและโหลดดวยคาสมพทธการแปลงและโหลดดวยคาสมพทธ

Relocatable translation and loading … Relocatable translation and loading … ตอตอ

OS

สวนท 1

สวนท 2

สวนท 3งาน

คว

0

50000

60000

65000

Page 27: ch 4 memory

การแปลงและโหลดดวยคาสมพทธการแปลงและโหลดดวยคาสมพทธ

Relocatable translation and loading … Relocatable translation and loading … ตอตอ

• การป องกน OS ในระบบหลายโปรแกรมประเภทแบงหน วยความจานยมใช รจสเตอร ขอบเขตหลาย ๆ ตว ส วนยอยแตละส วนจะใช รจสเตอรขอบเขต 2 ตว ในการแยกแยะส วนแตละส วน เรยกวารจสเตอรขอบเขตบน (high boundary register) และรจสเตอรขอบเขตลาง (Low boundary register)

Page 28: ch 4 memory

ขอเสยของขอเสยของการแบงหนวยความจาขนาดคงทการแบงหนวยความจาขนาดคงท

การแบงหนวยความจาขนาดคงทเปนวธการทงายและไมซบซอนตอ

การสราง OS อยางไรกตามมขอเสยดงน

พนททกาหนดใหมขนาดและจานวนทคงทเมอระบบเรมทางานนน จะเปน

ตวจากดจานวนของงานทสามารถเขามาใชระบบได

เนองจากระบบมการกาหนดพนทแบบคงท ดงนนงานทมขนาดเลกจะไม

สามารถใชพนทของหนวยความจาไดอยางเตมประสทธภาพ

การจดแบงพนทแบบคงทจะทาใหเกดสวนทไมถกใชงาน ซงเราเรยกวาเกด

การแตกกระจาย (Fragmentation) ซงมอย 2 รปแบบ

การแตกกระจายภายนอก (External fragmentation)

การแตกกระจายภายใน (Internal fragmentation)

Page 29: ch 4 memory

ขอเสยของขอเสยของการแบงหนวยความจาขนาดคงทการแบงหนวยความจาขนาดคงท

OS

สวนท 1

วาง

สวนท 2

(งานของผใช)

สวนท 3

(งานของผใช)

การแตกกระจายภายนอก

การแตกกระจายภายใน

Page 30: ch 4 memory

การแบงหนวยความจาขนาดการแบงหนวยความจาขนาดไมไมคงทคงท

Variable partition multiVariable partition multi--programmingprogramming

จากปญหาทพบของการทางานของการแบงหนวยความจา

ขนาดคงท ผออกแบบ OS จงไดทาการปรบปรงการแบง

หนวยความจาใหดขน

โดยระบบจะกาหนดใหมการแบงหนวยความจาตามความ

ตองการของงาน และไมมการจากดขอบเขตของ

หนวยความจาหลก

การแบงหนวยความจาแบบนเรยกวา การแบง

หนวยความจาขนาดไมคงท

Page 31: ch 4 memory

การแบงหนวยความจาขนาดการแบงหนวยความจาขนาดไมไมคงทคงท

Variable partition multiVariable partition multi--programming … programming … ตอตอ

ตวอยาง ถาเรามหนวยความจาหลกทงหมด 1 MB ดงรป

โปรเซส A

(ตองการ 320 K)

OS 128 K

896 Kวาง

OS

576 K

320 K320 K

วาง

Page 32: ch 4 memory

การแบงหนวยความจาขนาดการแบงหนวยความจาขนาดไมไมคงทคงท

Variable partition multiVariable partition multi--programming … programming … ตอตอ

โปรเซส B

(ตองการ 224 K)

OS

576 K

320 KA

วาง

OS

224 K

320 KA

B

352 Kวาง

Page 33: ch 4 memory

การแบงหนวยความจาขนาดการแบงหนวยความจาขนาดไมไมคงทคงท

Variable partition multiVariable partition multi--programming … programming … ตอตอ

โปรเซส C

(ตองการ 288 K)

OS

224 K

320 KA

B

352 Kวาง

OS

224 K

320 KA

B

288 KC

64 Kวาง

Page 34: ch 4 memory

การแบงหนวยความจาขนาดการแบงหนวยความจาขนาดไมไมคงทคงท

Variable partition multiVariable partition multi--programming … programming … ตอตอ

โปรเซส D

(ตองการ 128 K)

OS

224 K

320 KA

B

288 KC

64 Kวาง

OS

224 K

320 KA

B

288 KC

64 Kวาง

Page 35: ch 4 memory

การแบงหนวยความจาขนาดการแบงหนวยความจาขนาดไมไมคงทคงท

Variable partition multiVariable partition multi--programming … programming … ตอตอ

โปรเซส B

(ทางานเสรจ)

OS

224 K

320 KA

B

288 KC

64 Kวาง

OS

224 K

320 KA

288 KC

64 K

วาง

วาง

Page 36: ch 4 memory

การแบงหนวยความจาขนาดการแบงหนวยความจาขนาดไมไมคงทคงท

Variable partition multiVariable partition multi--programming … programming … ตอตอ

โปรเซส D

(ตองการ 128 K)

OS

128 K

320 KA

288 KC

64 K

D

96 Kวาง

วาง

OS

224 K

320 KA

288 KC

64 Kวาง

วาง

Page 37: ch 4 memory

การแบงหนวยความจาขนาดการแบงหนวยความจาขนาดไมไมคงทคงท

Variable partition multiVariable partition multi--programming … programming … ตอตอ

จากรปจะเหนวาเมอระบบทางานไปไดสกระยะหนง เราจะพบ

ชองวางเกดขนอยางมากมายในหนวยความจาหลก ซงจะทา

ใหการใชงานหนวยความจาหลกมประสทธภาพลดลง

เราเรยกชองวางเลก ๆ เหลานวา การแตกกระจายภายนอก

(External fragmentation)

ดงนนการทจะวางโปรเซสลงในหนวยความจาหลกนนจะตอง

มการตดสนใจทด ซง OS เรยกวา การจดยทธวธการวาง

Page 38: ch 4 memory

การจดยทธวธการวางการจดยทธวธการวาง

เมอมโปรเซสถกสงเขามาในหนวยความจาหลก ซงขณะนน

หนวยความจาหลกอาจมชองวางเกดขนกระจายไปทว

การจะจดวาโปรเซสใดควรจะวางไวในชองวางใด มวธการอย

3 แบบดงน

เลอกชองวางทพบกอน (First-Fit)

เลอกชองวางทเหมาะสม (Best-Fit)

เลอกชองวางทใหญทสด (Worst-Fit)

Page 39: ch 4 memory

การจดยทธวธการวาง การจดยทธวธการวาง … … ตอตอ

เลอกชองวางทพบกอน (First-Fit)

วธการน OS จะตรวจหาชองวางใน

หนวยความจา เมอใดทพบชองวางทมขนาดใหญ

พอทจะวางโปรเซสใหมลงไปได OS จะเลอก

ชองวางนนทนท ทาใหการเลอกชองวางทาได

รวดเรว

Page 40: ch 4 memory

40

การจดยทธวธการวาง การจดยทธวธการวาง … … ตอตอ

เลอกชองวางทเหมาะสม (Best-Fit)

วธการน OS จะตรวจหาชองวางทมอยใน

หนวยความจาทงหมด แลวเลอกเอาชองวางทเมอ

วางโปรเซสลงไปแลวจะเกดชองวางขนาดเลก

ทสด

Page 41: ch 4 memory

การจดยทธวธการวาง การจดยทธวธการวาง … … ตอตอ

–เลอกช องวางทใหญทสด (Worst-Fit)การเลอกช องวางแบบนจะตรงกนข ามกบแบบท2 OS จะเลอกช องวางทเมอวางโปรเซสลงไปแล วจะเกดช องวางขนาดใหญทสด

Page 42: ch 4 memory

การจดยทธวธการวาง การจดยทธวธการวาง … … ตอตอ

OS

ใชงาน

ใชงาน

ใชงาน

16 K

14 K

5 K

30 K

โปรเซสใหมขนาด 13 K

คาถาม จงใชยทธวธทง 3 แบบวางโปรเซสใหมน

Page 43: ch 4 memory

การรวมโฮล การรวมโฮล (Coalescing Holes)(Coalescing Holes)

เมอมชองวาง 2 ชองตดกนในหนวยความจา OS สามารถทจะรวม

ชองวางทง 2 นเปนชองวางขนาดใหญชองเดยว ซงเราเรยกวา การ

รวมโฮล (Coalescing Holes) แสดงดงรป

OS

โปรแกรมอน ๆ

2 K

โปรแกรม A 5 K

โปรแกรมอน ๆ

OS

โปรแกรมอน ๆ

2 K

5 K

โปรแกรมอน ๆโปรแกรม

A จบ

OS

โปรแกรมอน ๆ

7 K

โปรแกรมอน ๆ

Page 44: ch 4 memory

การบบอดหนวยความจา การบบอดหนวยความจา (Storage Compaction)(Storage Compaction)

ถงแมวาจะมการรวมโฮลเกดขน แตชองวางทไมอยตดกนก

ยงคงมกระจายอยในหนวยความจา

ซงการมชองวางขนาดเลก ๆ หลายชอง เมอนามารวมกนกจะ

ทาใหเกดชองวางขนาดใหญซงมากพอสาหรบ 1 โปรเซสได

OS จะตองสามารถทจะทาการบบอดหนวยความจา โดยยาย

เอาหนวยความจาทถกครอบครองโดยโปรเซสตาง ๆ ไปอยชด

ตดกนทดานใดดานหนง ซงจะทาใหเกดชองวางใหญเพยงชอง

เดยว จงทาใหโปรเซสอน ๆ สามารถเขามาใชหนวยความจาท

เหลอได

Page 45: ch 4 memory

การบบอดหนวยความจา การบบอดหนวยความจา (Storage Compaction) … (Storage Compaction) … ตอตอ

OS

ใชงาน 1

ใชงาน 2

ใชงาน 3

16 K

14 K

5 K

30 K

OSใชงาน 1

ใชงาน 2

ใชงาน 3

วาง

Page 46: ch 4 memory

การบบอดหนวยความจา การบบอดหนวยความจา (Storage Compaction) … (Storage Compaction) … ตอตอ

ขอเสยของการบบอดหนวยความจา

ระบบจะตองหยดการทางานของโปรเซสทกโปรเซสไว

ชวขณะหนงเพอทจะทาการบบอด

ซงอาจจะตองใชเวลามากทาใหการทางานของระบบ

ชาลง โดยเฉพาะกบการทางานในระบบโตตอบ

(Interactive)

Page 47: ch 4 memory

ระบบหลายโปรแกรมแบบสลบหนวยความจาระบบหลายโปรแกรมแบบสลบหนวยความจา

((multiprogramming with storage swappingmultiprogramming with storage swapping))• เปนการสลบโปรแกรมไปสหนวยความจาสารองเมอโปรแกรมไม

ตองการหนวยความจาหลกเรยกวาการสลบออก (swapped out) และนาโปรแกรมเขามาใชหนวยความจาใหมเมอตองการ

ใชหนวยความจาเรยกวาการสลบเขา (swapped in)• โปรแกรมจะอยในหนวยความจาและถกสลบออกเมอเกดเหตการณ

3 กรณ คอ

• โปรแกรมจบ

• โปรแกรมตองการใชงานอนพต-เอาตพต

• หมดเวลาควอนตม

Page 48: ch 4 memory

ระบบหลายโปรแกรมแบบสลบหนวยความจา ระบบหลายโปรแกรมแบบสลบหนวยความจา

((multiprogramming with storage swappingmultiprogramming with storage swapping) … ) … ตอตอ

OS

โปรแกรมของ

ผใช

วาง

AB

C

Dสลบเขา

swapped In

สลบออก

swapped out โปรแกรมของผใช

Page 49: ch 4 memory

การทาโอการทาโอเวอรเลยเวอรเลย

• เนองจากโปรแกรมของผ ใช มขนาดใหญกวาหน วยความจาหลก จงต องแก ปญหาน ถ าเปนกรณโปรแกรมเดยวจะแก ปญหาด วยการทาโอเวอรเลย

• การทาโอเวอรเลย (overlay) เปนหน าทของผ เขยนโปรแกรมเองOS ไมได จดการให

• ผ เขยนโปรแกรมแบงโปรแกรมออกเปนส วนยอยหลาย ๆ ส วน แตละส วนต องมขนาดเลกกวาหน วยความจา

Page 50: ch 4 memory

การทาโอการทาโอเวอรเลยเวอรเลย … … ตอตอ

OS

สวนท 1

สวนท 2

โปรแกรมยอย

หนวยความจา

โปรแกรมของผใชแบงเปนสวนยอยตาง ๆ

โปรแกรมหลก

Page 51: ch 4 memory

หนวยความจาเสมอน หนวยความจาเสมอน (Virtual Memory)(Virtual Memory)

การใชหนวยความจาของโปรแกรมผใชทกลาวมานน จะเหนวาขนาด

ของโปรแกรมตองมขนาดเลกกวาขนาดของหนวยความจาทเหลออย

แตถาโปรแกรมของผ ใชมขนาดใหญกวา ไมวาเราจะใชวธการจดการ

หนวยความจาทกลาวมาแลวชนดใดกตามไมสามารถจะทางานได

ดงนนถาโปรแกรมของผ ใชมขนาดใหญกวาหนวยความจาทเหลอ เรา

แกปญหาโดยใชหนวยความจาเสมอน (Virtual Memory)

ใชในกรณแบบหลายโปรแกรม

Page 52: ch 4 memory

Question & AnswerQuestion & Answer

Page 53: ch 4 memory

แบบฝกหดบทท 41. นกศกษาคดวาทาไมจงตองมหนวยความจาหลก

2. จงอธบายภาพขางลางนตามความเขาใจ

3. การจดการหนวยความจาเปนหนาทของ OS สวนใด และจดการ

เรองใดบาง

Page 54: ch 4 memory

แบบฝกหดบทท 44 .การรวมโฮล (Coalescing Holes) มวธการ

ทางานอยางไร จงอธบาย5. การแตกกระจาย (Fragmentation) เกดขนได

อยางไร จงอธบาย6. การจะจดวาโปรเซสควรจะวางไวในช องวางใด

ในหน วยความจามหลกการทางานอยางไร จงอธบาย

7. การแปลงและโหลดดวยคาสมบรณ และการแปลงและโหลดดวยคาสมพทธ แตกตางกนอยางไร

8. การป องกนไมให โปรแกรมลวงลามายงส วนของ OS ภายในหน วยความจา ใช วธการใด

54