Machine-translated by Google. Questions are authored in English.
Top

Discussion

A ring buffer of \( n \) slots is often used with one slot left empty in order to

  • A.distinguish the full condition from the empty one
  • B.reserve space for the kernel's own bookkeeping
  • C.allow the buffer to be resized while in use
  • D.keep the indices aligned to a word boundary

Answer: A

Correct answer: distinguish the full condition from the empty one

With the indices equal in both cases, full and empty are indistinguishable. Leaving one slot unused means the buffer is full when advancing the write index would reach the read index, and empty when the two are equal - two conditions now told apart, at the cost of one slot. The alternative is to keep a separate count.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.