ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก

สารบัญ:

ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก
ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก

วีดีโอ: ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก

วีดีโอ: ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก
วีดีโอ: Margin of Safety 2024, กรกฎาคม
Anonim

การแยกส่วนภายในกับภายนอก

ความแตกต่างระหว่างการแตกแฟรกเมนต์ภายในและภายนอกเป็นหัวข้อที่น่าสนใจสำหรับหลายๆ คนที่ต้องการพัฒนาความรู้ด้านคอมพิวเตอร์ของตน ก่อนจะรู้ความแตกต่างนี้ เราต้องดูก่อนว่า Fragmentation คืออะไร Fragmentation เป็นปรากฏการณ์ที่เกิดขึ้นในหน่วยความจำของคอมพิวเตอร์ เช่น Random Access Memory (RAM) หรือฮาร์ดดิสก์ ซึ่งทำให้สิ้นเปลืองและใช้งานพื้นที่ว่างอย่างไม่มีประสิทธิภาพ แม้ว่าการใช้พื้นที่ว่างอย่างมีประสิทธิภาพจะถูกขัดขวาง แต่ก็ทำให้เกิดปัญหาด้านประสิทธิภาพเช่นกัน การแตกแฟรกเมนต์ภายในเกิดขึ้นเมื่อการจัดสรรหน่วยความจำขึ้นอยู่กับพาร์ติชั่นขนาดคงที่ ซึ่งหลังจากแอพพลิเคชั่นขนาดเล็กถูกกำหนดให้กับสล็อต พื้นที่ว่างที่เหลือของสล็อตนั้นจะสูญเปล่าการแตกแฟรกเมนต์ภายนอกเกิดขึ้นเมื่อหน่วยความจำได้รับการจัดสรรแบบไดนามิก ซึ่งหลังจากโหลดและยกเลิกการโหลดสล็อตหลายช่องที่นี่ และพื้นที่ว่างจะถูกกระจายแทนที่จะอยู่ติดกัน

Internal Fragmentation คืออะไร

ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก_การแยกส่วนภายใน
ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก_การแยกส่วนภายใน
ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก_การแยกส่วนภายใน
ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก_การแยกส่วนภายใน

พิจารณารูปด้านบนที่มีการปฏิบัติตามกลไกการจัดสรรหน่วยความจำขนาดคงที่ เริ่มแรก หน่วยความจำว่างเปล่า และตัวจัดสรรได้แบ่งหน่วยความจำออกเป็นพาร์ติชั่นขนาดคงที่ จากนั้นสามโปรแกรมที่ชื่อ A, B, C ได้ถูกโหลดไปยังสามพาร์ติชั่นแรกในขณะที่พาร์ติชั่นที่ 4 ยังว่างอยู่โปรแกรม A ตรงกับขนาดของพาร์ติชั่น ดังนั้นจึงไม่มีการสูญเสียในพาร์ติชั่นนั้น แต่โปรแกรม B และโปรแกรม C มีขนาดเล็กกว่าขนาดพาร์ติชั่น ดังนั้นในส่วนที่ 2 และส่วนที่ 3 จึงมีพื้นที่ว่างเหลืออยู่ อย่างไรก็ตาม พื้นที่ว่างนี้ใช้ไม่ได้เนื่องจากตัวจัดสรรหน่วยความจำกำหนดพาร์ติชั่นแบบเต็มให้กับโปรแกรมเท่านั้น แต่ไม่มีส่วนใดส่วนหนึ่งของมัน การสูญเสียพื้นที่ว่างนี้เรียกว่าการแตกแฟรกเมนต์ภายใน

ในตัวอย่างข้างต้น เป็นพาร์ติชั่นคงที่ขนาดเท่ากัน แต่สิ่งนี้สามารถเกิดขึ้นได้ในสถานการณ์ที่มีพาร์ติชั่นขนาดคงที่ต่างๆ โดยปกติหน่วยความจำหรือพื้นที่ที่ยากที่สุดจะถูกแบ่งออกเป็นบล็อกที่มักจะมีขนาดกำลัง 2 เช่น 2, 4, 8, 16 ไบต์ ดังนั้นโปรแกรมหรือไฟล์ 3 ไบต์จะถูกกำหนดให้กับบล็อกขนาด 4 ไบต์ แต่หนึ่งไบต์ของบล็อกนั้นจะไม่สามารถใช้งานได้ทำให้เกิดการแตกแฟรกเมนต์ภายใน

การแยกส่วนภายนอกคืออะไร

ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก_การแยกส่วนภายนอก
ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก_การแยกส่วนภายนอก
ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก_การแยกส่วนภายนอก
ความแตกต่างระหว่างการแยกส่วนภายในและภายนอก_การแยกส่วนภายนอก

พิจารณารูปด้านบนที่จัดสรรหน่วยความจำแบบไดนามิก ในการจัดสรรหน่วยความจำแบบไดนามิก ตัวจัดสรรจะจัดสรรเฉพาะขนาดที่จำเป็นสำหรับโปรแกรมนั้นเท่านั้น หน่วยความจำแรกนั้นฟรีอย่างสมบูรณ์ จากนั้นโปรแกรม A, B, C, D และ E ที่มีขนาดต่างกันจะถูกโหลดทีละรายการและวางลงในหน่วยความจำตามลำดับนั้น จากนั้นโปรแกรม A และโปรแกรม C จะปิดลงและจะยกเลิกการโหลดจากหน่วยความจำ ขณะนี้มีพื้นที่ว่างในหน่วยความจำสามพื้นที่ แต่ไม่ได้อยู่ติดกัน ตอนนี้กำลังโหลดโปรแกรมขนาดใหญ่ที่ชื่อว่า Program F แต่บล็อกพื้นที่ว่างไม่เพียงพอสำหรับโปรแกรม F การเพิ่มพื้นที่ว่างทั้งหมดนั้นเพียงพอสำหรับโปรแกรม F อย่างแน่นอน แต่เนื่องจากขาดสิ่งที่แนบมาจึงทำให้พื้นที่ว่าง ใช้ไม่ได้กับโปรแกรม Fสิ่งนี้เรียกว่าการแยกส่วนภายนอก

ความแตกต่างระหว่างการแยกส่วนภายในและภายนอกคืออะไร

• Internal Fragmentation เกิดขึ้นเมื่อใช้เทคนิคการจัดสรรหน่วยความจำขนาดคงที่ การแตกแฟรกเมนต์ภายนอกเกิดขึ้นเมื่อใช้เทคนิคการจัดสรรหน่วยความจำแบบไดนามิก

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

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

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

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

สรุป:

การแยกส่วนภายในกับภายนอก

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