7/1/21 ระบบปฏิบัติการ การจัดการหน่วยความจำ นายเมธา อินทร์หอม เลขที่ 5

บทที่ 4 การจัดการหน่วยความจำ 

หน้าที่หลักของหน่วยความจำ

  • เก็บระบบปฏิบัติการ
  • เก็บโปรแกรมของผู้ใช้
  • เก็บข้อมูลที่จะใช้

องค์ประกอบหน่วยความจำ

  • แอดเดรส (address)
  • ข้อมูล (data)

ความต้องการหน่วยความจำ

  • ความเร็วสูง
  • มีความเสถียรสูง
  • ความจุสูงราคาต่ำ

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

หน่วยความจำหลัก

  • ROM เป็นหน่วยความจำถาวร ไม่สูญเสียข้อมูลแม้ไฟดับ มักใช้เก็บข้อมูลพื้นฐานที่จำเป็น
  • RAM มักจะใช้เป็นหน่วยความจำหลัก มีอยู่ 2 ประเภท คือ static ram และ dynamic ram

หน่วยความจำสำรอง

  • มีความเร็วช้า เก็บไว้ได้นาน เช่น ดิสก์ ฮาร์ดดิสก์

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

  • หน่วยความจำหลักเป็นศูนย์กลางของการทำงานต่าง ๆ ของระบบคอมพิวเตอร์ในปัจจุบัน
  • หน่วยความจำหลักคือพื้นที่เก็บข้อมูลขนาดใหญ่ ประกอบด้วย
    1.     พื้นที่เก็บข้อมูลย่อย มีหน่วยเป็น Byte
    2.     ตำแหน่งหรือที่อยู่ของพื้นที่ย่อย (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)

ความคิดเห็น