《Linux内核剖析》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+Makefile+块设备驱动+字符设备驱动+数学协处理器+文件系统+内存管理+GDB+立钻哥哥+==)

Linux内核剖析

Linux内核剖析

版本

作者

参与者

完成日期

备注

YanlzLinux_Kernel0.12_V01_1.0

严立钻

 

2020.02.06

 

 

 

 

 

 

 

##《Linux内核剖析》发布说明:

++++“Linux内核剖析”:是对“Linux系统编程”的综合探索;开发Linux环境下的应用程序时,需要使用大量的Linux函数;这些函数有的属于Linux操作系统的API;底层的驱动内核工程师是嵌入式领域的重要岗位,也是一个公司的技术核心,根据芯片具体情况把操作系统(如Linux)移植到上面;同时编写必要的驱动程序,改写相应的内核代码

++++“Linux内核剖析”:定位在一个科普类知识,了解Linux环境下的应用程序开发;从基础Linux、C语言、数据结构开始,到ARM、汇编、Linux内核、驱动等

 

@@提示:有些博客可能只是开了头,如果感兴趣的同学,可以“点赞”或“评论区留言”,只要关注的同学多了,那就会继续完善哟!(“++==”,表示没有写完的,如果关注度不高就不完善了;“++ok++”,表示此篇博客已经完成,是阶段性完整的!)

 

$$$$博客溯源:

《Linux内核剖析》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+Makefile+块设备驱动+字符设备驱动+数学协处理器+文件系统+内存管理+GDB+立钻哥哥+==)

 

 

 

 

++++【Linux系统编程】分类:https://blog.csdn.net/vrunsoftyanlz/category_9694767.html

++++【Linux C函数与算法】:https://blog.csdn.net/VRunSoftYanlz/article/details/104076473

++++【Linux系统编程】:https://blog.csdn.net/VRunSoftYanlz/article/details/104151861

++++【Linux从入门到放弃】:https://blog.csdn.net/VRunSoftYanlz/article/details/104176967

++++【Linux内核API】:https://blog.csdn.net/VRunSoftYanlz/article/details/104189074

++++【C++C铸就生存利器】分类:https://blog.csdn.net/vrunsoftyanlz/category_9325802.html

++++【人工智能AI2026】分类:https://blog.csdn.net/vrunsoftyanlz/category_9212024.html

++++【立钻哥哥CSDN空间】:https://blog.csdn.net/VRunSoftYanlz/

 

++++VR云游戏= Unity +SteamVR+ 云技术 + 5G +AI;(说明:AI人工智能不是我们的主要研究技术,只是了解一下,领略一下有风的感觉!但是,VR是我们的研究重点

 

 

 

##《Linux内核API》目录

#第一篇:Linux从入门到放弃篇

#第二篇:Linux C篇

#第三篇:Linux系统编程篇

#第四篇:Linux内核API篇

#第五篇:Linux内核剖析篇

#第六篇:Linux驱动开篇

#第七篇:立钻哥哥带您Linux内核驱动开发

 

 

 

 

 

#第一篇:Linux从入门到放弃篇

#第一篇:Linux从入门到放弃篇

#第一篇:Linux从入门到放弃篇

++++立钻哥哥:开发Linux环境下的应用程序时,需要使用大量的Linux函数;这些函数有的属于Linux操作系统的API;底层的驱动内核工程师是嵌入式领域的重要岗位,也是一个公司的技术核心,根据芯片具体情况把操作系统(如Linux)移植到上面;同时编写必要的驱动程序,改写相应的内核代码

++++【Linux从入门到放弃】:https://blog.csdn.net/VRunSoftYanlz/article/details/104176967

《Linux内核剖析》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+Makefile+块设备驱动+字符设备驱动+数学协处理器+文件系统+内存管理+GDB+立钻哥哥+==)

 

 

 

 

 

 

 

#第二篇:Linux C篇

#第二篇:Linux C篇

#第二篇:Linux C篇

++++立钻哥哥:开发Linux环境下的应用程序时,需要使用大量的Linux函数;这些函数有的属于Linux操作系统的API,有的属于C语言的标准库函数

++++【Linux C函数】:https://blog.csdn.net/VRunSoftYanlz/article/details/104076473

