แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่างการจัดสรรหน่วยความจำแบบต่อเนื่องและแบบไม่ต่อเนื่อง

หน่วยความจำคืออาร์เรย์ขนาดใหญ่ของไบต์ซึ่งแต่ละไบต์มีที่อยู่ของตัวเอง การจัดสรรหน่วยความจำสามารถแบ่งได้เป็นสองวิธีคือการจัดสรรหน่วยความจำต่อเนื่องและการจัดสรรหน่วยความจำแบบไม่ต่อเนื่อง ข้อแตกต่างที่สำคัญระหว่างการจัดสรรหน่วยความจำแบบต่อเนื่องและแบบไม่ต่อเนื่องคือการ จัดสรรหน่วยความจำแบบต่อเนื่องจะ กำหนดบล็อกหน่วยความจำที่ต่อเนื่องให้กับกระบวนการที่ร้องขอหน่วยความจำในขณะที่การ จัดสรรหน่วยความจำแบบไม่ต่อเนื่องจะ กำหนดบล็อกหน่วยความจำแบบแยก กระบวนการที่ร้องขอหน่วยความจำ เราจะพูดถึงความแตกต่างเพิ่มเติมระหว่างการจัดสรรหน่วยความจำแบบต่อเนื่องและแบบไม่ต่อเนื่องด้วยความช่วยเหลือของแผนภูมิเปรียบเทียบที่แสดงด้านล่าง

แผนภูมิเปรียบเทียบ

พื้นฐานการเปรียบเทียบการจัดสรรหน่วยความจำต่อเนื่องการจัดสรรหน่วยความจำไม่ต่อเนื่อง
ขั้นพื้นฐานจัดสรรบล็อกหน่วยความจำต่อเนื่องให้กับกระบวนการจัดสรรบล็อกหน่วยความจำแยกจากกันเป็นกระบวนการ
ค่าโสหุ้ยการจัดสรรหน่วยความจำต่อเนื่องไม่มีค่าใช้จ่ายในการแปลที่อยู่ในขณะดำเนินการกระบวนการการจัดสรรหน่วยความจำแบบไม่ต่อเนื่องมีค่าใช้จ่ายในการแปลที่อยู่ในขณะดำเนินการกระบวนการ
อัตราการดำเนินการกระบวนการดำเนินการ fatser ในการจัดสรรหน่วยความจำต่อเนื่องกระบวนการดำเนินการค่อนข้างช้ากว่าในการจัดสรรหน่วยความจำที่ไม่ต่อเนื่อง
สารละลายพื้นที่หน่วยความจำต้องแบ่งออกเป็นพาร์ติชั่นขนาดคงที่และแต่ละพาร์ติชั่นจะถูกจัดสรรให้กับกระบวนการเดียวเท่านั้นแบ่งกระบวนการออกเป็นหลายบล็อกและวางไว้ในส่วนต่าง ๆ ของหน่วยความจำตามความพร้อมของพื้นที่หน่วยความจำที่มีอยู่
ตารางตารางได้รับการดูแลโดยระบบปฏิบัติการซึ่งเก็บรักษารายการพาร์ติชันที่มีอยู่และว่างในพื้นที่หน่วยความจำตารางจะต้องได้รับการบำรุงรักษาสำหรับแต่ละกระบวนการที่ดำเนินการที่อยู่ฐานของแต่ละบล็อกซึ่งได้รับมาจากกระบวนการในหน่วยความจำ

คำจำกัดความของการจัดสรรหน่วยความจำต่อเนื่อง

ระบบปฏิบัติการและกระบวนการของผู้ใช้จะต้องได้รับการรองรับในหน่วยความจำหลัก ดังนั้นหน่วยความจำหลัก แบ่งออกเป็นสอง พาร์ติชั่น: หนึ่งพาร์ติชั่นระบบปฏิบัติการจะอยู่และที่โพรเซสผู้ใช้อยู่ ในสภาวะปกติกระบวนการผู้ใช้หลายอย่างจะต้องอยู่ในหน่วยความจำในเวลาเดียวกันดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องพิจารณาการจัดสรรหน่วยความจำให้กับกระบวนการ

