Sự khác biệt giữa phân mảnh bên trong và bên ngoài

Phân mảnh bên trong và bên ngoài
 

Sự khác biệt giữa phân mảnh bên trong và bên ngoài là một chủ đề được nhiều người quan tâm muốn cải thiện kiến ​​thức máy tính của họ. Trước khi biết sự khác biệt này, chúng ta phải xem phân mảnh là gì. Phân mảnh là hiện tượng xảy ra trong bộ nhớ máy tính như Bộ nhớ truy cập ngẫu nhiên (RAM) hoặc đĩa cứng, gây lãng phí và sử dụng không gian trống không hiệu quả. Mặc dù việc sử dụng hiệu quả không gian có sẵn bị cản trở, điều này cũng gây ra các vấn đề về hiệu suất. Sự phân mảnh bên trong xảy ra khi cấp phát bộ nhớ dựa trên các phân vùng có kích thước cố định trong đó sau khi một ứng dụng kích thước nhỏ được gán cho một khe, không gian trống còn lại của khe đó bị lãng phí. Sự phân mảnh bên ngoài xảy ra khi bộ nhớ được phân bổ động trong đó sau khi tải và dỡ một số vị trí ở đây và không gian trống đang được phân phối thay vì tiếp giáp nhau.

Phân mảnh nội bộ là gì?

Xem xét hình trên, nơi một cơ chế cấp phát bộ nhớ có kích thước cố định đang được tuân theo. Ban đầu, bộ nhớ trống và bộ cấp phát đã chia bộ nhớ thành các phân vùng kích thước cố định. Sau đó, ba chương trình có tên A, B, C đã được tải vào ba phân vùng đầu tiên trong khi phân vùng thứ 4 vẫn miễn phí. Chương trình A phù hợp với kích thước của phân vùng, do đó không có sự lãng phí trong phân vùng đó, nhưng Chương trình B và Chương trình C nhỏ hơn kích thước phân vùng. Vì vậy, trong phần ition 2 và phân vùng 3 vẫn còn dung lượng trống. Tuy nhiên, không gian trống này không sử dụng được vì bộ cấp phát bộ nhớ chỉ gán các phân vùng đầy đủ cho các chương trình nhưng không có phần t của nó. Sự lãng phí không gian trống này được gọi là phân mảnh nội bộ.

Trong ví dụ trên, nó là các phân vùng cố định có kích thước bằng nhau nhưng điều này thậm chí có thể xảy ra trong tình huống có sẵn các phân vùng có kích thước cố định khác nhau. Thông thường bộ nhớ hoặc không gian cứng nhất được chia thành các khối thường có kích thước lũy thừa bằng 2, như 2, 4, 8, 16 byte. Vì vậy, một chương trình hoặc một tệp 3 byte sẽ được gán cho một khối 4 byte nhưng một byte của khối đó sẽ trở nên không sử dụng được gây ra sự phân mảnh bên trong.

Phân mảnh bên ngoài là gì?

Xem xét hình trên, nơi phân bổ bộ nhớ được thực hiện linh hoạt. Trong phân bổ bộ nhớ động, bộ cấp phát chỉ phân bổ kích thước chính xác cần thiết cho chương trình đó. Bộ nhớ đầu tiên là hoàn toàn miễn phí. Sau đó, các chương trình A, B, C, D và E có kích thước khác nhau được tải lần lượt và chúng được đặt trong bộ nhớ liên tục theo thứ tự đó. Sau đó, Chương trình A và Chương trình C đóng lại và chúng được dỡ khỏi bộ nhớ. Bây giờ có ba vùng không gian trống trong bộ nhớ, nhưng chúng không liền kề. Bây giờ, một chương trình lớn có tên Chương trình F sẽ được tải nhưng cả khối không gian trống là không đủ cho Chương trình F. Việc bổ sung tất cả các không gian trống chắc chắn là đủ cho Chương trình F, nhưng do không có sự phụ thuộc mà không gian là không thể sử dụng cho Chương trình F. Đây được gọi là Phân mảnh bên ngoài.

Sự khác biệt giữa phân mảnh bên trong và bên ngoài?

• Phân mảnh nội bộ xảy ra khi sử dụng kỹ thuật cấp phát bộ nhớ kích thước cố định. Sự phân mảnh bên ngoài xảy ra khi sử dụng kỹ thuật cấp phát bộ nhớ động.

• Phân mảnh nội bộ xảy ra khi phân vùng kích thước cố định được gán cho chương trình / tệp có kích thước nhỏ hơn phân vùng khiến phần còn lại của không gian trong phân vùng đó không thể sử dụng được. Sự phân mảnh bên ngoài là do không có đủ không gian liền kề sau khi tải và dỡ các chương trình hoặc tệp trong một thời gian vì sau đó tất cả không gian trống được phân phối ở đây và ở đó.

• Phân mảnh bên ngoài có thể được khai thác bằng cách nén trong đó các khối được gán được di chuyển sang một bên, để có được không gian tiếp giáp. Tuy nhiên, thao tác này cần có thời gian và một số khu vực được chỉ định quan trọng nhất định, ví dụ dịch vụ hệ thống không thể được di chuyển một cách an toàn. Chúng ta có thể quan sát bước nén này được thực hiện trên đĩa cứng khi chạy trình chống phân mảnh đĩa trong Windows.

• Sự phân mảnh bên ngoài có thể được ngăn chặn bằng các cơ chế như phân đoạn và phân trang. Ở đây một không gian bộ nhớ ảo liền kề logic được đưa ra trong khi thực tế các tệp / chương trình được chia thành các phần và được đặt ở đây và ở đó.

• Phân mảnh nội bộ có thể bị đánh lừa bằng cách có các phân vùng có nhiều kích cỡ và chỉ định một chương trình dựa trên sự phù hợp nhất. Tuy nhiên, phân mảnh nội bộ vẫn chưa được loại bỏ hoàn toàn.

Tóm lược:

Phân mảnh bên trong và bên ngoài

Cả phân mảnh bên trong và phân mảnh bên ngoài là hiện tượng mà bộ nhớ bị lãng phí. Phân mảnh bên trong xảy ra trong phân bổ bộ nhớ kích thước cố định trong khi phân mảnh bên ngoài xảy ra trong phân bổ bộ nhớ động. Khi một phân vùng được phân bổ bị chiếm bởi một chương trình nhỏ hơn phân vùng, không gian còn lại sẽ bị lãng phí gây ra sự phân mảnh bên trong. Khi đủ không gian liền kề không thể được tìm thấy sau khi tải và dỡ chương trình, do thực tế là không gian trống được phân phối ở đây và ở đó, điều này gây ra sự phân mảnh bên ngoài. Sự phân mảnh có thể xảy ra trong mọi thiết bị bộ nhớ như RAM, Đĩa cứng và ổ Flash.