Skip to main content

Một bộ đệm tràn là gì?

Tràn một bộ đệm xảy ra khi một chương trình đang cố gắng ghi vào bộ đệm và bước ra ngoài ranh giới của nó, dẫn đến các chương trình viết thông tin vào bộ nhớ có khả năng thuộc về một chương trình khác.Điều này vi phạm tính toàn vẹn của bộ nhớ trong hệ điều hành, dẫn đến một lỗi nghiêm trọng và sự cố tiềm năng cho chương trình thực hiện.Mối nguy hiểm chính của một tràn bộ đệm đến từ hai yếu tố chính.Đầu tiên, thông tin được viết bên ngoài bộ đệm bị mất bề ngoài, vì bản đồ bộ nhớ máy tính mdash;Danh sách các vị trí bộ nhớ mdash của nó;không thể giải thích cho nó.Thứ hai, một bộ lọc tràn có thể vô tình ghi đè thông tin được lưu trữ trong bộ nhớ cho một chương trình khác, cũng can thiệp hiệu quả vào việc thực hiện một chương trình khác.chỉ vào người khác.Việc sử dụng phổ biến nhất của bộ đệm thường là trong phát lại video hoặc âm thanh, trong đó máy tính tăng thêm một giây cảnh quay hoặc âm thanh trong bộ nhớ, đảm bảo rằng phát lại sẽ không bị gián đoạn nếu có điều gì đó tạm thời không ổn trên hệ thống.Một bộ đệm chỉ tồn tại trong một vị trí cụ thể, được xác định trước trong bộ nhớ máy tính, giống như một quốc gia chỉ tồn tại trong các đường ranh giới được vẽ trên bản đồ.Bước ra ngoài các dòng ảo này dẫn đến các vấn đề không chỉ cho chương trình chạy mà còn đối với các chương trình khác trên hệ thống. Về cơ bản, chương trình đã bước ra ngoài quyền tài phán được chỉ định và đã xâm chiếm không gian của một chương trình làm việc khác.Khi điều này xảy ra, thông tin được viết bên ngoài bộ đệm có hiệu quả rơi ra khỏi bản đồ máy tính;Nói cách khác, hệ thống không còn có cách nào để truy xuất nó.Vì máy tính chỉ biết tìm kiếm thông tin được đệm trong không gian bộ đệm cụ thể được phân bổ trong bộ nhớ, nên không có cách nào để tìm ra nơi thông tin tràn đã biến mất.Ngoài ra, một bộ đệm bộ đệm có khả năng phá vỡ các chương trình khác đang chạy trên máy tính.Hãy tưởng tượng rằng không gian lưu trữ bộ nhớ ở hai bên của bộ đệm đã được chỉ định cho các chương trình đang chạy khác.Khi thông tin trong bộ đệm chảy máu qua khu vực được thiết kế, nó sẽ ghi đè và làm hỏng mọi thông tin đã được lưu trữ trong các phần của bộ nhớ.Do đó, tràn bộ đệm là một vấn đề có thể làm suy yếu hiệu quả của một chương trình liền kề cũng như làm hỏng hoạt động của chính nó.