易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux Kernel Threads in Device Drivers

 Purpose
This examples shows how to create and stop a kernel thread.
The driver is implemented as a loadable module. In the init_module() routine five kernel threads are created. This kernel threads sleep one second, wake up, print a message and fall asleep again. On unload of the module (cleanup_module), the kernel threads are killed.
The example has been tested with Linux kernel 2.4.2 on Intel (uni processor only) and Alpha platform (COMPAQ Personal Workstation 500au (uni processor), DS20 and ES40 (SMP).
A version for the 2.2 kernel can be found here. Note: depending on the context of the creator of the threads the new threads may inherit properties from the parent you do not want to have. The new version avoids this by having keventd create the threads. The 2.2. kernel do not have a keventd, so this approach is not implementable there.
Functions in example
    * start_kthread: creates a new kernel thread. Can be called from any process context but not from interrupt. The functions blocks until the thread started.
    * stop_kthread: stop the thread. Can be called from any process context but the thread to be terminated. Cannot be called from interrupt context. The function blocks until the thread terminated.
    * init_kthread: sets the environment of the new threads. Is to be called out of the created thread.
    * exit_kthread: needs to be called by the thread to be terminated on exit
Creation of new Thread
A new thread is created with kernel_thread(). The thread inherits properties from its parents. To make sure that we do not get any weired properties, we let keventd create the new thread.
The new thread is created with start_kthread(). It uses a semaphore to block until the new thread is running. A down() blocks the start_kthread() routine until the corresponding up() call in init_kthread() is executed.
The new thread must call init_kthread() in order to let the creator continue.


相关文档:

linux的free命令

 [root@nonamelinux ~]# free
total used free shared buffers cached
Mem: 386024 377116 8908 0 21280 155468
-/+ buffers/cache: 200368 185656
Swap: 393552 0 393552
下面是对这些数值的解释:
第二行(mem):
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内 ......

Ubuntu Linux操作系统下好用的下载工具


用过 aMule 都知道,无论怎么设置,它的速度都不令人满意。那么在 Ubuntu 下除了 mldonkey 还有什么好用的驴子?答案是 wine+emule,不用怎么设置速度轻轻松松就能达到峰值。这么做可能一些 Linux 死忠们会不屑,但无可否认 emule 绝对比 amule 优秀,既然能用为什么不用呢?在 Windows 上我都还用 mplayer 呢。
在 Ubu ......

[整理]Linux常用命令

文件系统挂载:mount
格式:mount [-参数] [设备名称] [挂载点]
其中常用的参数:
   -t  指定设备的文件系统类型,常见的有:
        minix linux最早使用的文件系统
        ext2 linux目前常用的文件系统
        msdo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号