简介
该用户还未填写简介
擅长的技术栈
未填写擅长的技术栈
可提供的服务
暂无可提供的服务
Linux中进程、线程和fork()
关于Linux中的线程,Linux采用了一种“偷懒”的方法,Linux没有专门的线程对象,当需要建立一个线程时,实际上内核创建的是一个进程对象,也就是task_struct,只不过这个进程对象和父进程共享了大量资源,有时也称为轻权进程(LightWeight Process)。Linux建立进程和线程的接口也一致,比如都是fork(),而通过不同的参数来指定要建立的是进程还是线程。调用fork()
编写Linux设备驱动时内核版本号的判断
当设备驱动需要同时支持不同版本内核时,在编译阶段,内核模块需要知道当前使用的内核源码的版本,从而使用相应的内核 API。2.4 与 2.6 内核下,源码头文件 linux/version.h定义有:LINUX_VERSION_CODE ― 内核版本的二进制表示,主、从、修订版本号各对应一个字节;KERNEL_VERSION(major, minor, release) - 由主、从、修订版本号构造
如何选择开源许可证?
如何为代码选择开源许可证,这是一个问题。世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,也很复杂。乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。
到底了