《Linux内核剖析》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+Makefile+块设备驱动+字符设备驱动+数学协处理器+文件系统+内存管理+GDB+立钻哥哥+==)

 

 

 

 

 

 

 

#第三篇:Linux系统编程篇

#第三篇:Linux系统编程篇

#第三篇:Linux系统编程篇

++++立钻哥哥:开发Linux环境下的应用程序时,需要使用大量的Linux函数;这些函数有的属于Linux操作系统的API,有的属于C语言的标准库函数

++++【Linux系统编程】:https://blog.csdn.net/VRunSoftYanlz/article/details/104151861

《Linux内核剖析》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+Makefile+块设备驱动+字符设备驱动+数学协处理器+文件系统+内存管理+GDB+立钻哥哥+==)

 

 

 

 

 

 

 

 

 

《Linux内核剖析》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+Makefile+块设备驱动+字符设备驱动+数学协处理器+文件系统+内存管理+GDB+立钻哥哥+==)

#第四篇:Linux内核API篇

#第四篇:Linux内核API篇

#第四篇:Linux内核API篇

++++立钻哥哥:Linux编程主要是以用户层面上的编程为主,一般涉及用户API;相对于特定的硬件平台,只对所用到的特定的内核API做简要说明;对于使用Linux内核进行编程开发,需要全面了解内核API

 

 

++D1、Linux内核API概述

++D1、Linux内核API概述

++D1、Linux内核API概述

++++立钻哥哥:内核API与用户API是具有本质区别的,因为它们所运行的系统模式是不同的;若要进行Linux内核源代码分析与内核API验证,需要具备一定的基础知识,掌握了这些基础知识后,才能在Linux内核源代码分析与内核API验证实力的理解中做到游刃有余

++++Linux可以运行在两种模式下:用户模式(user mode)和内核模式(kernel mode

 

++Linux内核编程注意事项

++++立钻哥哥:当编写一个普通程序时,有时会包含stdlib.h文件,也就是说我们使用了C标准库,这是典型的用户模式编程,在这种情况下,用户模式的应用程序要链接标准C

++++[不能使用浮点运算]:因为Linux内核在切换模式时不保存处理器的浮点状态

++++[不要让内核程序进行长时间等待]:Linux操作系统本身是抢占式的,但是内核是非抢占内核,就是说用户空间的程序可以抢占运行,但是内核空间程序不可以

++++[尽可能保持代码的整洁性]:内核调试不像调试应用程序那样方便,因此,在前期代码编写的过程中保持代码的整洁易懂,将大大方便后期的调试

++++[Linux内核API有很多配对使用]:例如,文件引用计数有加操作,也会有相应的减操作;如果在实验中进行了“引用计数”加操作,函数执行后未进行减操作还原,那么可能会出现系统崩溃

++++在内核模式下编程,系统内的所有资源都是由内核来统一调配的,并且数量有限,因此申请资源用完后一定要进行释放,避免出现死锁情况

 

++Linux内核2.6内核模块的Makefile模板

++++立钻哥哥:Linux2.6内核中,模块的编译需要配置过的内核源代码;编译过程首先会到内核源码目录下读取顶层的Makefile文件,然后再返回模块源码所在目录;经过编译、链接后生成的内核模块文件的后缀为.ko

ifneq($(KERNELRELEASE))

mymodule-objs:= mymodule1.0 mymodule2.0     #依赖关系

obj-m += mymodule.o    #编译、链接后将生成mymodule.o模块

 

else

PWD := $(shell pwd)

KVER := $(shell uname -r)

KDIR := /lib/modules/$(KVER)/build

 

all:

    $(MAKE) -C $(KDIR) M=$(PWD)    #此处将再次调用make

 

clean:

    rm -rf *.o *.mod.c *.ko *.symvers *.order *.markers *~

endif

++++【Linux内核API】:https://blog.csdn.net/VRunSoftYanlz/article/details/104189074

《Linux内核剖析》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+Makefile+块设备驱动+字符设备驱动+数学协处理器+文件系统+内存管理+GDB+立钻哥哥+==)

 

 

 

 

 

 

 

 

 

 

#第五篇:Linux内核剖析篇

#第五篇:Linux内核剖析篇

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

--_--VRunSoft:lovezuanzuan--_--