开源人linux系统运维培训中心

tcp协议栈优化1-增加TCP初始拥塞窗口

看linux3.0 network代码,发现TCP initcwd(初始拥塞窗口)默认已经调为10,同时,TCP rcvwnd初始接收窗口也已调为10。     tcp initcwd初始化函数---函数tcp_init_cwnd(),宏TCP_INIT_CWND   &nb...

       时间 : 2017-11-21| 栏目 : linux编程| 浏览 : 32 次| 暂无评论 标签: [阅读全文]

    Linux 字符设备驱动模块开发

    Linux 字符设备驱动模块开发学习案例,源于互联网,在读懂的基础上,调试运行,输出结果。 [root@nagios linux_kernel]# vim hello.c /*  * ====================================================== ...

         时间 : 2017-09-24| 栏目 : linux编程| 浏览 : 119 次| 评论 : 标签: [阅读全文]

      显示当前进程的UID与EUID

      #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void){  printf("Current process UID : %ld\n",(long)getuid()); &...

           时间 : 2016-10-09| 栏目 : linux编程| 浏览 : 639 次| 评论 : 标签: [阅读全文]

        输出当前进程的进程号和父进程号

        #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void){  printf("Current Process ID :%ld\n",(long)getpid()); &nb...

          不同类型变量在进程的代码段...

          #include <stdio.h> #include <stdlib.h> #include <string.h> extern int etext,edata,end; char *g_pstr="Global string\n"; char g_buffer[2...

            进程各个不同数据段的位置示例

            #include<stdio.h> #include<malloc.h> #include<unistd.h> int bss_var; int data_var0=1; int main(int argc,char **argv) {   printf...

              linux环境GCC编译器使用精讲

              GCC最开始的意思是 GNU C Compiler。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言,它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言等等。因此,GCC 不再单只是 G...

                   时间 : 2016-10-09| 栏目 : linux编程| 浏览 : 890 次| 评论 : 3 标签:, [阅读全文]

                进程与线程的区别精讲

                进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 ...

                     时间 : 2016-08-26| 栏目 : linux编程| 浏览 : 467 次| 暂无评论 标签: [阅读全文]

                  字符数组与字符指针精讲

                  1.字符指针可以指向一个字符串。 我们可以用字符串常量对字符指针进行初始化。例如,有说明语句: char *str = "This is a string."; 是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。 这里要注意字符指针与字符数组之...

                       时间 : 2016-08-17| 栏目 : linux编程| 浏览 : 536 次| 暂无评论 标签: [阅读全文]

                    PHP explode 使用一个字符串分割另一个字符串

                    explode (PHP 4, PHP 5) explode — 使用一个字符串分割另一个字符串 说明 array explode ( string $separator , string $s...

                         时间 : 2016-07-22| 栏目 : linux编程| 浏览 : 496 次| 暂无评论 标签: [阅读全文]

                      3.4. 局部变量与全局变量

                      我们把函数中定义的变量称为局部变量(Local Variable),由于形参相当于函数中定义的变量,所以形参也相当于局部变量。在这里“局部”有两个含义: 1、某个函数中定义的变量不能被另一个函数使用。例如print_time中的hour和minute在 main 函数中没有定义,不能使用,同样 main 函数中的局部变量也不能被 pr...

                           时间 : 2016-05-04| 栏目 : linux编程| 浏览 : 513 次| 暂无评论 标签: [阅读全文]

                        3.3. 形参和实参

                        下面我们定义一个带参数的函数,我们需要在函数定义中指明参数的个数和每个参数的类型,定义参数就像定义变量一样,需要为每个参数指明类型,并起 一个符合标识符命名规则的名字。例如: 例 3.4. 带参数的自定义函数 #include <stdio.h> void print_time(int hour, ...

                             时间 : 2016-05-04| 栏目 : linux编程| 浏览 : 466 次| 暂无评论 标签: [阅读全文]

                          最值得阅读学习的 10 个 C 语言开源项目代码

                          1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力 下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链 ...

                            PHP遍历数组的方法汇总

                            第一、foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法。 ? 1 2 ...

                                 时间 : 2016-04-15| 栏目 : linux编程| 浏览 : 542 次| 暂无评论 标签: [阅读全文]

                              3.2. 自定义函数

                                   目前为止我们都在用现有的系统函数,但我们也可以定义自己的函数来用,事实上我们已经这么做了:我们定义了main这个函数。main函数的特殊之处 在于执行程序时它自动被系统调用,系统就认准了“main”这个名字,除了名字特殊之外,main 函数和别的函数没有区别。通过main函数的定义我们已...

                                   时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 528 次| 暂无评论 标签: [阅读全文]

                                3.1. 数学函数

                                      在数学中我们用过 sin 和 ln 这样的函数,例如 sin(π/2)=1,ln1=0 等等,在C 语言中也可以使用这些函数: 例 3.1. 在 C 语言中使用数学函数 #include <math.h> #include <stdio.h&g...

                                     时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 467 次| 暂无评论 标签:, [阅读全文]

                                  第3 章 简单函数

                                  目录 3.1. 数学函数 3.2. 自定义函数 3.3. 形参和实参 3.4. 局部变量与全局变量...

                                       时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 431 次| 暂无评论 标签: [阅读全文]

                                    2.6. 字符类型与字符编码

                                    字符型常量或变量也可以参与运算,例如: printf("%c\n", 'a'+1); 执行结果是b。 我们在第 1.1 节 “程序和编程语言”讲过,计算机之所以能处理符号,是因为符号在计算机内部也用数字来表示,每个字符在计算机内部都用一个整数来表示,称为字符编码(Character Encoding),目前大部分平台通用的是ASCII...

                                         时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 420 次| 暂无评论 标签: [阅读全文]

                                      2.5. 表达式

                                             常量和变量之间可以做加减乘除运算,例如1+1、hour-1、hour * 60 + minute、minute/60等。这里的+-*/称为运算符(Operator),而参与运算的变量和常量称为操作数(Operand),上面四个由运算符和操作数所组成的算式称为表...

                                           时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 453 次| 暂无评论 标签:, [阅读全文]

                                        2.4. 赋值

                                               定义了变量之后,我们要把值存到它们的存储空间里,可以用赋值(Assignment)语句实现: char firstletter; int hour, minute; firstletter = 'a'; /* give firstletter the v...

                                             时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 594 次| 评论 : 标签:, [阅读全文]

                                          2.3. 变量

                                                变量(Variable)是编程语言中最重要的概念之一,变量是计算机存储器中的一块命名的空间,可以在里面存储一个值(Value),存储的值是可以随时变的,比如这次存个字符'a'下次存个字符'b',正因为变量的值可以随时变所以才叫变量。 常量有不同的类型,因此变量也有不同的类型,变...

                                               时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 463 次| 暂无评论 标签: [阅读全文]

                                            2.2. 常量

                                                  常量(Constant)是程序中最基本的元素,有字符常量(Character Constant)、数字常量和枚举常量。枚举常量以后再介绍,现在我们看看如何 使用字符常量和数字常量: printf("character: %c\ninteger: %d\nfloating po...

                                                 时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 423 次| 暂无评论 标签: [阅读全文]

                                              内核开发人员Jens Axboe专访

                                              ens Axboe has been involved with Linux since 1993. 30 years old, he lives in Copenhagen, Denmark, and works as a Linux Kernel developer for Oracle. His block layer...

                                                   时间 : 2016-04-06| 栏目 : linux编程| 浏览 : 443 次| 暂无评论 标签: [阅读全文]