1.3排队实例
这节我们看看linux0.11操作系统给应用程序排队的几个例子。
排队例子1:排队使用内存,入下图。
我们看到不同代码,比如任务0和任务1的代码,不同数据,比如中断和全局描述符表,它们被linux0.11操作系统安排在了内存中不同分割区域,没有产生相互覆盖和各种无序混乱。因为每一个区域都有唯一的地址可以标识,所以找到这些内容也是容易的。这个实际上就是一种排队,广义的排队。
(本图来自《linux内核完全剖析》)
这是一种特殊的队列,在这种队列支持下,应用程序可以正确有效的使用内存。对于初学者来说,这里面的字符什么意思?框多大?如何划分这些框?。。。。这些问题在这里统统可以忽略,后面会有相关内容说,这里我们能理解这样的事实就够了:应用程序在有序使用内存,这种秩序是操作系统带来的。
排队例子2:排队使用cpu,入下图。
每个椭圆形圈代表一个队列,这个队列的排队方法可以是先到先得或者某种方法的优先或者混合方法。下图的做法不但在使用cpu时候排队,还把等待cpu的程序分成了几个等级,各个等级再各自排队。
这是一种特殊的队列,在这种队列支持下,应用程序可以正确有效的使用cpu。
(文字复用下)这是一种特殊的队列,在这种队列支持下,应用程序可以正确有效的使用cpu。对于初学者来说,这里面的文字是什么意思?圆圈有多少队列?如何划分这些圈?。。。。这些问题在这里统统可以忽略,后面会有相关内容说,这里我们能理解这样的事实就够了:应用程序在有序使用cpu,这种秩序是操作系统带来的。
排队例子3:排队使用缓冲区情况,入下图
(上图来自《linux内核完全剖析》)
这是一种特殊的队列,在这种队列支持下,应用程序可以正确有效的使用缓冲区。
(继续复用)这是一种特殊的队列,在这种队列支持下,应用程序可以正确有效的使用缓冲区。对于初学者来说,这里面的字符什么意思?框多大?如何划分这些框?。。。。这些问题在这里统统可以忽略,后面会有相关内容说,这里我们能理解这样的事实就够了:应用程序在有序使用缓冲区,这种秩序是操作系统带来的。