慢行者
发布时间:2013-09-13 17:54:05
操作系统要实现多进程,进程调度必不可少。有人说,进程调度是操作系统中最为重要的一个部分。我觉得这种说法说得太绝对了一点,就像很多人动辄就说"某某函数比某某函数效率高XX倍"一样,脱离了实际环境,这些结论是比较片面的。 而进程调度究竟有多重要呢? 首先,我们需要明确一点:进程调度是对TASK_RUNNING状.........【阅读全文】
发布时间:2013-09-13 15:28:28
select,poll,epoll都是IO多路复用的机制。所谓I/O多路复用机制,就是说通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,.........【阅读全文】
发布时间:2013-09-13 15:20:50
四种进程或线程同步互斥的控制方法1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。临界区(.........【阅读全文】
发布时间:2013-09-13 11:16:20
先引用一篇博文,再总结一下相关问题。所谓上下文切换,实质就是寄存器堆的切换过程。这其中一部分需要硬件来切换,一部分需要软件来处理。当在用户空间发生中断时,首先由 x86 CPU 从硬件角度进行处理,然后才是 linux 内核的处理。当中断处理完毕,返回到用户空间时,最后的步骤也是交给 CPU 硬件来处理的。.........【阅读全文】
发布时间:2013-09-04 18:14:50
弄了两天,把platform模型看了。linux设备驱动模型中,三个重要的实体,总线、设备、驱动。其中的概念和意义不再强调,网上还有书上都有很多。这里只强调两点:1)引入platform使得设备被挂在在总线上,符合了linux2.6内核的设备模型。2)隔离BSP和驱动。在BSP中定义的platform设备和设备使用的资源、设.........【阅读全文】