• 内核编程之Hello World

    linux内核是一个整体是结构。因此向内核添加任何东西.或者删除某些功能,都十分困难。为了解决这个问题。引入了内核机制.从而可以动态的想内核中添加或者删除模块。模块不被编译在内核中,因而可以控制了内核的大小。...
    文章 2011-06-06 818浏览量
  • Linux协议栈(10)——网络驱动

    Linux协议栈(10)——网络驱动 网络驱动区别于其他驱动(例如块驱动)的一个方面是:块驱动的运行只是响应来自...《精通linux内核网络》 《linux设备驱动》 《TCP/IP详解卷1——原理》 《Linux内核源码剖析TCP IP实现》
    文章 2018-03-18 1712浏览量
  • 模块编写1|学习笔记

    void main(),编译之后就会按照入口函数进入的顺序一条条执行&xff0c;而内核中编写驱动并不是如此执行&xff0c;在此需要使用到一个内核模块的知识点。1.内核模块编程简介linux 内核整体结构非常庞大&xff0c;包含的组件...
    文章 2022-11-14 27浏览量
  • 【GNU/Linux kernel源码分析】刨根问底,速览,对初学...

    static int_init lkp_init(void)/加载函数的入口函数 相当于 main(void) { printk(&34;lt;1>Hello,world!from the kernel space.&34;Linux内核下内核编程不能使用c的库 } 模块的退出和清理函数lkp_exit()/入口...
    文章 2022-11-13 58浏览量
  • 【Linux技术】探究linux内核,超详细解析子系统

    可以看出,linux内核网络子系统定义了4个实体: 网络协议 网络协议可以理解为一种语言,用于网络中不同设备之间的通信,是一种通信的规范。套接字 套接字是内核与用户程序的接口,一个套接字对应一个数据连接,并且...
    文章 2017-11-15 1242浏览量
  • kernel笔记——网络收发包流程

    dev_queue_xmit是网络设备层的主入口函数,该层为每个网口维护一条数据包队列,由ip层下发的数据包放入对应网口的队列中。在该层中,数据包不是直接交给网卡,而是先缓冲起来,再通过软中断(NET_TX_SOFTIRQ)调用...
    文章 2015-01-30 2098浏览量
  • Linux与Windows的设备驱动模型对比:架构、API 和开发...

    当为 Linux 写树内(in-tree)(指当前 Linux 内核开发主干)驱动程序时,这种不断变化的环境不会造成任何问题,因为它们作为内核源代码的一部分,与内核本身同步更新。然而,闭源驱动必须单独开发,并且在树外(out-of-...
    文章 2017-07-03 1160浏览量
  • Linux与Windows的设备驱动模型对比:架构、API 和开发...

    当为 Linux 写树内(in-tree)(指当前 Linux 内核开发主干)驱动程序时,这种不断变化的环境不会造成任何问题,因为它们作为内核源代码的一部分,与内核本身同步更新。然而,闭源驱动必须单独开发,并且在树外(out-of-...
    文章 2017-08-16 1572浏览量
  • Linux 与 Windows 的设备驱动模型对比:架构、API 和...

    当为 Linux 写树内in-tree(指当前 Linux 内核开发主干)驱动程序时,这种不断变化的环境不会造成任何问题,因为它们作为内核源代码的一部分,与内核本身同步更新。然而,闭源驱动必须单独开发,并且在树外out-of-...
    文章 2017-06-02 1327浏览量
  • LDD3学习笔记(1):设备驱动简介

    虽然有名字例如eth0,但是这个名字在文件系统中没有相应的入口内核网络设备驱动间的通讯是通过调用和报文相关传递相关的函数。5、安全问题。从内核获取的内存都应该清零,或者初始化。在系统启动后可以通过...
    文章 2011-07-06 864浏览量
  • Linux下的C编程实战(五)――驱动程序设计

    本章讲述了Linux设备驱动程序的入口函数及驱动程序中的内存申请、中断等,并给出了一个通过ARM处理器的GPIO口控制LED的驱动实例。本文转自 21cnbao 51CTO博客,原文链接:http://blog.51cto.com/21cnbao/120038,如...
    文章 2017-11-07 1209浏览量
  • Linux系统调用详解(实现机制分析)-linux内核剖析...

    linux内核中设置了一组用于实现系统功能的子程序,称为系统调用。系统调用和普通库函数调用非常相似,只是系统调用由操作系统核心提供,运行于内核态,而普通的函数调用由函数库或用户自己提供,运行于用户态。一般...
    文章 2016-05-18 11390浏览量
  • 【驱动】linux设备驱动·扫盲

    fops是指向函数指针数组的结构指针,驱动程序的入口函数都包括在这个指针内部。该函数的返回值如果小于0表示注册设备驱动失败,如果设置major为0,表示由内核动态分配主设备号,函数的返回值是主设备号。当使用...
    文章 2017-11-07 1237浏览量
  • Linux协议栈(3)——接收流程及函数

    网络IP层的入口函数在ip_rcv函数。ip_rcv函数调用第三层协议的接收函数处理该skb包,进入第三层网络层处理。该函数首先会做包括checksum在内的各种检查,如果需要的话会做 IP defragment(分片合并),最终到达 ip_...
    文章 2018-03-17 2787浏览量
  • 关于Linux系统调用,内核函数【转】

    不过封装并非必须的,如果你愿意直接调用,Linux内核也提供了一个syscall()函数来实现调用,我们看个例子来对比一下通过C库调用和直接调用的区别。include<syscall.h>include<unistd.h>include<stdio...
    文章 2017-11-23 1839浏览量
  • 深入理解Linux启动过程

    Linux内核的映像装入内存,并且setup()函数做了一些必要的准备,就该startup_32函数开始干活了。CPU通过一条长程转移指令转到映像代码段开头的入口startup_32处,对于SMP结构的系统来说,这个时候运行的只是其中的...
    文章 2017-11-09 1014浏览量
  • 关于Linux系统调用,内核函数【转】

    不过封装并非必须的,如果你愿意直接调用,Linux内核也提供了一个syscall()函数来实现调用,我们看个例子来对比一下通过C库调用和直接调用的区别。include<syscall.h>include<unistd.h>include<stdio...
    文章 2016-03-10 1057浏览量
  • Linux字符设备驱动

    驱动初始化:Linux在加载内核模块时会调用初始化函数static int_int XXXX_init(void)使用register_chrdev向内核注册驱动程序驱动退出:Linux在卸载内核模块时会调用退出函数static void_exit XXXX_exit(void)使用...
    文章 2013-10-09 1580浏览量
  • Linux协议栈(9)——应用层实现

    Linux系统中,socket 属于文件系统的一部分,网络通信可以被看作是对文件的读取,使得我们对网络的控制和对文件的控制一样方便。定义在文件include/linux/net.h中。struct socket { socket_state state;short ...
    文章 2018-03-18 1397浏览量
  • Linux内核

    Linux内核 一、Linux内核Linux内核的源码树已经有超过20000个文件,超过600万行代码。这还是几年前的数据。需要工具、根文件系统、Linux应用程序共同建立一个可用的系统。1、内核版本当前的Linux内核版本为2.6.28...
    文章 2013-09-29 936浏览量
  • 嵌入式 uboot引导kernel,kernel引导fs【转】

    1)获得可运行的Linux内核 2)内核装载时的内存空间映射 3)内核启始相关文件分析 4)arch/i386/boot/bootsect.S 5)arch/i386/boot/setup.S 6)arch/i386/boot/compressed/head.S 7)arch/i386/kernel/head.S 8)start_...
    文章 2017-12-21 1323浏览量
  • linux中断处理浅析

    最近在研究异步消息处理,突然想起linux内核的中断处理,里面由始至终都贯穿着"重要的事马上做,不重要的事推后做"的异步处理思想.于是整理一下~ 第一阶段-获取中断号 每个CPU都有响应中断的能力,每个CPU响应中断时都...
    文章 2016-03-24 2905浏览量
  • Linux内核

    一、Linux内核Linux内核的源码树已经有超过20000个文件,超过600万行代码。这还是几年前的数据。需要工具、根文件系统、Linux应用程序共同建立一个可用的系统。1、内核版本当前的Linux内核版本为2.6.28。版本命名...
    文章 2009-01-07 937浏览量
  • Linux内核编译与开发

    3 4/模块入口函数 5/_init:表示代码段中的子段,里面的内容只运行一次并且回收内存.6 static int_init hello_init(void)7 { 8 printk(KERN_EMERG"hello world!");9 return 0;10 }11/模块卸载函数12/_...
    文章 2017-08-15 1464浏览量
  • 龙蜥正式开源 Surftrace,协议包解析效率可提升 10 倍

    1.3 内核网络协议栈地图下图是协议栈处理地图,可以保存后放大观看。不难发现,上图中几乎所有函数都涉及到 skb 结构体处理,因此要想深入了解网络报文在内核的处理过程,skb->data 应该就是最理想的引路蜂。二、...
    文章 2022-05-12 99浏览量
  • 龙蜥开源 Plugsched:首次实现 Linux kernel 调度器热...

    eBPF 技术在内核网络中广泛应用,但现在调度器还不支持 ebpf hook,将来即使支持,也只是实现局部策略的灵活修改,可修改能力同样较弱。Plugsched 能将调度器子系统从内核中提取出来,以模块的形式对内核调度器进行...
    文章 2022-04-07 134浏览量
  • 第四章 库与运行库

    Linux下默认将高地址的1GB空间分配给内核,低地址的3GB默认是用户空间。在用户空间里,又有不同的区域: 1)栈:栈用于维护函数调用的上下文,离开了栈函数调用就没有办法实现。栈通常在用户空间的最高地址处分配...
    文章 2015-05-13 903浏览量
  • 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十一)第一...

    就会去调用这个入口函数⑥有入口函数就应该有出口函数&xff1a;卸载驱动程序时&xff0c;出口函数调用unregister_chrdev⑦其他完善&xff1a;提供设备信息&xff0c;自动创建设备节点&xff1a;class_create,device_create1.4 请...
    文章 2022-12-13 14浏览量
  • X86平台系统启动流程

    操作系统的组成、内核的功能、库、函数、头文件、函数名、Linux内核、X86平台系统启动流程 忘记密码如何登陆系统 操作系统的组成:kernel+rootfs,kernel+应用程序 kernel的功能 1、输出系统调用 2、实现tcp/ip,文件...
    文章 2017-11-14 1472浏览量
  • 使用/proc 文件系统来访问 Linux 内核的内容

    最后,清单 3 使用 module_init 和 module_exit 宏声明了入口函数和出口函数。这样我们就可以按照自己的意愿来对这个模块的 init 和 cleanup 函数进行命名了,不过我们最终要告诉内核维护函数就是这些函数。清单 3....
    文章 2013-09-09 825浏览量
1 2 3 4 ... 13 >

云产品推荐

视频直播 大数据计算服务 MaxCompute 国内短信套餐包 开发者问答 阿里云建站 新零售智能客服 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT 阿里云科技驱动中小企业数字化