试题题干
请说明在循环缓冲中,调用Getbuf的过程。
参考答案
试题解析
生产者进程和消费者进程可以利用Getbuf过程和Releasebuf过程来使用循环缓冲区。消费者进程要使用缓冲区中的数据时,可调用Getbuf过程。该过程将Nextg指向的缓冲区提供给进程使用,并把它改成由Current指针指向的现行工作缓冲区,同时使Nextg指向下一个可用的装有数据的缓冲区G。而当生产者进程要使用空缓冲区来装数据时,也通过调用Getbuf过程,把Nexti指示的空缓冲区提供给生产者进程使用,然后使Nexti指向下一个空缓冲区R。