Tôi thấy từ "BUFFER" ở khắp mọi nơi, nhưng tôi không thể nắm bắt chính xác nó là gì.
- Bất cứ ai có thể giải thích bộ đệm trong ngôn ngữ của giáo dân là gì?
- Khi nào nó được sử dụng?
- Nó được sử dụng như thế nào?
Tôi thấy từ "BUFFER" ở khắp mọi nơi, nhưng tôi không thể nắm bắt chính xác nó là gì.
Câu trả lời:
Hãy tưởng tượng rằng bạn đang ăn kẹo trong một cái bát. Bạn lấy một mảnh thường xuyên. Để ngăn không cho bát hết, ai đó có thể đổ đầy bát trước khi hết, để khi bạn muốn lấy một miếng khác, có kẹo trong bát.
Chiếc bát hoạt động như một bộ đệm giữa bạn và túi kẹo.
Nếu bạn đang xem phim trực tuyến, dịch vụ web sẽ liên tục tải xuống khoảng 5 phút tiếp theo vào bộ đệm, theo cách đó, máy tính của bạn không phải tải xuống phim khi bạn đang xem (điều này sẽ gây treo).
Thuật ngữ "bộ đệm" là một thuật ngữ rất chung chung và không dành riêng cho CNTT hoặc CS. Đây là nơi để lưu trữ một cái gì đó tạm thời, để giảm thiểu sự khác biệt giữa tốc độ đầu vào và tốc độ đầu ra. Trong khi nhà sản xuất đang nhanh hơn người tiêu dùng, nhà sản xuất có thể tiếp tục lưu trữ đầu ra trong bộ đệm. Khi người tiêu dùng tăng tốc, nó có thể đọc từ bộ đệm. Bộ đệm nằm ở giữa để thu hẹp khoảng cách.
Nếu bạn tính trung bình các định nghĩa tại http://en.wiktionary.org/wiki/buffer , tôi nghĩ bạn sẽ có ý tưởng.
Đối với bằng chứng rằng chúng tôi thực sự đã "phải đi bộ 10 dặm nghĩ tuyết mỗi ngày để đi học", xem TOPS-10 Màn hình cuộc gọi Manual Tập 1 , phần 11,9, "Sử dụng Buffered I / O", tại bookmark 11-24. Đừng đọc nếu bạn gặp ác mộng.
Một bộ đệm chỉ đơn giản là một đoạn bộ nhớ được sử dụng để chứa dữ liệu. Theo nghĩa chung nhất, nó thường là một đốm bộ nhớ được tải trong một thao tác và sau đó được làm trống trong một hoặc nhiều ví dụ "bát kẹo" của Perchik. Trong một chương trình C, ví dụ, bạn có thể có:
#define BUFSIZE 1024
char buffer[BUFSIZE];
size_t len = ;
// ... later
while((len=read(STDIN, &buffer, BUFSIZE)) > 0)
write(STDOUT, buffer, len);
... đó là phiên bản tối thiểu của cp (1) . Ở đây, mảng bộ đệm được sử dụng để lưu trữ dữ liệu đọc bằng cách đọc (2) cho đến khi nó được ghi; sau đó bộ đệm được sử dụng lại.
Có các lược đồ đệm phức tạp hơn được sử dụng, ví dụ như một bộ đệm tròn , trong đó một số bộ đệm hữu hạn được sử dụng, lần lượt tiếp theo; một khi các bộ đệm đã đầy, chỉ mục "bọc xung quanh" để cái đầu tiên được sử dụng lại.
Bộ đệm có nghĩa là 'lưu trữ tạm thời'. Bộ đệm rất quan trọng trong điện toán vì các thiết bị và hệ thống được kết nối với nhau hiếm khi 'đồng bộ' với nhau, vì vậy khi thông tin được gửi từ hệ thống này sang hệ thống khác, nó sẽ ở đâu đó để đợi cho đến khi hệ thống người nhận sẵn sàng.
Thực sự nó sẽ phụ thuộc vào bối cảnh trong từng trường hợp vì không có một định nghĩa nào - nhưng nói một cách tổng quát thì bộ đệm là nơi để tạm thời giữ một cái gì đó. Sự tương tự thế giới thực tốt nhất mà tôi có thể nghĩ đến sẽ là một khu vực chờ đợi. Một ví dụ đơn giản trong điện toán là khi bộ đệm đề cập đến một phần RAM được sử dụng để lưu trữ dữ liệu tạm thời.
Bộ đệm là trình giữ chỗ tạm thời (biến trong nhiều ngôn ngữ lập trình) trong bộ nhớ (ram / đĩa) trên đó dữ liệu có thể được kết xuất và sau đó xử lý có thể được thực hiện.
Có nhiều ưu điểm của Buffering như nó cho phép mọi thứ diễn ra song song, cải thiện hiệu suất IO, v.v.
Nó cũng có nhiều nhược điểm nếu không được sử dụng đúng như tràn bộ đệm, tràn bộ đệm, v.v.
C Ví dụ về bộ đệm ký tự.
char * buffer1 = calloc (5, sizeof (char));
char * buffer2 = calloc (15, sizeof (char));
Bộ đệm là vùng dữ liệu được chia sẻ bởi các thiết bị phần cứng hoặc quy trình chương trình hoạt động ở các tốc độ khác nhau hoặc với các mức ưu tiên khác nhau. Bộ đệm cho phép mỗi thiết bị hoặc quá trình hoạt động mà không bị giữ bởi thiết bị kia. Để bộ đệm có hiệu quả, kích thước của bộ đệm và các thuật toán để di chuyển dữ liệu vào và ra khỏi bộ đệm.
bộ đệm là "nơi giữ điểm giữa" nhưng không tồn tại quá nhiều để tăng tốc độ của một hoạt động để hỗ trợ sự phối hợp của các hoạt động riêng biệt.
Thuật ngữ này được sử dụng cả trong lập trình và trong phần cứng. Trong lập trình, bộ đệm đôi khi ngụ ý cần phải sàng lọc dữ liệu từ vị trí dự định cuối cùng của nó để có thể chỉnh sửa hoặc xử lý trước khi chuyển sang tệp hoặc cơ sở dữ liệu thông thường.
Bộ đệm là trình giữ chỗ tạm thời (biến trong nhiều ngôn ngữ lập trình) trong bộ nhớ (ram / đĩa) trên đó dữ liệu có thể được kết xuất và sau đó xử lý có thể được thực hiện.
Thuật ngữ "bộ đệm" là một thuật ngữ rất chung chung và không dành riêng cho CNTT hoặc CS. Đây là nơi để lưu trữ một cái gì đó tạm thời, để giảm thiểu sự khác biệt giữa tốc độ đầu vào và tốc độ đầu ra. Trong khi nhà sản xuất đang nhanh hơn người tiêu dùng, nhà sản xuất có thể tiếp tục lưu trữ đầu ra trong bộ đệm. Khi người tiêu dùng tăng tốc, nó có thể đọc từ bộ đệm. Bộ đệm nằm ở giữa để thu hẹp khoảng cách.