E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
内核编程
Ubuntu/Debian 之内核模块开发准备
1188149605814778692_1.html如果你想要升级你的Debian/UbuntuLinux内核,或者你希望为内核开发新的模块,或者您要为某个硬件写新的驱动程序……这一切都涉及到Debian/UbuntuLinux
内核编程
chinalinuxzend
·
2020-08-17 12:55
模块与核心
《linux内核设计与实现》读书笔记(未完成)
读书目的:了解
内核编程
基础,为学习《Linux设备驱动程序》和《深入理解Linux内核》做铺垫读书收获:心得进程1进程管理1.1进程进程:处于执行期的程序以及相关资源的总称1.2进程描述符及任务结构进程描述符包含的数据能完整地描述一个正在执行的程序
carver_x
·
2020-08-17 10:34
读书笔记
Linux 中断学习之小试牛刀篇
Linux中断
内核编程
前言在前面分析了中断的基本原理后,就可以写一个内核中断程序来体验以下,也可以借此程序继续深入来了解内核中断的执行过程一.内核中断程序:我们还是来看一看成程序:在看程序之前,要熟悉如何进行模块编程
冀博
·
2020-08-15 15:56
Linux内核开发
linux设备驱动程序第二版 编写和运行模块
本章将介绍模块编程和
内核编程
所需的所有必要的概念。我们将要不多的篇幅来编写和运行一个完整的模块。这种专业技术(expertise)是编写如何模块化设备驱动程序的基础。
menuconfig
·
2020-08-15 14:38
Linux/os
module_init的加载和释放
像你写C程序需要包含C库的头文件那样,Linux
内核编程
也需要包含Kernel头文件,大多的Linux驱动程序需要包含下面三个头文件:#include#include#include其中,init.h定义了驱动的初始化和退出相关的函数
Daniel-YS
·
2020-08-15 13:49
Linux
STM32F4学习资源及方法
一、参考书:《STM32F4xx中文参考手册》、《STM32F3与F4系列CortexM4
内核编程
手册》、《CortexM3与M4权威指南》。1.
aoxiang_ywj
·
2020-08-15 10:45
Windows
内核编程
基础篇之常见内核数据结构
1,驱动框架常见数据结构有驱动对象结构,设备对象结构等。A)驱动对象结构(DRIVER_OBJECT)每个驱动对象代表一个已加载的内核驱动程序,指向驱动对象结构的指针常常作为DriverEntry,AddDevice,Unload等函数的参数。驱动对象结构式半透明的。其中公开的域包括DeviceObject,DriverExtension,HardwareDatabase,FastIoDispat
PandaMohist
·
2020-08-15 01:58
windows驱动开发
由尚德Linux
内核编程
进阶篇视频教程
本套教程是继入门篇之后的后续课程,由尚德老师讲解。入门篇下载地址:http://blog.csdn.net/congxue/archive/2009/05/17/4194106.aspx目录:第一章预备知识1.1AT&T汇编语法格式1.2通用链表第二章保护模式2.1系统寄存器2.2寻址方式2.3页式内存管理机制2.4异常与中断处理第3章系统初始化3.1启动步骤3.2start_kernel简介第4
congxue
·
2020-08-14 16:59
操作系统
由尚德老师Linux
内核编程
入门视频教程
由尚德老师讲解的Linux
内核编程
教程入门课程,此课程学完后可以接着学进阶篇,下载地址:http://blog.csdn.net/congxue/archive/2009/05/17/4194112.aspx
congxue
·
2020-08-14 16:58
操作系统
《Linux
内核编程
》第四章:proc文件系统
一、proc的作用在Linux系统中,对于内核模块,除了平常的方式,还可以使用特别的方式来向用户进程传递信息——proc文件系统。proc文件系统设计的初衷是为了方便地访问进程信息,但是现在该文件系统得到了很大的扩展,它反映了当前运行系统的信息映像,如/proc/meminfo反映了当前内存的使用情况,/proc/modules反映了当前模块的装载情况。如:cat/proc/meminfocat/
雷古拉斯
·
2020-08-13 19:15
arm-Linux学习
linux
内核编程
之proc虚拟文件系统
【版权声明:转载请保留出处:blog.csdn.net/gentleliu。邮箱:shallnew*163.com】在Linux系统中,/proc文件系统十分有用,它被用于内核向用户导出信息。/proc文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在Linux内核空间和用户空间之间进行通信。在/proc文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,与普通文件不同
shallnet
·
2020-08-13 14:31
linux
内核编程系列
从PC总线的发展看设备驱动程序的发展
笔者当时正对加密解密、反病毒和
内核编程
有着浓厚兴趣,于是也开
Changjiang
·
2020-08-12 01:46
驱动程序开发
arm+Linux
arm学习方法(转)标签:嵌入式linuxlinux
内核编程
嵌入式操作系统shell2012-07-1519:461503人阅读评论(0)收藏举报分类:新手入门(14)arm-ubuntu(57)说明:
xihu110
·
2020-08-11 01:26
和菜鸟一起学linux内核源码之基础准备篇
注:以下大部分内容摘自linux
内核编程
入门篇和linux内核完全注释在工作的这段时间,发现我的visio画图熟悉了点点,总喜欢把什么源码啊,结构啊之类的就当作流程图来画来理解,因为对于图,有一个很直观的认识
weixin_30782871
·
2020-08-10 07:44
编译并安装FUSE
FUSE是用户空间文件系统的简称,使用Fuse,您可以在用户空间创建功能完备的文件系统,而无需具备
内核编程
的知识。
weixin_30522183
·
2020-08-10 02:36
FUSE(Filesystem in userspace)(用户空间文件系统),user-space框架简单介绍
创建文件系统需要了解
内核编程
和内核技术(例如vfs)方面的知识。调试则需要C和C++方面的专业技能。但是其他开发人员需要熟练地操作文件系统以添加个性化特性(例如添加历史
hiphopmattshi
·
2020-08-09 21:52
读书笔记
OPENWRT串口收发测试详解
最近刚刚开始接触Linux
内核编程
,第一项就是串口编程,结果卡在这里了,卡了好久,后来发现问题其实挺简单的,只是没有想到,现在把代码放在下面,代码内有详细的注释,就不多做说明了,而我当时出问题的地方我也做了特殊说明
飘飘花吹雪
·
2020-08-08 11:20
嵌入式Linux开发
Linux
内核编程
(持续整理)
如何给模块传一个数组性参数#includestaticintarr_var[10];staticintnum=0;module_param_array(arr_var,int,&num,0644);//最后一个数字是访问权限/proc编程创建entry:structproc_dir_entry*entry=proc_create("name",0444,NULL,&file_ops);其中pare
AngelaDaddy-
·
2020-08-07 20:08
linux
linux
关于get_ds, set_fs, get_fs函数的使用
在linux
内核编程
时,进行系统调用(如文件操作)时如果要访问用户空间的参数,可以用set_fs,get_ds等函数实现访问。
jiahehao
·
2020-08-05 13:36
Linux
玩转开发板--入门驱动hello模块测试篇
一.前言学习
内核编程
的最简单的方式也许就是写个内核模块:一段可以动态加载进内核的代码。
PipiAvenger
·
2020-08-04 12:00
玩转FL2440开发板
linux 源码学习计划
2.
内核编程
和用户空间编程相比有哪些不同之处?3.自己编译一下内核,你编译成功了么?如果不成功,有什么问题?使用你新编译的内核,能顺利启动么?有什么问题?
tianruxishui
·
2020-08-04 01:26
Linux
Embedded
《Linux
内核编程
》第一章:Linux内核模块间通信
======================================================================================================================================一、Linux内核模块间通信有几种?1.符号导出(1).符号导出函数EXPORT_SYMBOL():导出函数标签内定义的函数对全部内
雷古拉斯
·
2020-08-04 01:21
arm-Linux学习
Linux学习计划
2.
内核编程
和用户空间编程相比有哪些不同之处?3.自己编译一下内核,你编译成功了么?如果不成功,有什么问题?使用你新编译的内核,能顺利启动么?有什么问题?
Flavia_day
·
2020-08-03 12:27
Linux
《Linux
内核编程
》第八章:模块魔术字
本文基于mstar801平台Linux2.6.35.11内核版本。1.kernel2.6.35.11/include/linux/vermagic.h&&kernel2.6.35.11/include/generated/utsrelease.h&&kernel2.6.35.11/include/config/kernel.release2.modinfo*.ko3.去掉魔术字所带svn信息.co
雷古拉斯
·
2020-08-03 11:25
arm-Linux学习
linux
内核编程
之并发控制
版权声明:转载请保留出处:blog.csdn.net/gentleliu。邮箱:shallnew*163.com】只要并发的多个执行单元存在对共享资源的访问,竞态就可能发生。在Linux内核中,主要的竞态发生于如下几种情况1.多CPU共享资源,如存储器。2.内核支持抢占调度,一个进程在内核执行时被另外一个高优先级进行打断。3.中断可以打断正在执行的进程,如果中断处理程序访问进程正在访问的资源,则竞
shallnet
·
2020-08-03 00:01
linux
内核编程系列
内核
并发
异步
内核编程
基础(1)
驱动对象,设备对象,IRP之间的关系?类似于程序,窗口,消息三者之间的关系;每个驱动程序只有一个驱动对象(程序实例句柄),一个驱动对象对应若干个(大于等于1个)设备对象(窗口),每个设备对象可以处理不同的IRP(I/O请求包,I/ORequestPackage)IRP栈:IRP其实本质上是由IRP头部和IRP栈组成,一般所说的IRP只是"I/O请求包"IRP的头部,在IRP数据结构的后面还有一个I
bluewind1230
·
2020-07-31 20:41
kernel:编写你的第一个Linux内核模块(目前校对到杂项设备)
让我们向你展示如何做…
内核编程
通常被视为黑魔法。在ArthurCClarke的意义上说,它可能是。
maze_linux
·
2020-07-30 12:27
kernel
编写属于你的第一个linux 模块
原文地址:wirteyourfirstlinuxkernelmodule
内核编程
常常看起来像是黑魔法,而在ArthurCClarke’s的眼中,它八成就是了。
shane_zhou
·
2020-07-30 11:57
linux使用
linux
内核编程
实验三
内核的定时机制实验问题A使用ITIMER_REAL型定时器实现一个gettimeofday(),将它设置为每秒产生一个信号,并计算已经经过的秒数。问题B使用以上实现的gettimeofday()实现一个精确到微秒级的“闹钟”。问题C实现以上一个父进程和两个子进程并发递归计算不同项数的fibonacci序列的程序,分析每个进程三种类型定时器测出的时间关系。解决问题A一直被实现一个gettimeofd
在摸索中前进
·
2020-07-30 09:26
Linux内核实验
随机数发生器设计原理及实现
随机数发生器设计原理及实现作者:不赖猴
内核编程
和密码学群:20264887随机数是密码学算法的基础,是现代加密体系中最重要的部分之一。几乎所有的密码学算法都需要使用随机数。
A00553344
·
2020-07-30 07:27
9.信号-异步通信方式//依据RT-Thread
内核编程
的学习记录(非内核实现)
信号,信号不同于一般得IPC变量,信号不需要初始化,也没有删除;信号有安装,监控,发送,响应的操作。为什么没有安装操作的原因是,信号大部分是被系统所使用的,是已经创建过的,信号室友具体标号的,例如我们能使用的SIGUSR1,SIGUSR2;还有我们可以自己定义的部分。/**Eachofthefollowingmacrosexpandtoapositiveintegralconstant*expre
xiangxistu
·
2020-07-29 00:02
RT-Thread
1.thread线程创建 //依据RT-Thread
内核编程
的学习记录(非内核实现)
1.thread线程的创建/*静态线程的创建启动删除的注意点*/在创建静态线程时,要注意分配线程控制块大小,以及线程结构体threadx_statck[XX],staticcharthreadx_statck[xx];staticstructrt_threadthreadx;静态线程的创建需要使用rt_thread_init()函数rt_thread_init()的函数返回的数据类型为rt_err
xiangxistu
·
2020-07-29 00:02
RT-Thread
11.内存池//依据RT-Thread
内核编程
的学习记录(非内核实现)
内存池,申请出得内存情况是内存块,相对于动态内存申请rt_malloc()申请的内存,rt_mp_alloc()申请的内存块的开头和结尾会包含指向上一块的指针和指向下一块内存块的指针。每块内存块的大小相等。动态申请内存不会出现任务调度,内存池申请内存会出现任务调度。1.初始化内存池对象/*静态初始化内存池对象*/staticrt_uint8_t*ptr[50];staticrt_uint8_tst
xiangxistu
·
2020-07-29 00:02
RT-Thread
内核模块编写
参考资料:《Linux设备驱动程序第三版》来源:http://blog.csdn.net/rosetta/article/details/7563601以前也曾经想过往Linux
内核编程
方向长展,但总归是没有入门的机会
sweird
·
2020-07-28 10:23
Linux
Linux内核模块编程入门
ldd3随书源码移植
最近,因工作需要,重新温习了一遍LDD3这本经典的
内核编程
方面的指南,当然不免玩了一下随书的源码。
山庄来客
·
2020-07-27 22:13
Linux内核研究
内核
github
10.软件定时器//依据RT-Thread
内核编程
的学习记录(非内核实现)
定时器,由RT_Thread虚拟出来得定时器,输入的参数有五个;相对于硬件的定时器,虚拟出来的定时器的定时时间的时间精度为滴答时钟起振的倍数,所以精度会有所损失;不过有利就有弊,软件定时器可以虚拟很多啊,也很好用。1.定时器的创建/*静态创建*//*定时器的控制块*/staticstructrt_timerstatic_timer;rt_timer_init(&static_timer,"time
xiangxistu
·
2020-07-27 14:24
RT-Thread
RT-Thread
操作系统概念(Operating System Concepts Ninth Edition恐龙书)阅读
大家如果看完,可以进一步看看Unix
内核编程
、现代操作系统的书。关于习题答案:我比较喜欢
Sampson Clarence
·
2020-07-16 05:05
操作系统
linux
内核编程
(hello world示例程序)
linux
内核编程
(helloworld)Linux可加载内核模块是Linux内核的最重要创新之一。它们提供了可伸缩的、动态的内核。
绯浅yousa
·
2020-07-14 16:21
linux内核
linux
内核编程
-内核态文件操作
一、文件打开函数structfile*filp_open(constchar*filename,intflags,umode_tmode)定义在:fs/open.c头文件:详解:1.在用户态open函数是个变参函数,umode_tmode参数只有在O_CREAT标志指定时才出现。在内核态如果O_CREAT标志指定mode参数指定权限,否则为02.filename参数和flags和用户态一样,指定文
ggmjxry
·
2020-07-14 10:42
linux
内核
文件
linux
内核编程
文件读写
文件操作
Linux Kernel Driver 之 mmap 机制 Linux
内核编程
的分离思想
前言Linux编程中,大多数的场景,数据的交换,不论读还是写都要经过两次数据拷贝过程:用户和内核,内核和硬件物理内存如果数据的访问量比较小,两次的数据拷贝对系统性能影响几乎可以忽略不计如果数据的访问比较大,两次的数据拷贝势必影响系统性能数据的操作的规律是源要不是用户或者硬件,目的要不是硬件或者用户,而内核仅仅作为一个缓冲,所以用户到内核的数据拷贝是多余的,如果让用户在用户空间访问硬件设备的物理内存
frodocheng
·
2020-07-14 10:06
Linux
内核编程
入门实例--Hello world
Linux内核模块编程Linux内核模块编程是一个很重要的知识点。尤其是编写底层驱动程序时,一定会涉及到它。内核模块编程也是Tiger哥学习Linux时第一节课所接触的知识。由此可以看出它的important,也可以看出其实它很easy。一前言:1.什么是内核模块1>内核模块是具有独立功能的程序。它可以被单独编译,但是不能单独运行,它的运行必须被链接到内核作为内核的一部分在内核空间中运行。2>模块
Kunaly
·
2020-07-14 01:53
Linux内核编程
Linux
对话Linus Torvalds:大多黑客甚至连指针都未理解
他说:相反,很多人连低水平的
内核编程
都还没学
weixin_34358092
·
2020-07-13 19:06
linux
内核编程
之进程通信(管道+MQ)
管道有这样一道题目:利用两个管道进行双向通信,实现父子进程协作把整数x从1加到10。因为普通管道是单向通信的,所以,两个管道就可以双向通信了(达到类似于MQ的效果)。代码如下:/**@Author:smile丶*@Date:2019-06-1409:36:52*@LastModifiedby:smile丶*@LastModifiedtime:2019-06-1410:02:13*/#include
sjs_caomei
·
2020-07-13 13:26
linux
Linux内核及
内核编程
之三Linux内核的组成部分
3.3Linux内核的组成3.3.1Linux内核源代码的目录结构Linux内核源代码包含如下目录。arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386、arm、arm64、powerpc、mips等。Linux内核目前已经支持30种左右的体系结构。在arch目录下,存放的是各个平台以及各个平台的芯片对Linux内核进程调度、内存管理、中断等的支持,以及每个具体的SoC和电
静能生悟
·
2020-07-12 17:04
Linux驱动开发
Linux内核模块编写详解
内核编程
常常看起来像是黑魔法,而在亚瑟C克拉克的眼中,它八成就是了。
weixin_30778805
·
2020-07-12 06:30
Win64 驱动
内核编程
-30.枚举与删除线程回调
枚举与删除线程回调进程回调可以监视进程的创建和退出,这个在前面的章节已经总结过了。某些游戏保护的驱动喜欢用这个函数来监视有没有黑名单中的程序运行,如果运行则阻止运行或者把游戏退出。而线程回调则通常用来监控远程线程的建立,如果发现有远程线程注入到了游戏进程里,则马上把游戏退出。现在来详细讲解如何绕过这个两个监控。我们注册的进程回调,会存储在一个名为PspCreateProcessNotifyRout
TK13
·
2020-07-12 03:33
驱动内核编程
Win64 驱动
内核编程
-33.枚举与删除对象回调
枚举与删除对象回调对象回调存储在对应对象结构体里,简单来说,就是存储在ObjectType.CallbackList这个双向链表里。但对象结构体在每个系统上都不一定相同。比如WIN7X64的结构体如下:ntdll!_OBJECT_TYPE+0x000TypeList:_LIST_ENTRY+0x010Name:_UNICODE_STRING+0x020DefaultObject:Ptr64Void
TK13
·
2020-07-12 03:33
驱动内核编程
Win64 驱动
内核编程
-21.DKOM隐藏和保护进程
DKOM隐藏和保护进程主要就是操作链表,以及修改节点内容。DKOM隐藏进程和保护进程的本质是操作EPROCESS结构体,不同的系统用的时候注意查下相关定义,确定下偏移,下面的数据是以win764为例。关注两个成员:ActiveProcessLinks和Flag。ActiveProcessLinks把各个EPROCESS结构体连接成“双向链表”,ZwQuerySystemInformation枚举进
TK13
·
2020-07-12 03:33
驱动内核编程
驱动
DKOM隐藏和保护进程
断链隐藏进程
Win64 驱动
内核编程
-27.强制读写受保护的内存
强制读写受保护的内存某些时候我们需要读写别的进程的内存,某些时候别的进程已经对自己的内存读写做了保护,这里说四个思路(两个R3的,两个R0的)。方案1(R3):直接修改别人内存最基本的也最简单的就是直接通过WriteProcessMemory和ReadProcessMemory对没有进行保护的程序的内存进行修改,一些单机游戏辅助什么的可能会有这种简单方式修改其他进程内存。方案2(R3):注入通过注
TK13
·
2020-07-12 03:33
驱动内核编程
Win64 驱动
内核编程
-31.枚举与删除映像回调
枚举与删除映像回调映像回调可以拦截RING3和RING0的映像加载。某些游戏保护会用此来拦截黑名单中的驱动加载,比如XUETR、WIN64AST的驱动。同理,在反游戏保护的过程中,也可以拦截游戏驱动的加载。跟进程/线程回调类似,映像回调也存储在数组里。这个数组的“符号名”是PspLoadImageNotifyRoutine。我们可以在PsSetLoadImageNotifyRoutine中找到它:
TK13
·
2020-07-12 03:33
驱动内核编程
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他