(1)Linux层次结构:(2)Linux内核组成:主要由进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)和进程间通信(IPC)等5个子系统组成。(3)与Unix的差异:Linux支持动态载入内核模块支持对称多处理(SMP)机制Linux内核能够抢占Linux内核...
分类:
系统相关 时间:
2014-07-31 19:39:27
阅读次数:
249
进程上下文VS中断上下文内核空间和用户空间是现代操作系统的两种工作模式,内核模块运行在内核空间,而用户态应用程序运行在用户空间。它们代表不同的级别,而对系统资源具有不同的访问权限。内核模块运行在最高级别(内核态),这个级下所有的操作都受系统信任,而应用程序运行在较低级别(用户态)。在这个级别,处理器...
分类:
其他好文 时间:
2014-07-27 23:12:19
阅读次数:
208
在学习编写linux驱动程序的时候,一般都是从写一个helloworld的模块开始。但是在编译完成后,进行模块加载的时候,有时会出现如下错误:
insmod: error inserting 'hello.ko': -1 Invalid module format
其实,出现这个问题的原因很简单,就是:编译的内核版本与实机运行的内核版本不一致。
所以解决起来也很简单,实机运行的系统的代码树位置一般在/usr/src/kernels。只要将Makefile中的代码树改成实际运行的内核代码即可。...
分类:
其他好文 时间:
2014-07-18 17:08:15
阅读次数:
300
轻量级的web服务器1、nginx服务器功能nginx服务器可以扮演:web服务器、应用服务器、代理服务器、反向代理服务器、后台服务器、CDN缓存服务器nginx的基本模块:内核模块CoreModule:用于控制nginx服务器的基本功能,该模块的指令置于配置文件的根部(开始部分),内核模块还提供了...
分类:
其他好文 时间:
2014-07-16 19:20:13
阅读次数:
217
对于大部分内核模块或设备驱动的开发者和使用者来说,最常接触到的就是各层目录下基于kbuild架构的kbuild Makefile文件。主要部分有:1、目标定义,目标定义就是用来定义哪些内容要做为模块编译,哪些要编译链接进内核。最简单的只有一行,如obj-y += foo.o表示要由foo.c或者fo...
分类:
其他好文 时间:
2014-07-13 09:40:12
阅读次数:
240
硬件平台:S3C6410
操作系统:Ubuntu、windows
板子系统:Android
开发工具:jdk,ndk,eclipse
本次测试从linux内核模块编译开始,以S3C6410的pwm驱动为例。
pwm_6410.c:
#include
#include
#include
#include
#include
#include
#include
#inclu...
分类:
移动开发 时间:
2014-07-12 17:01:01
阅读次数:
335
Linux内核模块编程与内核模块LICENSE——《Linux设备驱动开发详解(第3版)》预读...
分类:
系统相关 时间:
2014-07-02 15:22:43
阅读次数:
332
环境:ubuntu 8.04内核版本:2.6.32.59-debug1、编写文件hello.c#include #include //printk/*写内核驱动的时候 必须加载这个头文件,作用是动态的将模块加载到内核中去,常用的宏定义如 MODULE_LICESENCE(),MODULE_AUT.....
分类:
系统相关 时间:
2014-07-01 19:30:08
阅读次数:
252
Linux内核编程时,内核代码执行只能直接访问内存上的数据,硬盘上的文件系统必须通过间接的方式才能被内核读写,本文结束一般内核操作文件读写三种方式,并做对比...
分类:
系统相关 时间:
2014-07-01 06:25:24
阅读次数:
218
因为新工厂的机器上面的业务混合部署非常严重,加上内网外网共用一个网卡(这个更不可思议),导致有时要定位一些进程流量的问题非常困难,所以最近花了点时间在网上搜集了一把 (aptitude search top$),粗略比较了一下,大概结果如下atop — 跟 sar 类似,配合内核模块可以做到进程级别...
分类:
Web程序 时间:
2014-06-27 00:57:40
阅读次数:
4891