关闭

Linux .a文件.o文件.la文件.lo文件和.so文件

.o 就相当于Windows里的obj文件  .a 是好多个.o合在一起,用于静态连接  .so 是shared object,用于动态连接的,和dll差不多   .o文件是链接文件,.a是静态库文件,靠.o文件生成,作为一个库为外部程序提供函数,接口。 生成.o文件: gcc -c test.o test.c 生成.a文件: ar cqs test...
阅读(1305) 评论(0)

Linux 网卡如何支持TSO GSO指南

来源链接:http://gavin1992.gotoip2.com/papperdetails_tech.php?pid=11   1.什么是TSO GSO   TSO是tcp segment offload的缩写,GSO是 generic segmentation offload 的缩写。   详细解释参看http://en.wikipedia.org/wiki/La...
阅读(766) 评论(0)

优化屏障(Optimization barrier)第二讲

1. gcc编译的大致过程 可以看到,gcc优化主要分两大部分:Tree优化和RTL(Register Transfer Language)优化; 前文所说的指令调度(Instruction scheduling)即为RTL优化的一部分。 2. 从RTL指令调度出发,追寻Optimization barrier的踪迹 还是从实验出发,实验代码如下:...
阅读(505) 评论(0)

优化屏障(Optimization barrier)第一讲

1. 编译优化导致编译器指令重排 要想理解Optimization barrier,先要理解Compiler Instruction Reorder,即编译器指令重排。 编译器指令重排是编译优化的结果,以gcc来说,它不知道为我们的代码默默做了多少事情,看看那整屏的优化选项就明了了。 本文以ubuntu下的gcc 4.4.3为实验,来逐步分析Optimization barrier的作用...
阅读(528) 评论(0)

自动生成Linux下Makefile全攻略(下)

下面再来看看多个源文件的例子。      如何写用code1.c, code2.c生成 prog1的configure.in和Makefile.am。首先建立一个项目文件夹testproj。在testproj下建立dir1目录。     [kang@node16 kang]$ mkdir testproj     [kang@node16 kang]$ mkdir dir1...
阅读(452) 评论(0)

自动生成Linux下Makefile全攻略(上)

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。   在本文中,将给大家介绍如何使用 autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序...
阅读(358) 评论(0)

Generic Netlink HOW-TO based on Jamal's original doc

An Introduction To Using Generic Netlink =============================================================================== Last Updated: November 10, 2006 Table of Contents 1. Introduction 1.1. Doc...
阅读(516) 评论(0)

为什么在中断上下文中不能休眠?

这个问题有很多人问过,我看了下linux得内核代码,原因如下(当然我不能保证一定对,如果有牛人理解得更好,欢迎指正) 1. 中断处理的时候,不应该发生进程切换,因为在中断context中,唯一能打断当前中断handler的只有更高优先级的中断,它不会被进程打断(这点对 于softirq,tasklet也一样,因此这些bottom half也不能休眠),如果在中断context中休眠,则没有办法唤...
阅读(548) 评论(0)

进程上下文和中断上下文

[原文:http://blog.chinaunix.net/u3/93613/showart_1907687.html] 进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事的两个概念。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。 处理器...
阅读(447) 评论(0)

Open vSwitch作为openflow交换机的启动方法

启动NOX控制台:  ./nox_core -v -i ptcp:6633 pyswitch 1. 加载open vswitch 模块:       insmod datapath/linux-2.6/openvswitch_mod.ko   2. 增加一条数据通路:      ovs-dpctl add-dp dp0   3. 将该数据通路与接口进行关联...
阅读(1279) 评论(2)

open vswitch研究:ovs的安装和使用

通过 git clone git://openvswitch.org/openvswitch 下载ovs代码到本地,运行boot.sh,如果遇到提示autoconf版本过低,可以去找最新的autoconf m4等rpm包安装或者通过yum update更新,也可以去下一个较新的包自己装下,e.g. http://ftp.gnu.org/gnu/autoconf/autoconf-2.6...
阅读(577) 评论(0)

虚拟网卡 TUN/TAP 驱动程序设计原理

简介 虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。本文将介绍tun/tap驱动的使用并分析虚拟网卡tun/tap驱动程序在linux环境下的设计思路。 tun/tap驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络包实施不同的封装。利用tun/tap...
阅读(337) 评论(0)

Linux的TUN/TAP编程

TUN/TAP虚拟网络设备为用户空间程序提供了网络数据包的发送和接收能力。他既可以当做点对点设备(TUN),也可以当做以太网设备(TAP)。实际上,不仅Linux支持TUN/TAP虚拟网络设备,其他UNIX也是支持的,他们之间只有少许差别。 原理简介 TUN/TAP 虚拟网络设备的原理比较简单,他在Linux内核中添加了一个TUN/TAP虚拟网络设备的驱动程序和一个与之相关连的字符设备...
阅读(367) 评论(0)

Ubuntu 9.10下安装Eclipse CDT 6.0

安装步骤如下: 1. 安装Jre, Jdk sudo apt-get install sun-java6-jre sudo apt-get install sun-java6-jdk 2. 安装Eclipse sudo apt-get install eclipse 安装完eclipse后,还需要安装以下两个包,否则安装CDT将失败: sudo apt-get install e...
阅读(195) 评论(0)

无界面环境下安装eclipse

1、添加这个源: deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse。 2、sudo apt-get update   3、sudo apt-get install sun-java6-jdk   然后就会出现下载安装sun-java6-jdk。。。有点久  当下载完成时,就会有   说明成功了。^_^...
阅读(206) 评论(0)

PuTTY + Xming 远程使用 Linux GUI

在家里的PC上用VMWare做了一个Oracle Enterprise Linux虚拟机做数据库,虚拟机OEL没启用图形界面,因此需要在PC上装一个X Window Server才能使用GUI。     看Wiki系统地了解了一下X Window System。X Window System(常被简称为X11或X),是一套基于X display protocol的windowing syst...
阅读(326) 评论(0)

Remote X Tutorial

In this class, we're using the open source, UNIX-like operating system known as Linux for all of our development. For most, the transition from developing in Visual Studio or Eclipse to developing i...
阅读(211) 评论(0)

linux namespace

Linux Namespaces机制提供一种资源隔离方案。PID,IPC,Network等系统资源不再是全局性的,而是属于特定的Namespace。每个Namespace里面的资源对其他Namespace都是透明的。要创建新的Namespace,只需要在调用clone时指定相应的flag。Linux Namespaces机制为实现基于容器的虚拟化技术提供了很好的基础,LXC(Linux conta...
阅读(881) 评论(0)

netlink socket编程实例解析

开发和维护内核是一件很繁杂的工作,因此,只有那些最重要或者与系统性能息息相关的代码才将其安排在内核中。其它程序,比如GUI,管理以及控制部分的代码,一般都会作为用户态程序。在linux系统中,把系统的某个特性分割成在内核中和在用户空间中分别实现一部分的做法是很常见的(比如linux系统的防火墙就分成了内核态的Netfilter和用户态的iptables)。然而,内核程序与用户态的程序又是怎样行通讯...
阅读(573) 评论(0)

LINUX netlink机制

Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由 daemon(NETLINK_ROUTE),1-wire 子系统(NETLINK_W1),用户态 socket 协议(NETLINK_USERSOCK),防火...
阅读(406) 评论(0)
149条 共8页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:120063次
    • 积分:1826
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:144篇
    • 译文:0篇
    • 评论:20条
    最新评论