Linux
文章平均质量分 60
Thinker_mhy
这个作者很懒,什么都没留下…
展开
-
Linux中直接I/O机制的介绍
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-directio/1.直接 I/O 的动机在介绍直接 I/O 之前,这一小节先介绍一下为什么会出现直接 I/O 这种机制,即传统的 I/O 操作存在哪些缺点。1.1什么是缓存 I/O (Buffered I/O)缓存 I/O 又被称作标准 I/O,大多数文件系统的默认转载 2013-05-30 10:16:04 · 613 阅读 · 0 评论 -
Linux 内核模块中socket占用端口不能释放解决办法
在linux内核模块中编写socket程序时,用bind绑定了一个端口后,发送数据可以成功。但是端口不能及时释放,下次加载模块时,会出现地址被占用的提示。需要等一会后,这个端口才会释放。但是为了能马上再绑定使用这个端口,在内核模块中可以使用kernel_setsockopt()函数设置(主要是设置为SO_REUSEADDR,即可以使用已经绑定的端口):方法如下:int原创 2014-02-20 15:37:21 · 4132 阅读 · 0 评论 -
Linux 内核态 Socket 编程--更正
Server端代码:#include#include#include#include#include#includeint myserver(void){ struct socket *sock,*client_sock; struct sockaddr_in s_addr; unsigned short portnum=0x8870; int ret=0; m原创 2014-02-20 17:02:31 · 2700 阅读 · 1 评论 -
Linux内核模块传递参数
如果需要向内核模块中传递参数,可以使用函数:module_param(参数名,参数类型,读写权限)1). 参数名称:不必解释2). 参数类型: byte, short, short, int, uint, long, ulong, charp, bool, invbool3). 读写权限: 一般为S_IRUGO例子:传递一个int型变量和一个字符串#include#inc原创 2014-03-03 17:21:46 · 1467 阅读 · 0 评论 -
Linux - fsck命令修复文件系统 | Using command fsck to repair file system
转自:http://aofengblog.blog.163.com/blog/static/6317021201111825313712/工作中,开发、调试和部署代码都是基于Linux。有时候,某些发行版本的Linux因其BUG而给我们带来一些麻烦。不过,不要紧,Linux下就是要折腾,折腾多了,用起来就更加得心应手。最近,在Redhat5和CentOS5上碰到一个问题:文件系统损转载 2014-03-05 11:12:29 · 1892 阅读 · 0 评论 -
insmod: error inserting '***.ko': -1 Invalid parameters 解决办法
本人在CentOS 2.6.36下编写内核模块。一个模块export中:定义函数int add_integar(int a, int b),然后导出EXPORT_SYMBLE(add_integar);编译通过,加载成功。一个模块inport中:extern int add_integar(int a, int b), 然后调用add_integar函数。编译通过,但是加载失败! 错原创 2014-03-10 18:19:31 · 6738 阅读 · 0 评论 -
MPI,同步/异步,阻塞/非阻塞通讯,集合通信,Gather/Scatter
1. MPIMPI(Message Passing Interface)是一种消息传递接口,是一个消息传递汉书库的标准说明。在基于MPI编程模型中,计算是由一个或多个彼此通过调用库函数进行消息收、发通信的进程所组成。MPI为程序员提供一个并行环境库,程序员通过调用MPI的库程序来达到程序员所要达到的并行目的。2.同步/异步二者区别主要在于:发送操作是否要等 “接收进程接收消息完原创 2014-03-12 17:07:08 · 10501 阅读 · 0 评论 -
SMP、NUMA、MPP体系结构介绍
SMP、NUMA、MPP体系结构介绍从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构 (SMP : Symmetric Multi-Processor) ,非一致存储访问结构 (NUMA : Non-Uniform Memory Access) ,以及海量并行处理结构 (MPP : Massive Parallel Processing) 。它们的特征分别描述如下:转载 2014-03-17 09:26:47 · 734 阅读 · 0 评论 -
Linux 网络配置
Linux服务器一般要设置固定的ip地址,设置方法有多种。本文主要讲利用配置文件进行网络配置的方法:(1) 修改配置文件 CentOs 下的文件目录为:/etc/sysconfig/network-scripts/ifcfg-eth1 ,(ifcfg-eth1也可能是ifcfg-etho0,一般服务器上有多个网卡,你用哪个网卡就配置哪个)(另外: ubuntu下的文件目录为:/etc/原创 2014-03-27 15:47:21 · 601 阅读 · 0 评论 -
ctags 使用
1. 在某个目录下, 建立tags.bj@cnpc0830:~/qt-x11-opensource-src-4.4.1/src/gui> ctags -R .这样,会在当前目录下生成tags文件.2. 将tags文件加入.vimrc.bj@cnpc0830:~/qt-x11-opensource-src-4.4.1/src/gui> vim ~/.vimrc在.vimrc中加入转载 2014-06-30 10:03:03 · 1049 阅读 · 0 评论 -
外部IO中断和IPI中断
中断大概分为两种:一种是外部中断,如原创 2014-08-13 16:49:42 · 4949 阅读 · 0 评论 -
QEMU和KVM 中断处理过程
本文讲述一个网络数据包从到达物理网卡,yi'dao原创 2014-08-14 16:59:35 · 5173 阅读 · 0 评论 -
Conflicting CPU frequency values detected
本文转自:http://blog.csdn.net/xiaolantian/article/details/8722893在测试IB网络中,遇到如下问题:1.在一个节点上启动ib_write_bw[root@storage2 ~]# ib_write_bw----------------------------------------------------转载 2015-05-21 11:27:46 · 1662 阅读 · 0 评论 -
ubuntu 14.04 安装JDK
具体步骤参详了如下链接:http://blog.csdn.net/yang_hui1986527/article/details/6677450http://www.cnblogs.com/plinx/archive/2013/06/01/3113106.html 1、到 Sun 的官网下载http://www.oracle.com/technetwork/转载 2015-09-13 04:05:39 · 563 阅读 · 0 评论 -
sys_init_module: 'client555'->init suspiciously returned 1024, it should follow 0/-E convention
当加载内合模块并执行时,出现如下错误:sys_init_module: 'client555'->init suspiciously returned 1024, it should follow 0/-E convention问题原因:当module_init()调用的函数返回值不为0.解决办法:把module_init()函数调用的那个模块初始化函数返回值改为0即可。例如初原创 2014-02-20 15:13:37 · 1797 阅读 · 0 评论 -
Mac ssh登陆远程Linux不需输入密码
步骤如下:1. 使用ssh-key-gen在本地Mac上生成公钥和密钥jsmith@local-host$ [Note: You are on local-host here]jsmith@local-host$ ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the ke原创 2013-12-26 12:08:26 · 3464 阅读 · 0 评论 -
Makefile = := ?= += 区别
在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endif转载 2013-12-05 10:00:50 · 491 阅读 · 0 评论 -
remap_pfn_range()详解
remap_pfn_range()函数的原型:int remap_pfn_range(struct vm_area_struct *vma, unsigned long virt_addr, unsigned long pfn, unsigned long size, pgprot_t prot);该函数的功能是创建页表。其中参数vma是内核根据用户的请求自己填写的,而参数addr表示内存转载 2013-05-28 17:08:55 · 1676 阅读 · 0 评论 -
同步通信和异步通信
所谓同步通信,就是发送方和接收方在发送接收消息的时候必须设定一个公用的时钟频率来保持同步,通信时基本是连续不中断的。所谓异步通信,就是发送方发送消息后,接收方不必随时监听有没有传过来的消息,但传送的消息必须有起始位、校验位和结束位等信号,确保接收的信息不出错。举个简单的例子:大家平时都用的qq就包含这样的思想。 我们用的文件传输功能可以看成是同步通信的典范。首先传文件的双方转载 2013-05-21 20:48:34 · 849 阅读 · 0 评论 -
内核模块程序结构
<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->1.模块加载函数(必须)模块加载函数必须以“module_init(函数名)”的形式被指定。若初始化成功则返回0,否则返回错误编码。struct int __init initialization_funcfction(void){ /*初始化原创 2013-05-02 19:47:12 · 682 阅读 · 0 评论 -
Linux添加用户并让用户获得root权限的方法
转自:http://blog.sina.com.cn/s/blog_6fc583e70100n6rm.html1、添加用户,首先用adduser命令添加一个普通用户,命令如下:#adduser tommy //添加一个名为tommy的用户#passwd tommy //修改密码Changing password for user tommy.New UN转载 2013-08-28 10:35:06 · 908 阅读 · 0 评论 -
内核模块编译--Makefile写法
内核模块编译-Makefile写法如果编译内核模块,可以编写Makefile,然后执行make命令即可。Linux2.6的Makefile模板如下:#Makefile2.6ifneq ($(KERNELRELEASE),)#kbuild syntax. dependency relationship of files and target modules are list原创 2013-05-02 21:31:04 · 1126 阅读 · 0 评论 -
System.map 文件的作用
System.map文件的作用编译:赵炯 www.plinux.org (gohigh@sh163.net)有关System.map文件的信息好象很缺乏。其实它一点也不神秘,并且在整个事情当中它并不象看上去那么得重要。但是由于缺乏必要的文档说明,使其显得比较神秘。它就象耳垂,我们每个人都有,但却不知道是干什么用的。本网页就是用来说明这个问题的。注意,我并不会是百分之一百正确的。例如,一转载 2013-09-16 10:49:25 · 586 阅读 · 0 评论 -
编译Linux内核方法
1.下载内核下载地址:www.kernel.org例如下载的内核源码为: linux -3.10.12.tar.xz2.解压把linux-3.10-12.tar.xz解压到/usr/src目录$sudo tar -xvf linux-3.10.12.tar.xz -C /usr/src/3.配置内核参数首先需要安装ncurses,这时字符版配置工具多依赖的。转载 2013-09-17 16:12:19 · 650 阅读 · 0 评论 -
Linux 3.10.12通过编译内核添加系统调用
本文以linux-3.10.12内核、x86平台、64位,为例进行说明。添加新的系统调用,共需修改3处文件:(1)分配系统调用号:/usr/src/linux-x.x.x/include/uapi/asm-generic/unistd.h(不是/usr/src/linux-x.x.x/include/asm-generic/unistd.h)(2)修改系统调用表:/usr/转载 2013-09-17 16:47:04 · 2447 阅读 · 1 评论 -
网络测试工具Netperf安装使用
Netperf是一种网络性能测试工具,主要针对据域TCP和UDP的传输。Netperf根据应用的不同可以进行不同模式的网络性能测试,既批量数据传输模式(bulk data transfer)请求/应答模式(request/response)模式。Netperf测试结果所反映的是一个系统能够以多快速度向另外一台系统发送数据,以及另外一个系统能够以多快速度接收数据。Netperf工具以client转载 2013-10-15 17:03:54 · 3861 阅读 · 0 评论 -
Linux内核源代码结构
源代码所有在目录:/usr/src/linux (大部分linux发行版本中) init 内核初始化代码 kernel 内核核心部分:进程、定时、程序执行、信号、模块。。。 mm 内存处理 arch 平台相关代码 i386 IBM的PC体系结构 kernel 内核核心部分 mm 内存管理转载 2013-11-29 14:50:14 · 633 阅读 · 0 评论 -
Makefile 中 echo 和@echo的区别
echo: 会在shell中显示echo这条命令和后面要输出的内容@echo: 不会显示echo这条命令,只会显示后面要输出的内容例如:echo “hello” 输出为:echo "hello"hello@echo "hello" 输出为:hello原创 2013-12-05 10:14:35 · 5140 阅读 · 0 评论 -
内核模块编写,编译,加载和卸载过程
1.编写hello.c内核模块<!--@page {margin:2cm}p {margin-bottom:0.21cm}a:link {}-->//hello.c#include#includestaticint hello_init(void){printk(KERN_INFO"hello world enter\n");原创 2013-05-02 22:03:06 · 2101 阅读 · 0 评论