爱悠闲 > 分类 >

Linux内核分析 第1页

Linux驱动编码步骤总结
    最近在看linux驱动方便的资料,总结了下linux驱动开发8大步骤,以供后续开发学习借鉴使用:     1. 建立Linux驱动框架,lsmod、insmod、rmmod也即显示所有加载模块,加载模块和卸载模块。         装载驱动涉及建立设备文件、分配内存、module_init宏指定;卸载驱动删除设备文件,释放内存和module_exit宏指定     2. 注册和注销设备文件
关于KVM的相关理解
    最近在做x86平台上的Android系统集成,遇到了KVM概念,后来通过搜索后,知道了KVM的大概,下面总结如下: 1. KVM是开源软件,全称kernel-based virtual machine 2. x86架构且硬件支持虚拟化技术(intel VT或AMD-V) 3. 包含一个为处理器底层虚拟化可加载的核心模块kvm.ko(kvm.intel.ko或kvm.AMD.ko) 4. K
Linux同步锁机制分析
    RCU,Read-Copy Update,读-拷贝修改,对于被RCU保护的共享数据结构,读者不需要任何锁就可以访问而写者需要拷贝一个副本,对副本进行修改,最后用一个CallBack在合适的时机把指向原来数据的指针指向新的被修改的数据。这个时机就是所有引用该数据的CPU退出对共享数据的操作。在这个过程中,垃圾收集器负责来探测读者的信号,当所有读者发出信号不再使用被RCU访问的数据时,就调用C
Linux 之Netlink机制
        Linux中用户态和内核态进行通信的方式有很多种,系统调用、proc文件系统等等,而netlink socket,作为标准的socket接口,支持全双工的通讯连接,类似于 TCP/IP中AF_INET地址族,Netlink socket使用AF_NETLINK,协议类型有        NETLINK_ROUTE;   例如BGP、OSPF、RIP、内核数据转发模块、用户态的路由守
Linux的Netfilter机制分析
     Netfilter作为新一代防火墙架构,包过滤框架,在此框架基础上实现了包过滤、状态检测、网络地址转换和包标记等功能,内核开发人员可以在数据链路层、网络层实现HOOK,来实现自己的功能。用户空间的iptables工具套件,就是一个很好的Netfilter功能实现。     Netfilter在协议栈的五个关键点设置了HOOK,     NF_IP_PRE_ROUTING、NF_IP_LO