Linux
文章平均质量分 70
翔云123456
这个作者很懒,什么都没留下…
展开
-
磁盘IO挂起(Disk IO hang)
磁盘IO挂起(Disk IO hang)是指磁盘输入/输出操作延迟异常,甚至完全停止响应的情况。在这种状态下,系统尝试对磁盘进行读写操作,但操作无法在合理的时间内完成,导致进程挂起等待,影响系统性能和响应能力。磁盘IO挂起可能是暂时的,也可能是持续的,严重时可能需要重启系统或更换硬件才能恢复。原创 2024-07-21 09:49:29 · 769 阅读 · 0 评论 -
iptables基本用法
iptables是一个很好用的数据包过滤工具,可以针对host,port等进行数据包拦截等操作。本文主要介绍iptables的两个操作:drop和reject.1.dropdrop顾名思义,就是丢包,不回复任何数据。设置策略:iptables -A OUTPUT -p tcp --dport 3306 -d 192.168.0.101 -j DROP查看策略:[root@local...原创 2020-03-30 21:59:27 · 1030 阅读 · 0 评论 -
linux网卡驱动程序分析
学习应该是一个先把问题简单化,在把问题复杂化的过程。一开始就着手处理复杂的问题,难免让人有心惊胆颤,捉襟见肘的感觉。读Linux网卡驱动也是一样。那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏便是理所当然的了。不要担心,事情总有解决的办法,先把一些我们管不着的代码切割出去,留下必须的部分,把框架掌握了,哪其他的事情自然就水到渠成了,这是笔者的心得。<br /> 一般在使用的Linux网卡驱动代码动辄3000行左右,这个代码量以及它所表达出来的知识量无疑是庞大的,我们有没有办法缩短一下转载 2010-07-09 15:20:00 · 586 阅读 · 0 评论 -
Linux操作系统网络驱动程序编写
Linux操作系统网络驱动程序编写 %A一.Linux系统设备驱动程序概述 u51.1 Linux设备驱动程序分类 %Vp}1.2 编写驱动程序的一些基本概念 *I二.Linux系统网络设备驱动程序 "[`]K2.1 网络驱动程序的结构 H2.2 网络驱动程序的基本方法 U?+2.3 网络驱动程序中用到的数据结构 IKo2.4 常用的系统支持 v[ZEeu三.编写Linux网络驱动程序中可能遇到的问题 /oY3.1 中断共享 l@FZkg3.2 硬件发送忙时的处理 pZw3.3 流量控制(flow cont转载 2010-07-09 15:47:00 · 1013 阅读 · 0 评论 -
linux网络接口源码导读(转载)
BSD是UNIX系统中通用的网络接口,它不仅支持各种不同的网络类型,而且也是一种内部进程之间的通信机制。两个通信进程都用一个套接口来描述通信链路的两端。套接口可以认为是一种特殊的管道,但和管道不同的是,套接口对于可以容纳的数据的大小没有限制。<br /> Linux支持多种类型的套接口,也叫做套接口寻址族,这是因为每种类型的套接口都有自己的寻址方法。Linux支持以下的套接口类型:<br /> UNIX UNIX域套接口<br /> INET Internet地址族TCP/原创 2010-07-09 15:50:00 · 560 阅读 · 0 评论 -
Linux网卡驱动程序详解
<br />当网络上一台计算机准备发送数据时,他的网卡开始工作了,首先网卡的芯片侦听在网络上是否有数据在流动,如果没有,他就把数据发送到网络上,在侦听和发送之间有一段极小的时间延迟,在这段时间内,也有可能在网络上有其他的计算机也准备发送数据,也侦听到网络上没有数据在流动,这就可能两台甚至多台的数据一起发送到网络上,产生数据的碰撞,发送数据的计算机的网卡芯片当然要在发送完成后再校验返回的数据,如果发现和发送的数据不一致,那就是说产生了碰撞,所以在一个以太网络中的计算机数量不宜过多,他不但会增加广播包在网络中的转载 2010-07-09 16:32:00 · 946 阅读 · 0 评论 -
Linux中EXPORT_SYMBOL的用法
EXPORT_SYMBOL标签内定义的函数对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用。您还可以手工修改内核源代码来导出另外的函数,用于重新编译并加载新内核后的测试。Linux symbol export method:[1] If we want export the symbol in a module, just use the EXPORT_SYMBOL(xxxx) in the C or H file. And compile the module by adding转载 2011-03-22 20:31:00 · 741 阅读 · 0 评论 -
关于EXPORT_SYMBOL_GPL()问题【转】
关于EXPORT_SYMBOL_GPL()问题,起源于我的毕业设计中要在linux下写一个模块,用于监视目标进程的系统调用,对其中的写操作进行重定向.这其中就涉及到在内核态下截获了write-syscall以后将他需要写的buf写到我事先创建的文件中. 因此我需要在内核态下的写文件的函数,查看了内核文件/fs/read_write.c,里面是read,write类底层对sys-call的上层封装.我原先希望可以直接使用sys_write,但是由于linux出于安全因素,拒绝将sys-call导出到全局转载 2011-03-22 20:33:00 · 2742 阅读 · 0 评论 -
module_init (一)
<br />在Linux底下写过driver模块的对这个宏一定不会陌生。module_init宏在MODULE宏有没有定义的情况下展开的内容是不同的,如果这个宏没有定义,基本上表明阁下的模块是要编译进内核的(obj-y)。<br />1.在MODULE没有定义这种情况下,module_init定义如下:<br />#define module_init(x) __initcall(x);<br />因为<br />#define __initcall(fn)转载 2011-03-24 19:05:00 · 753 阅读 · 0 评论 -
linux内核初始化中 start_kernel()的大体执行过程
<br />内核中关键部分调用过程:<br /> <br /> start_kernel()-->rest_init()-->kernel_thread()启动内核线程init->init()-->do_basic_setup()-->do_initcalls()<br /> <br /> 内核2.6.18.1中sock_init()在do_initcalls()被调用,而不是在do_basic_setup()中调用。<br />内核启动过程参考<br />http://www.uzexpo.co原创 2011-04-12 16:38:00 · 807 阅读 · 0 评论 -
剖析Linux系统启动过程
<br /> 内容提要<br /> 本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。<br /> 阅读Linux源代码,无疑是深入学习Linux的最好方法。在本文对Linux启动过程的介绍中,我们也尝试从源代码的视角来更深入的剖析Linux的启动过程,所以其中也简单涉及到部分相关的Linux源代码,Linux启动这部分的源码主要使用的是C语言,也涉及到了少量的汇编。而启动过程中也执行了大量的shell(主转载 2011-04-19 22:14:00 · 675 阅读 · 0 评论 -
2.6.18.1内核编译问题
//--------------------------------------------------------------------------------------------------------------------------------原创 2011-07-04 13:49:14 · 1139 阅读 · 0 评论 -
内核升级问题
//--------------------------------------------------------------//Author:lanyang123456//2011-10-15//----------------------------------原创 2011-10-15 18:09:20 · 1319 阅读 · 0 评论 -
error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or
//-----------------------------------------------------------//AUTHOR:lanyang123456//DATE:2011-11-10//-----------------------------------------------------------Linux系统下,运行sniff程序需原创 2011-11-10 14:31:11 · 18301 阅读 · 2 评论 -
Linux内核之系统调用
1. 应用程序通过API而不是直接调用系统调用来编程;2. getpid()系统调用示例:asmlinkage long sys_getpid(void){return current->tgid;}asmlinkage 编译器仅从栈中提取参数系统调用的命名规则:sys_syscallname()3. 每个系统调用都对转载 2011-12-14 18:26:31 · 595 阅读 · 0 评论 -
Fedora16 无法从root账户登录解决方法 提示:鉴定故障
fedora 16 启动后,root用户无法登录,出现“鉴定故障”提示 。 原因:fedora 默认禁止了root 超级用户。 需要修改两个文件。 具体操作如下:进入命令行模式,Alt+Ctrl+F1(或F2,F3,F4……F6)# vi /etc/pam.d/gdm注释掉"auth required pam_succeed_if.so user != r原创 2012-02-16 19:53:28 · 1165 阅读 · 0 评论 -
Linux下使用USB转串口读GPS数据
//----------------------------------------------------//AUTHOR: lanyang123456//DATE:2012-02-28//---------------------------------------------------- 内核版本2.6.18 或2.6.32 或 3.1.10Linux内核源码中自带US原创 2012-02-28 22:28:09 · 7888 阅读 · 2 评论 -
ndiswrapper支持的PCI无线网卡
ndiswrapper支持的PCI无线网卡 33COM 3CRWE254A723Com 3C410AA-Link WL54HASUS PCI-G31AeroGuard AGN1023PCAirlink AWLH3026TAirnet AWD108Airnet AWD154Aironet 350Alpha AFW-N411Asus P5GD2Asus转载 2012-03-07 10:41:43 · 1909 阅读 · 0 评论 -
ndiswrapper最新版本的下载
http://sourceforge.net/projects/ndiswrapper/files/stable/原创 2012-03-07 11:32:35 · 901 阅读 · 0 评论 -
ndiswrapper 支持的USB无线网卡
ndiswrapper 支持的USB无线网卡33COM 3CRWE254G723Com 3CRUSB100753Com 3CRUSB200753Com 3CRWE254G72AAVM Fritz!WLAN USB Stick v1.1Actiontec 802UI3AirLink101 AWLL3055Airlink AWLL5077Airvast WM转载 2012-03-07 09:46:30 · 2890 阅读 · 0 评论 -
无线网卡芯片类型及与linux-wlan-ng的兼容性
无线局域网适配器芯片集由 AbsoluteValue Systems, Inc.提供,更新至2004年2月 LINUX SUPPORT VENDORWLAN TYPEPRODUCT IDHOST I/FCHIPSETAVS TestedUser/Vendor ReportCOMMENTS翻译 2012-03-07 10:28:24 · 6665 阅读 · 0 评论 -
ndiswrapper支持的PCMCIA无线网卡
ndiswrapper支持的PCMCIA无线网卡 33COM 3CR154G723COM 3CRGPC100753COM 3CRSHPW796AAirnet AWN154Asante AL5410-GAsus WL-107GAtlantisLand A02-PCM-W54BBelkin F5D7010Belkin F5D7010 car转载 2012-03-07 11:16:55 · 952 阅读 · 0 评论 -
经典]Linux内核中ioremap映射的透彻理解 .
几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: (1)I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如X86的转载 2012-03-28 16:41:25 · 1077 阅读 · 0 评论 -
rt5370驱动移植
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2012-3-19//---------------------------------------------------- 硬件:ARM 开发板 OK6410系统:linux 2.6.28内核原创 2012-03-19 21:19:44 · 10110 阅读 · 5 评论 -
Linux下MySQL安装与配置
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2012-4-19//---------------------------------------------------- MySQL 版本5.0.18系统Fedora 16内核3.1.0原创 2012-04-19 14:25:26 · 819 阅读 · 0 评论 -
DHCP 移植
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2012-3-19//---------------------------------------------------- dhcp版本: 3.1.3ARM 开发板:OK6410 Linux内核2.原创 2012-03-16 16:25:41 · 6325 阅读 · 1 评论 -
Linux下SQLite数据库移植与编程
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2012-6-20//---------------------------------------------------- 环境宿主机系统 Fedora 16内核 3.1ARM开发板OK641原创 2012-06-20 17:58:31 · 8040 阅读 · 4 评论 -
OK6410开发板上ncurses库的移植
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2012-6-20//----------------------------------------------------环境宿主机系统 Fedora 16内核 3.1ARM开发板OK6410 L原创 2012-06-20 18:14:21 · 3313 阅读 · 4 评论 -
Linux下SQLite数据库安装操作与编程
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2012-6-20//---------------------------------------------------- 环境Linux 操作系统: Fedora 16内核:3.1sq原创 2012-06-20 17:32:11 · 6375 阅读 · 0 评论 -
读取的GPS数据为乱码
//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2012-07-02//---------------------------------------------------- 由于不同GPS设备使用的波特率不同,如果波特率设置不正确,就会出现读原创 2012-07-02 15:47:35 · 3583 阅读 · 0 评论 -
Linux静态库和动态库
库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 静态库和动态库的区别1. 静态函数库 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为转载 2011-12-14 18:38:33 · 593 阅读 · 1 评论 -
学习《Unix环境高级编程》之问题
在学习《Unix环境高级编程》之问题原创 2014-09-21 16:15:23 · 663 阅读 · 0 评论 -
pthread编程基础
1. pthread线程概念Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。与vxworks上任务的概念类似,都是调度的最小单元,都有共享的堆、栈、代码区、全局变量等。 2. 创建线程int pthread_create(pthread_t转载 2014-10-21 18:02:49 · 704 阅读 · 0 评论 -
Linux Pthread 深入解析
转载http://blog.chinaunix.net/uid-21084809-id-2215376.htmlOutline - 1.线程特点- 2.pthread创建- 3.pthread终止 - 4.mutex互斥量使用框架 - 5.cond条件变量 - 6.综合实例======转载 2014-10-21 19:12:23 · 534 阅读 · 0 评论 -
C中的strtok (续)
#include #include int main(){ //char sentence[] = "This is a sentence with 7 tokens"; char sentence[] = "first,second.three four,five."; printf("The string to be tokenized is:%s\n", sentence);原创 2014-11-09 17:24:00 · 554 阅读 · 0 评论 -
C中字符串操作函数strstr strchr
/*str1.cstrstr(haystact, needl)返回needl第一次在haystack出现的位置;如果没找到,返回NULL;test_macro???*/#include #include int main(){ const char srcstr[] = "com from china city beijing"; const char str1原创 2014-11-05 19:17:19 · 1636 阅读 · 0 评论 -
C中的scanf fscanf sscanf
#include int scanf(const char *format, ...); int fscanf(FILE *stream, const char *format, ...); int sscanf(const char *str, const char *format, ...);原创 2014-11-09 11:07:43 · 843 阅读 · 0 评论 -
strtok和strtok_r
strtok和strtok_r原型:char *strtok(char *s, char *delim);功能:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。说明:首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。 strtok在s中查找包含在delim中的字符并用NULL('/0')来替换,直到找遍整个字符串。返回值:转载 2014-11-09 17:43:48 · 547 阅读 · 0 评论 -
C中的strtok
参考原创 2014-11-09 17:08:48 · 735 阅读 · 0 评论 -
守护进程的编写示例
#include #include #include #include #include #include #include #include //守护进程初始化函数void init_daemon(void){ int pid; int i; if(pid = fork()) exit(0); //是父进程,结束父进程原创 2014-11-10 15:28:04 · 677 阅读 · 0 评论