7/1/21 ระบบปฏิบัติการ การจัดการหน่วยความจำ นายเมธา อินทร์หอม เลขที่ 5
บทที่ 4 การจัดการหน่วยความจำ
หน้าที่หลักของหน่วยความจำ
- เก็บระบบปฏิบัติการ
- เก็บโปรแกรมของผู้ใช้
- เก็บข้อมูลที่จะใช้
องค์ประกอบหน่วยความจำ
- แอดเดรส (address)
- ข้อมูล (data)
ความต้องการหน่วยความจำ
- ความเร็วสูง
- มีความเสถียรสูง
- ความจุสูงราคาต่ำ
ชนิดของหน่วยความจำ
หน่วยความจำหลัก
- ROM เป็นหน่วยความจำถาวร ไม่สูญเสียข้อมูลแม้ไฟดับ มักใช้เก็บข้อมูลพื้นฐานที่จำเป็น
- RAM มักจะใช้เป็นหน่วยความจำหลัก มีอยู่ 2 ประเภท คือ static ram และ dynamic ram
หน่วยความจำสำรอง
- มีความเร็วช้า เก็บไว้ได้นาน เช่น ดิสก์ ฮาร์ดดิสก์
การจัดการหน่วยความจำ (Memory Management)
- หน่วยความจำหลักเป็นศูนย์กลางของการทำงานต่าง ๆ ของระบบคอมพิวเตอร์ในปัจจุบัน
- หน่วยความจำหลักคือพื้นที่เก็บข้อมูลขนาดใหญ่ ประกอบด้วย
- พื้นที่เก็บข้อมูลย่อย มีหน่วยเป็น Byte
- ตำแหน่งหรือที่อยู่ของพื้นที่ย่อย (Address)
- ส่วนของ OS ที่ทำหน้าที่จัดการกับหน่วย ความจำได้แก่ ตัวจัดการหน่วยความจำ(Memory Manager) ซึ่งมีหน้าที่ต่าง ๆ ดังนี้
- ตรวจสอบว่าส่วนใดของหน่วยความจำที่ กำลังถูกใช้งาน ส่วนใดว่าง
- จัดหน่วยความจำให้กับงานที่ทำงาน
- ส่งหน่วยความจำคืนสู่ระบบเมื่องานเสร็จ
- จัดการสลับหน่วยความจำหลัก กับพื้นที่ฮาร์ดดิสก์ เมื่อหน่วยความจำหลักมีขนาดเล็กเกินไปที่จะให้งานทำงาน
- การจัดสรรหน่วยความจำแบบต่อเนื่อง
- โปรแกรมหนึ่ง ๆ จะถูกโหลดลงหน่วยความจำได้ก็ต่อเมื่อมีหน่วยความจำขนาดใหญ่ที่จะวางโค้ดของโปรแกรม นั้นลงไปทั้งโปรแกรม
- โปรแกรมจะอยู่ติดต่อกันในหน่วยความจำหลักเป็นผืนเดียวกัน ไม่มีส่วนหนึ่งของโปรแกรมแยกจากกัน
- ถ้ามีพื้นที่ว่างไม่พอก็จะรอจนกว่าจะมีการจัดสรรหน่วยความจำแบบไม่ต่อเนื่อง
- โปรแกรมจะถูกแบ่งออกเป็นกลุ่มหรือส่วนย่อย ๆ หลาย ๆ ส่วน เมื่อรันโปรแกรมจะโหลดลงหน่วยความจำที่ไหนก็ได้ที่มีที่ว่างพอ แต่ละส่วนไม่จำเป็นต้องเรียงต่อเป็นผืนเดียว
- การจัดการหน่วยความจำหลักแบบต่างๆ
- การจัดการหน่วยความจำนั้นมีหลายวิธี ตั้งแต่การจัดการแบบพื้นฐานจนถึงแบบที่ซับซ้อน
- การจัดการหน่วยความจำจึงมีการแบ่งออกเป็น 2 ระบบดังนี้
- ระบบโปรแกรมเดี่ยว (Monoprogramming or Single program)
- ระบบหลายโปรแกรม (Multipleprogram)
ระบบโปรแกรมเดียว Monoprogramming or Single program
เป็นวิธีการจัดการหน่วยความจำที่ง่ายที่สุดเนื่องจากจะมีโปรแกรมเพียง 1 โปรแกรมทำงานในขณะใดขณะหนึ่ง แบ่งหน่วยความจำหลักเป็นออกเป็น 2 ส่วน คือ
- ส่วนของ OS เป็นหน่วยความจำที่ถูกครอบครองโดย OS
- ส่วนของผู้ใช้ (User area) คือส่วนที่สามารถนำโปรแกรมของผู้ใช้ลงไปวางได้ ซึ่งก็คือหน่วยความจำหลักทั้งหมดที่เหลือจากส่วนของ OS
ระบบหลายโปรแกรม Multiple program
- ระบบคอมพิวเตอร์ส่วนใหญ่ในปัจจุบันอนุญาตให้มีงานหลาย ๆ งานทำงานในเวลาเดียวกัน
- การที่ระบบมีหลายงานทำงานพร้อมกันนั้น หมายความว่าแต่ละงานต้องถูกบันทึกอยู่ในหน่วยความจำหลัก
- ดังนั้นเพื่อให้คอมพิวเตอร์สามารถทำงานหลายงานพร้อมกัน จึงจำเป็นต้องทำการแบ่งพื้นที่หน่วยความจำออกเป็นส่วน ๆสำหรับแต่ละงานเพื่อไม่ให้ปะปนกัน
- การแบ่งหน่วยความจำสำหรับระบบหลายโปรแกรมมี 2 แบบ
- การแบ่งหน่วยความจำขนาดคงที่ (Fixed partition multi-programming)
- การแบ่งหน่วยความจำขนาดไม่คงที่ (Variable partition multi-programming)
ความคิดเห็น
แสดงความคิดเห็น