微内核将所有驱动程序实现为用户空间程序,并在内核本身中实现IPC之类的核心功能。但是,单片内核将驱动程序实现为内核的一部分(例如,以内核模式运行)。 我已经读过一些说法,微内核比单片内核慢,因为它们需要处理用户空间中驱动程序之间的消息传递。这是真的? 长期以来,大多数内核都是单片的,因为硬件太慢而无法快速运行微内核。但是,现在有许多微内核和混合内核,例如GNU / Hurd,Mac OS X,Windows NT line等。 那么,微内核的性能是否发生了变化?这种对微内核的批评在今天仍然有效吗?
lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r 天真的算法只检查所有可能的对。例如在红宝石中,我们有: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end 我感觉到,我们可以做得比二次。是否有针对此问题的更好算法?