提高Linux系统性能加速网络应用程序(转)
提高Linux系统性能加速网络应用程序(转)[@more@] 在开发 socket 应用程序时,首要任务通常是确保可靠性并满足一些特定的需求。利用本文中给出的 4 个提示,您就可以从头开始为实现最佳性能来设计并开发 socket 程序。本文内容包括对于 Sockets API 的使用、两个可以提高性能的 socket 选项以及 GNU/Linux 优化。 为了能够开发性能卓越的应用程序,请遵循以下技巧: 最小化报文传输的延时。 最小化系统调用的负载。 为 Bandwidth Delay Product 调节 TCP 窗口。 动态优化 GNU/Linux TCP/IP 栈。 技巧 1. 最小化
急速狂飚:提高Linux系统网速的方法(转)
急速狂飚:提高Linux系统网速的方法(转)[@more@] 学校一个电子教室通过ADSL宽带“猫”上网,系统为RedHat 9.0,但在上网时有些网页打不开,而且网速不快。有同事告诉笔者,说这跟MTU值有关系,将它修改到适当的值即可。在Windows下可以通过修改注册表来修改MTU值,可在Linux下面又该如何做呢?通过查阅一些资料,笔者终于解决了这个问题,其实只需要一个简单的命令即可: CODE: # ifconfig eth0 mtu number
Linux编程Shell基本工作原理方案(转)
Linux编程Shell基本工作原理方案(转)[@more@] Linux系统提供给用户的最重要的系统程序是Shell命令语言解释程序。它不属于内核部分,而是在核心之外,以用户态方式运行。其基本功能是解释并执行用户打入的各种命令,实现用户与Linux核心的接口。系统初启后,核心为每个终端用户建立一个进程去执行Shell解释程序。它的执行过程基本上按如下步骤: (1)读取用户由键盘输入的命令行。 (2)分析命令,以命令名作为文件名,并将其它参数改造为系统调用execve( )内部处理所要求的形式。 (3)终端进程调用fork( )建立一个子进程。
Linux操作系统的Shell编程脚本欣赏(转)
Linux操作系统的Shell编程脚本欣赏(转)[@more@] 自己买了一个数码相机,柯达7590。自己拍了一些照片。欣赏时,感觉自己还有点专业水准,拿来作桌面。这么多图片到底选那一个,放弃那一个呢?最后决定,都选,都用来左桌面,让系统每30分钟自动换一个。利用系统子带的工具cron. 再加上自己编写的脚本,很容易实现。下面给出从文件夹中随机取出一副图片的脚本程: CODE: #!/bin/bash#trim the charactor in head and tailL_trim()
很多计算机资料高速下载,有目录(转)
很多计算机资料高速下载,有目录(转)[@more@]398 linux学习资料集合第三集 1 06 397 linux学习资料集合第二集 1 06 396 Linux相关教程avi视频第四部分 1 06 395 Linux相关教程avi视频第二部分 1 06 394 Linux相关教程avi视频第一部分 1 06 393 Linux相关教程avi视频第三部分 1 06 313 《linux软件开发工程师教程》第一部分avi 1 01 312 《linux软件开发工程师教程》第三部分avi 1 01 311 《linux软件开发工程师教程》第二部分avi 1 01 270 Linux内核编程指南第3版pdf 269 美河制作.Red.Hat.Linux.Fedora.Core.4基础教程pdf 268 linux学习资
在Linux下(VRRP)虚拟路由冗余协议介绍(转)
在Linux下(VRRP)虚拟路由冗余协议介绍(转)[@more@] 这篇文章描述的是如何在Linux下实现VRRP (Virtual Router Redundancy Protocol 虚拟路由器冗余协议)。是我本人在学习VRRP过程的一个小总结,并结合了一些其他资料,对VRRP的一些基本概念、原理及Linux如何实现VRRP的一个介绍。 1、VRRP介绍 我们在建立一个网络时,为了保证网络稳定不间断的运行,经常采用一些动态的路由协议,如OSPF、RIP等,这些路由协议可以自动的绕开很多的网络故障,如:路由器DOWN机等。但很多时候我们可能无法使用这些高端的路由协议: (1), 因为
Linux的操作系统I2C驱动架构解说(转)
Linux的操作系统I2C驱动架构解说(转)[@more@] 最近因为工作需要涉及到了I2C总线。虽然我过去用过I2c,但看了 Linux kernel 后才发现,一个 layer 能被做到这样完善。 1.Linux的I2C驱动架 Linux中I2C总线的驱动分为两个部分,总线驱动(BUS)和设备驱动(DEVICE)。其中总线驱动的职责,是为系统中每个I2C总线增加相应的读写方法。但是总线驱动本身并不会进行任何的通讯,它只是存在在那里,等待设备驱动调用其函数。 设备驱动则是与挂在I2C总线上的具体的设备通讯的驱动。通过I2C总线驱动提供的函数,设备驱动可以忽略不同总线
深入学习Linux系统,Linux内核编程风格(转)
深入学习Linux系统,Linux内核编程风格(转)[@more@] 这篇短小的文档用于描述linux内核编程中推荐的编程风格。编程风格是很个人化的东西,我不想把我的观点_强加_给任何人,但这是我必须维护的代码中所遵守的,我也建议其他部分的代码也能遵守它。请至少给这里的观点一些考虑。 首先,我建议你打印一份GNU代码风格,不是去读它,而是把它烧了,这是个很不错的姿态。 下面就是Linux内核编程风格: 第一章:缩进 制表符(tabs)占8个字符,所以缩进也是8个字符。有些异端运动想使用4个字符(甚至是2个字符)的缩进,这和把
深入分析 Linux操作系统的内核链表(转)
深入分析 Linux操作系统的内核链表(转)[@more@] 一、 链表数据结构简介 链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。 通常链表数据结构至少应包含两个域:数据域和指针域,数据域用于存储数据,指针域用于建立与下一个节点的联系。按照指针域的组织以及各个节
Upnp On Fedora Core 4(转)
Upnp On Fedora Core 4(转)[@more@]由于宽带路由器不稳定,特别是在打开Upnp后+一堆P2P软件在下载的时候,很容易导致机器死机为了解决这个问题,使用Linux来拨号,为了让Linux支持upnp,找到了linux-igd这个程序下载地址: http://sourceforge.net/projects/linux-igd/ps: 我下载的是src.rpm,然后使用rpmbuild --rebuild就可以重新编译了。在编译之前的准备工作:1. 安装必要的软件包:# yum install iptables-devel libupnp libupnp-devel2. 制作rpm包# rpmbuild --rebuild linux-igd-0.95-1.src.rpm3. 安装# rpm -ivh /usr/src/redha
让机器开机自动挂载windows分区方法-fc3(转)
让机器开机自动挂载windows分区方法-fc3(转)[@more@]让机器开机自动挂载windows分区方法:修改/etc/fstab文件,加入下面语句。 CODE: /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0/dev/hda1 /mnt/winc vfat umask=0,rw,iocharset=gb2312 0 0/dev/hda5 /mnt/wind ntfs umask=0,rw,iocharset=gb2312 0 0/dev/hda6 /mnt/wine vfat umask=0,rw,iocharset=gb2312 0 0/dev/hda7 /mnt/winf vfat umask=0,rw,iocharset=gb2312 0 0/dev/hda8 /mnt/wing vfat umask=0,rw,iocharset=gb2312 0 0/dev/hda9 /mnt/winh vfat umask=0,rw
Linux用户态与内核态的交互 (2)(转)
Linux用户态与内核态的交互 (2)(转)[@more@]同样地,函数close用于关闭打开的netlink socket。程序中,因为程序一直循环接收处理内核的消息,需要收到用户的关闭信号才会退出,所以关闭套接字的工作放在了自定义的信号函数sig_int中处理:[table=400][tr][td]/*这个信号函数,处理一些程序退出时的动作*/static void sig_int(int signo){ struct sockaddr_nl kpeer; struct msg_to_kernel message; memset(&kpeer, 0, sizeof(kpeer)); kpeer.nl_family = AF_NETLINK; kpeer.nl_pid = 0; kpeer.nl_groups = 0; memset(&message,
unix系统当中 软连接与硬连接的区别(转)
unix系统当中 软连接与硬连接的区别(转)[@more@]以前一直不明白unix系统当中硬连接与软连接的区别,闲暇无聊时候想锻炼看些英文的计算机资料,忽然有点心得体会。要讲清楚这两个的区别,首先要明白unix系统当中文件的存储。unix文件当中文件的存储可以分为三部分:1、 文件名 file name;2、 我们称之为inode, 里面存储了此文件的属性,包括文件大小、所有者、以及访问权限等等。3、 数据块 DATA;以一个例子讲:目标文件名称 /opt/public.c 要建立的软连接的名称为a , 建立的硬连接的名称为b。此时/opt/public.c 文件的存储为: 1、文件
在Linux系统中,批量添加用户的操作流程(转)
在Linux系统中,批量添加用户的操作流程(转)[@more@]一、为什么需要大批量添加用户;我们什么时候才需要大批量添加用户呢?有时我们需要让几十个或更多的用户在主机上完成相同或相似的任务,比如我们想同时添加一堆的ftp 用户,这些ftp用户归属同一组,但不允许他们通过终端或远程登录服务器;有时我们可能为了教学,比如我们有50个学生,并且每个学生在服务器上有一个独立的用户名,能登录系统,并能管理自己的帐号或完成一些在自己权限下的作业;二、批量用户添加流程;批量添中用户流程是通过newusers 导入一个严格按照/etc/passwd 的书
X window远程登录(转)
X window远程登录(转)[@more@]X window的C/S模式使得它很容易实现远程登录。两台机器A,B:A为X server(安装了X window的系统,或者是安装了X-win32的windows系统);B为X client(要远程登录到linux系统,这里使用gdm,所以这台机器上必须安装了gdm)。设置B:将/etc/X11/gdm/gdm.conf文件里[xdmcp]选项的Enable改为true,让gdm支持远程登录。操作A:切换到ttyn(n=1,2,...,6;使用ctrl+alt+Fn),使用A的一个用户登录进入字符界面,输入:# X :m -query Address_B &即进入B系统的gnome登录界面,接下来就跟在B机器前操作一样了。(注:上
删除安全软件的注册表设置的蠕虫(转)
删除安全软件的注册表设置的蠕虫(转)[@more@] 一、“网络天空变种e”(Worm.Netsky.e)威胁级别:中 病毒特征:这是一种通过邮件传播的蠕虫病毒。 发作症状:该病毒通过搜索被感染机器上的邮件地址把自己的拷贝发送出去,并且删除大量的安全软件的注册表设置。 二、“征途变种ad”(Troj.Zhengtu.ad)威胁级别:低 病毒特征:这是一个盗取网络游戏"征途"帐号与密码的木马。 发作症状:它能盗取用户的该游戏帐号与密码并通过网页上传的方式发送给木马种植者。病毒被运行后,会把自己拷贝到C:Windowssystem32目录下,并命
释放并运行病毒及风险程序的木马(转)
释放并运行病毒及风险程序的木马(转)[@more@] “Dropper变种fy”(Troj.Dropper.fy)木马病毒,释放运行其他两个病毒及一风险程序。 “魔盗变种dg”(Troj.Launcher.dg)木马病毒,注册钩子监视游戏用户输入的帐号密码并盗取。 一、“Dropper变种fy”(Troj.Dropper.fy)威胁级别:中 病毒特征:该病毒是一个木马病毒。 发作症状:该病毒运行时在受感染的系统中释放以下文件:%DOCUME~1%ADMINI~1 LOCALS~1Temp E_4 krnln.fnr、shell.fne、JXJ_QQ.Exe、dj.exe、QQ黑客百宝箱查询器 1.0.exe,并进行文件及相关注册表修改。
QQ黑市揭密:被盗到出售过程详解(转)
QQ黑市揭密:被盗到出售过程详解(转)[@more@] 首先这里要解释几个关于QQ黑市的特殊名词: QQ信封--一般在许多QQ交易论坛里面都会看见这几个字,所谓的QQ信封就是黑客通过非法手段(放木马,入侵别人电脑,窃取局域网信息)得来的QQ号码和密码,以万为单位保存的信息文本。信封又分为一手信封(原始的,黑客将盗来的QQ号码和密码不经过任何工具,随机储存的),二手信封(已经被黑客工具将里面有价值的号码取出,所剩下的号码)以及N手信封。 洗信--通过一些黑客工具,将一手信里面有价值的号码(号码里面有QB的,无保护的靓
sql.bsq与数据库的创建(转)
sql.bsq与数据库的创建(转)[@more@] 如果我们使用脚本创建数据库,那么最先运行的是一个叫做CreateDB.sql的脚本。 这个脚本发出CREATE DATABASE的命令,具体类似如下的例子: CODE: CREATE DATABASE eygleMAXINSTANCES 1MAXLOGHISTORY 1MAXLOGFILES 5MAXLOGMEMBERS 3MAXDATAFILES 100DATAFILE '/opt/oracle/oradata/eygle/system01.dbf' SIZE 250M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITEDEXTENT MANAGEMENT LOCALDEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/opt/oracle/oradata/eygle/temp01.dbf' SIZE 40
dbms_job包的应用:在Oracle中实现定时操作(转)
dbms_job包的应用:在Oracle中实现定时操作(转)[@more@]众所周知,一般操作系统会提供定时执行任务的方法,例如:Unix平台上提供了让系统定时执行任务的命令Crontab。但是,对于某些需求,例如:一些对数据库表的操作,最为典型的是证券交易所每日收盘后的结算,它涉及大量的数据库表操作,如果仍然利用操作系统去定时执行,不仅需要大量的编程工作,而且还会出现用户不一致等运行错误,甚至导致程序无法执行。 一、分析问题 事实上,对于以上需求,我们可以利用数据库本身拥有的功能Job Queue(任务队列管理器)去实现。任务队列管理器允许