首页 2008年11月 第2页

2008年11月 第2页

  • 中断处理的工作队列机制-原来如此

    中断处理的工作队列机制-原来如此

    工作队列(work queue)是另外一种将工作推后执行的形式 ,它和我们前面讨论的所有其他形式都有不同。工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。这样,通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列允许被重新调度甚至是睡眠。 那么,什么情况下使用工作队列,什么情况下使用tasklet。如果推后执行的任务需要睡眠,那么就选择工作队列。如果推后执行的任务不需要睡眠,那么就选择tasklet。另外,如果需要用一个可以重新调度的实体来执行你的下...

    未命名 2008-11-13 269 1
  • Linux 可加载内核模块剖析

    Linux 可加载内核模块剖析

      Linux 可加载内核模块剖析 2.6 内核透视图   文档选项 打印本页 将此页作为电子邮件发送 级别: 中级 M. Tim Jones, 顾问工程师, Emulex Corp. 2008 年 8 月 07 日 Linux® 可加载内核模块(从内核的 1.2 版本开...

    未命名 2008-11-11 300 0
  • POSIX 线程详解

    POSIX 线程详解

      Daniel Robbins (drobbins@gentoo.org), 总裁/CEO, Gentoo Technologies, Inc. 2000 年 7 月 01 日 POSIX(可移植操作系统接口)线程是提高代码响应和性能的有力手段。在本系列中,Daniel Robbins 向您精确地展示在编程中如何使用线程。其中还涉及大量幕后细节,读完本系列文章,您完全可以运用 POSIX 线程创建多线程程序。 线程是有趣的 了解如何正确运用线程是每一个优秀程序员必备的素质...

    未分类 2008-11-11 217 0
  • Posix线程编程指南(5)

    Posix线程编程指南(5)

    2001 年 11 月 01 日 这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第五篇将向您讲述pthread_self()、pthread_equal()和pthread_once()等杂项函数。 在Posix线程规范中还有几个辅助函数难以归类,暂且称其为杂项函数,主要包括pthread_self()、pthread_equal()和 pthread_once()三个,另外还有一个LinuxThreads非可移植性扩展函数 pthread_kill...

    未分类 2008-11-11 189 0
  • Posix线程编程指南(4)

    Posix线程编程指南(4)

    2001 年 11 月 01 日 这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第四篇将向您讲述线程中止。 线程终止方式 一般来说,Posix的线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit()或者从线程函数中return都将使线程正 常退出,这是可预见的退出方式;非正常终止是线程在其他线程的干预下,或者由于自身运行出错(比如访问非法地址)而退出,这种退出方式是不可预见的。...

    未分类 2008-11-11 206 0
  • Posix线程编程指南(1)

    Posix线程编程指南(1)

    2001 年 10 月 01 日 这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第一篇将向您讲述线程的创建与取消。 线程创建 1.1 线程与进程 相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。在串行程序基础上引入线程和进程是为了提高程序的并发度,从而提高程序运行效率和响应时间。 线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理...

    未分类 2008-11-11 206 0
  • POSIX 线程详解

    POSIX 线程详解

    Daniel Robbins (drobbins@gentoo.org), 总裁/CEO, Gentoo Technologies, Inc. 2000 年 7 月 01 日 POSIX(可移植操作系统接口)线程是提高代码响应和性能的有力手段。在本系列中,Daniel Robbins 向您精确地展示在编程中如何使用线程。其中还涉及大量幕后细节,读完本系列文章,您完全可以运用 POSIX 线程创建多线程程序。 线程是有趣的 了解如何正确运用线程是每一个优秀程序员必备的素质。线程类似于进程。如同进程,...

    未分类 2008-11-11 211 0
  • Posix线程编程指南(3)

    Posix线程编程指南(3)

    2001 年 10 月 01 日 这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第三篇将向您讲述线程同步。 互斥锁 尽管在Posix Thread中同样可以使用IPC的信号量机制来实现互斥锁mutex功能,但显然semphore的功能过于强大了,在Posix Thread中定义了另外一套专门用于线程同步的mutex函数。 1. 创建和销毁 有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTE...

    未分类 2008-11-11 195 0
  • Posix线程编程指南(2)

    Posix线程编程指南(2)

    杨沙洲 (pubb@163.net), 工程师, 自由撰稿人 2001 年 10 月 01 日 这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第二篇将向您讲述线程的私有数据。 概念及作用 在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据。在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有。但有时 应用程序设计中有必要提供线程私有的全局变量,仅在某个线程中有效,但却可以跨多个函数访问,比如程序可能需要每个...

    未分类 2008-11-11 208 0
  • 中断处理的tasklet(小任务)机制-不过如此

    中断处理的tasklet(小任务)机制-不过如此

    中断服务程序一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求信号时,Linux内核只是简单地标志数据到来了,然后让处理器恢复到它以前运行的状态,其余的处理稍后再进行(如把数据移入一个缓冲区,接受数据的进程就可以在缓冲区找到数据)。因此,内核...

    未命名 2008-11-10 258 0