การจัดสรรหน่วยความจำที่ต่อเนื่องเป็นหนึ่งในวิธีการจัดสรรหน่วยความจำ ในการจัดสรรหน่วยความจำต่อเนื่องเมื่อกระบวนการร้องขอหน่วยความจำ ส่วนที่ต่อเนื่องกันเดียวของบล็อกหน่วยความจำ จะถูกกำหนดให้กับกระบวนการตามความต้องการ

การจัดสรรหน่วยความจำต่อเนื่องสามารถทำได้โดยการแบ่งหน่วยความจำออกเป็น พาร์ติชั่น ขนาดคงที่และจัดสรรแต่ละพาร์ติชั่นให้เป็นกระบวนการเดียวเท่านั้น แต่สิ่งนี้จะทำให้ระดับของการโปรแกรมหลายโปรแกรมที่ จำกัด จำนวนพาร์ติชันคงที่ที่ทำในหน่วยความจำ การจัดสรรหน่วยความจำต่อเนื่องยังนำไปสู่การ กระจายตัวของภายใน เช่นถ้าบล็อกหน่วยความจำขนาดคงที่ที่จัดสรรให้กับกระบวนการมีขนาดใหญ่กว่าความต้องการเล็กน้อยพื้นที่ด้านซ้ายของหน่วยความจำในบล็อกนั้นเรียกว่าการแตกแฟรกเมนต์ภายใน เมื่อกระบวนการที่อยู่ในพาร์ติชันสิ้นสุดพาร์ติชันจะพร้อมใช้งานสำหรับกระบวนการอื่น

ในรูปแบบการแบ่งพาร์ติชันตัวแปรระบบปฏิบัติการจะเก็บรักษา ตาราง ซึ่งบ่งชี้พาร์ติชั่นของหน่วยความจำนั้นว่างและอยู่ในกระบวนการ การจัดสรรหน่วยความจำต่อเนื่องทำให้การดำเนินการของกระบวนการรวดเร็วขึ้นโดยลดค่าใช้จ่ายในการแปลที่อยู่

นิยามการจัดสรรหน่วยความจำแบบไม่ต่อเนื่อง

การจัดสรรหน่วยความจำแบบไม่ต่อเนื่องช่วยให้กระบวนการ รับหน่วยความจำหลายบล็อกที่ตำแหน่งต่าง ๆ ในหน่วยความจำ ตามความต้องการ การจัดสรรหน่วยความจำแบบไม่ต่อเนื่อง ช่วยลด การ สูญเสียหน่วยความจำที่ เกิดจากการกระจายตัวของข้อมูลภายในและภายนอก ในขณะที่มันใช้รูหน่วยความจำที่สร้างขึ้นในระหว่างการกระจายตัวของภายในและภายนอก

การแบ่งหน้าและการแบ่งส่วน เป็นสองวิธีที่ทำให้พื้นที่ที่อยู่ทางกายภาพของกระบวนการไม่ต่อเนื่องกัน ในการจัดสรรหน่วยความจำแบบไม่ต่อเนื่องกระบวนการจะแบ่งออกเป็น บล็อก (หน้าหรือเซกเมนต์) ซึ่งวางไว้ในพื้นที่ต่าง ๆ ของพื้นที่หน่วยความจำตามความพร้อมใช้งานของหน่วยความจำ

การจัดสรรหน่วยความจำแบบไม่ต่อเนื่องมีข้อได้เปรียบในการลดความสิ้นเปลืองหน่วยความจำ แต่ แต่จะ เพิ่ม โอเวอร์เฮด ของการแปลที่อยู่ เนื่องจากส่วนต่าง ๆ ของกระบวนการถูกวางไว้ในตำแหน่งที่แตกต่างกันในหน่วยความจำมัน ทำให้การประมวลผล ของหน่วยความจำ ช้าลง เพราะเวลาจะใช้ในการแปลที่อยู่

