易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : linux

Linux网络协议栈(一)——Socket入门(1)

1、TCP/IP参考模型
为了实现各种网络的互连,国际标准化组织(ISO)制定了开放式系统互连(OSI)参考模型。尽管OSI的体系结构从理论上讲是比较完整的,但实际上,完全符合OSI各层协议的商用产品却很少进入市场。而使用TCP/IP 协议的产品却大量涌入市场,几乎所有的工作站都配有TCP/IP协议,使得TCP/IP 成为计算机网络的实际的国际标准。
2、套接字(socket)
socket是操作系统的重要组成部分之一,它是网络应用程序的基础。从层次上来说,它位于应用层,是操作系统为应用程序员提供的API,通过它,应用程序可以访问传输层协议。
1、socket 位于传输层协议之上,屏蔽了不同网络协议之间的差异;
2、socket是网络编程的入口,它提供了大量的系统调用,构成了网络程序的主体;
3、在Linux系统中,socket属于文件系统的一部分,网络通信可以被看作是对文件的读取,使得我们对网络的控制和对文件的控制一样方便。
2.1、套接字地址
在传输层上,通信端点可由Internet上3个参数描述:所用的协议、IP地址和端口号。这些内容由sockaddr描述:
//usr/include/sys/socket.h
typedef unsigned short    sa_family_t;
//通用socket地址
struct s ......

基于Linux的Socket网络编程的性能优化

基于Linux的Socket网络编程的性能优化
2009-10-23      嵌入式在线      收藏 | 打印
1 引言
    随着Intenet的日益发展和普及,网络在嵌入式系统中应用非常广泛,越来越多的嵌入式设备采用Linux操作系统。Linux是一个源代码公开的免费操作系统,具有强移植性,所以对基于Linux的Socket网络编程的研究越来越重要。
    Socket实际是网络传输层供给应用层的编程接口。传输层则在网络层的基础上提供进程到进程问的逻辑通道,而应用层的进程则利用传输层向另一台主机的某一进程通信。Socket就是应用层与传输层之间的桥梁。如图2所示。
    使用Socket编程时可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过Internet在全球范围内进行通信。编写并运行 Socket的客户端和服务器端程序,双方通过套接字建立了服务连接请求,并且通过一些方法提高Socket的性能。
3 Socket编程
3.1 Socket类型
    常见的Socket有3种类型:
    (1)流式Socket(SOCK_STREAM)它提供可靠的通信流,使用面向连接的TCP协议,从而保证数据传输的正 ......

Linux Network Tuning Linux网络环境性能优化调整

Linux Network Tuning Linux网络环境性能优化调整
来源:cnbird2008的专栏 作者: 发布时间:2009-06-20 标签:linux linux性能优化 linux配置
 
(以前写的,当时用的RH Linux AS5.)
如下网络配置参数调整,主要是针对请求压力大的Linux (2.6 kernel)服务器而言.
如果服务器压力不大,那么维持默认即可.
 
下述内容取材于"Performance Tuning For Linux Server"一书.
 
$ /proc/sys/net/core/wmem_max
最大socket写buffer,可参考的优化值:873200
 
$ /proc/sys/net/core/rmem_max
最大socket读buffer,可参考的优化值:873200
 
$ /proc/sys/net/ipv4/tcp_wmem
TCP写buffer,可参考的优化值: 8192  436600  873200
 
$ /proc/sys/net/ipv4/tcp_rmem
TCP读buffer,可参考的优化值: 32768  436600  873200
 
$ /proc/sys/net/ipv4/tcp_mem
同样有3个值,意思是:
net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力.
net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段.
net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket.
上述内存单位是页,而不是字节.
可参考的优化值是:786432  1048576 1572864
&n ......

linux 2.6源代码情景分析笔记之内存3

关于e820
   e820是BIOS的(int 0x15)中断关联的。在使用此中断时,ax中必须是e820(ireg.ax=0xe820;)。通过此中断可以得到内存的系统布局。通过do循环,每次得到一段。
/linux32/arch/x86/include/asm/e820.h
宏E820_MAP是struct e820entry数据结构的指针,存放在参数块中位移为0x2d0的地方。
#define E820MAP 0x2d0           /* our map */
#define E820MAX 128             /* number of entries in E820MAP */
#define E820NR  0x1e8           /* # entries in E820MAP */
#define E820_RAM        1
#define E820_RESERVED   2
#define E820_ACPI       3 /* usable as RAM once ACPI tables have been read */
#define E820_NVS        4//此项表明rom eprom flash存储器。
#define E820_UNUSABLE   5
#include <linux/types.h>
s ......

linux 2.6源代码情景分析笔记之内存4

--------------------------------------------------
几个宏:
PGDIR_SHIFT:确定页全局目录项能映射的区域大小的对数。此宏用于计算页全局目录中一个单独表项所能映射区域的大小。PGDIR_MASK用于屏蔽offset table,middle air,upper dir.字段的所有位。
#define PGDIR_SHIFT     22//当物理地址扩展机制(pae)被禁止时,当激活的时候,此时就为30位(12位偏移,9位表,9位中间目录)
#define PGDIR_SIZE      (1UL << PGDIR_SHIFT)//此时为2的22次方,4MB.当激活的时候,就是2的30次方,1GB.
#define PGDIR_MASK      (~(PGDIR_SIZE-1))//0xffc00000
PUD_SHIFT:确定页上级目录项能映射的区域大小的对数。此宏用于计算全局目录中的一个单独表项所能映射的区域大小。PUD_MASK用于屏蔽offset字段,table字段,中间层字段,upper dir字段的所有位。
#define PUD_SHIFT       PGDIR_SHIFT
#define PUD_SIZE        (1UL << PUD_SHIFT)
#define PUD_MASK  ......

Linux走在预装的大道上






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
        在本文中,
Linux

GNU/Linux
桌面系统的泛称,其典型代表是
Ubuntu
9.10
发行版。计算机预装
Linux
是人们多年来的梦想。如今,这个梦想终于实现了。此话当真?
 
     Ubuntu
9.10
中的各类程序
bugs
,目前还有
7

6
千个左右,呈现波浪式下降趋势。根据明显的道理,如果局限在某一特定款式的计算机硬件体系上,这种
bugs
总数将急剧下降。
Dell
公司内部有一支力量强大的测试团队,扫除程序
bugs
,实现完美预装,专门对付这种局面。近日,
Dell
推出
mini
10

mini
10v
两种新款式的上网本,预装
Ubuntu
9.10

Dell
修订版)桌面系统,被业内专家(如:
Steven
J. Vaughan-Nichols
)称为上网本之精品(见
Dell
官方网站)。
 
      Dell
的这两款新机型,采用
Intel
最新的低功耗
Pine
Trail
芯片组(
Atom
N450

1.66GHz
),可连续运行
10
小时(
6-Cell
电池),
11.1
英寸显示屏,
1GB ......
总记录数:5772; 总页数:962; 每页6 条; 首页 上一页 [665] [666] [667] [668] 669 [670] [671] [672] [673] [674]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号