ที่นี่ระบบปฏิบัติการจำเป็นต้องบำรุงรักษา ตาราง สำหรับแต่ละ กระบวนการ ซึ่งมีที่อยู่ฐานของแต่ละบล็อกซึ่งกระบวนการนั้นได้มาจากพื้นที่หน่วยความจำ

ความแตกต่างที่สำคัญระหว่างการจัดสรรหน่วยความจำแบบต่อเนื่องและแบบไม่ต่อเนื่อง

  1. ความแตกต่างพื้นฐานระหว่างการจัดสรรหน่วยความจำแบบต่อเนื่องและแบบไม่ต่อเนื่องคือการจัดสรรแบบต่อเนื่องจะจัดสรร บล็อกที่ต่อเนื่องกันหนึ่งหน่วยความจำ ให้กับกระบวนการในขณะที่การจัดสรรแบบไม่ต่อเนื่องจะแบ่ง กระบวนการออกเป็นหลายช่วงตึก และวางไว้ใน พื้นที่แอดเดรสต่างๆ .
  2. ในการจัดสรรหน่วยความจำต่อเนื่องกระบวนการจะถูกเก็บไว้ในพื้นที่หน่วยความจำต่อเนื่อง ดังนั้นจึง ไม่มีค่าใช้จ่ายในการแปลที่อยู่ ระหว่างการดำเนินการ แต่ในการจัดสรรหน่วยความจำแบบไม่ต่อเนื่องมี ค่าใช้จ่ายในการแปลที่อยู่ ในขณะที่การดำเนินการตามกระบวนการเป็นบล็อกกระบวนการจะกระจายในพื้นที่หน่วยความจำ
  3. กระบวนการที่จัดเก็บในหน่วยความจำต่อเนื่องจะทำงาน ได้เร็วขึ้น เมื่อเปรียบเทียบกับกระบวนการที่จัดเก็บในพื้นที่หน่วยความจำที่ไม่ต่อเนื่อง
  4. โซลูชันสำหรับการจัดสรรหน่วยความจำต่อเนื่องคือการ แบ่งพื้นที่หน่วยความจำลงในพาร์ติชันที่มีขนาดคงที่ และจัดสรรพาร์ติชันให้กับกระบวนการเดียวเท่านั้น ในอีกทางหนึ่งในการจัดสรรหน่วยความจำแบบไม่ต่อเนื่อง กระบวนการจะแบ่งออกเป็นหลายบล็อก และแต่ละบล็อกจะถูกวางใน ตำแหน่งต่างๆในหน่วยความจำ ตามความพร้อมใช้งานของหน่วยความจำ
  5. ในการจัดสรรหน่วยความจำที่ต่อเนื่องระบบปฏิบัติการจะต้องรักษา ตาราง ซึ่งบ่งชี้ว่าพาร์ติชันใดที่พร้อมใช้งานสำหรับกระบวนการและกระบวนการนั้นครอบครองอยู่ ในการจัดสรรหน่วยความจำแบบไม่ต่อเนื่อง ตาราง จะถูกเก็บไว้สำหรับ แต่ละกระบวนการ ซึ่งระบุที่อยู่ฐานของแต่ละบล็อกของกระบวนการที่วางในพื้นที่หน่วยความจำ

สรุป:

การจัดสรรหน่วยความจำต่อเนื่องไม่ได้สร้างค่าโสหุ้ยใด ๆ และทำให้ความเร็วในการประมวลผลของกระบวนการเร็ว ขึ้น ในทางกลับกันการจัดสรรหน่วยความจำแบบไม่ต่อเนื่องจะสร้างโอเวอร์เฮดของการแปลที่อยู่ลดความเร็วการดำเนินการของกระบวนการ แต่ เพิ่มการใช้งานหน่วยความจำ ดังนั้นจึงมีข้อดีข้อเสียของวิธีการจัดสรรทั้งสอง

Top