随笔分类 -  Linux

摘要:1.什么是静态库 静态库类似windows中的静态lib 关于windows中的静态lib,可参考 Windows动态链接库DLL 特点:包含函数代码声明和实现,链接后所有代码都嵌入到宿主程序中。 只在编译时使用,执行时不再需要该静态库。 2.静态库编写示例如下:addvec.c void addv 阅读全文
posted @ 2017-05-04 11:56 立超的专栏 阅读(1246) 评论(0) 推荐(0)
摘要:参考:http://www.cnblogs.com/wenqiang/p/6049978.html 最近的工作中对性能的要求比较高,下面简单做一下总结: 一、什么是cpu亲和性(affinity) CPU的亲和性, 就是进程要在指定的 CPU 上尽量长时间地运行而不被迁移到其他处理器,也称为CPU关 阅读全文
posted @ 2017-05-03 14:15 立超的专栏 阅读(1809) 评论(1) 推荐(0)
摘要:编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会。 下面我们对编号小于SIGRTMIN的信号进行讨论。 1~15号信号为常用信号 阅读全文
posted @ 2017-03-27 10:41 立超的专栏 阅读(675) 评论(0) 推荐(1)
摘要:参考:http://blog.csdn.net/starstar1992/article/details/52756387 linux下错误的捕获:errno和strerror的使用 经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的 阅读全文
posted @ 2017-03-13 16:02 立超的专栏 阅读(771) 评论(0) 推荐(0)
摘要:1)守护进程可以直接在程序起始部分通过调用unistd中的daemon来将本进程设置为守护进程 2)可以用ps -axj | grep xx查看自己的守护进程启动情况 3)用kill可以杀死自己启动的守护进程 除上述直接调用,也可以自己编写自己想要的守护进程,下面是一个example,注意其中的fo 阅读全文
posted @ 2017-03-09 15:16 立超的专栏 阅读(591) 评论(0) 推荐(0)
摘要:pthread_cond_wait总和一个互斥锁结合使用。在调用pthread_cond_wait前要先获取锁。pthread_cond_wait函数执行时先自动释放指定的锁,然后等待条件变量的变化。在函数调用返回之前,自动将指定的互斥量重新锁住。 int pthread_cond_signal(p 阅读全文
posted @ 2017-03-06 16:32 立超的专栏 阅读(606) 评论(0) 推荐(0)
摘要:time()提供了秒级的精确度 1、头文件 <time.h> 2、函数原型 time_t time(time_t * timer) 函数返回从TC1970-1-1 0:0:0开始到现在的秒数 用time()函数结合其他函数(如:localtime、gmtime、asctime、ctime)可以获得当 阅读全文
posted @ 2017-03-06 11:06 立超的专栏 阅读(5030) 评论(0) 推荐(0)
摘要:dup/dup2函数 有时我们希望把标准输入重定向到一个文件,或者把标准输出重定向到一个网络连接。 dup()与dup2()能对输入文件描述符进行重定向。 函数原型如下: dup函数创建一个新的文件描述符,该新文件描述符和原有文件描述符oldfd指向相同的文件、管道或者网络连接。并且dup返回的文件 阅读全文
posted @ 2017-02-27 10:39 立超的专栏 阅读(729) 评论(0) 推荐(0)
摘要:参考:http://blog.csdn.net/cywosp/article/details/38965239 1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建 阅读全文
posted @ 2017-02-27 09:29 立超的专栏 阅读(1218) 评论(0) 推荐(0)
摘要:通用寄存器 EAX 累加(Accumulator)寄存器 AX(AH、AL) 常用于乘、除法和函数返回值 EBX 基址(Base)寄存器 BX(BH、BL) 常做内存数据的指针, 或者说常以它为基址来访问内存. ECX 计数器(Counter)寄存器 CX(CH、CL) 常做字符串和循环操作中的计数 阅读全文
posted @ 2017-02-23 20:39 立超的专栏 阅读(1955) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/kyokowl/article/details/6294341 POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型 阅读全文
posted @ 2017-02-23 11:21 立超的专栏 阅读(4779) 评论(0) 推荐(0)
摘要:参考:http://blog.csdn.net/caianye/article/details/7576198 如今几乎每个人都听说过Linux中所谓的"零拷贝"特性,然而我经常碰到没有充分理解这个问题的人们。因此,我决定写一些文章略微深入的讲述这个问题,希望能将这个有用的特性解释清楚。在本文中,将 阅读全文
posted @ 2017-02-17 21:25 立超的专栏 阅读(4527) 评论(2) 推荐(1)
摘要:摘要:Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。用户空间的内存映射采用段页式,而内核空间有自己的规则;本文旨在探讨内核空间的 阅读全文
posted @ 2016-09-05 10:38 立超的专栏 阅读(22238) 评论(0) 推荐(0)
摘要:线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 非共享的包括:线程ID,寄存器组的值,线程的堆栈,错误返回码, 线程的信号屏蔽码, 线程的优先级 阅读全文
posted @ 2016-08-10 16:00 立超的专栏 阅读(1606) 评论(0) 推荐(0)
摘要:函数库调用 阅读全文
posted @ 2016-08-10 15:56 立超的专栏 阅读(3430) 评论(0) 推荐(0)
摘要:所有的并发处理都有排队等候,唤醒,执行至少三个这样的步骤.所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞 (一般是通过时间片轮转),所以在宏观上看多个几乎同时到达的请求同时在被处理。如果是同一时刻到达的请求也会根据优先级的不同,而先后进入队列排队等候 执行。 并 阅读全文
posted @ 2016-08-09 19:02 立超的专栏 阅读(469) 评论(0) 推荐(0)
摘要:缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量。溢出的数据覆盖在合法数据上。理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串。但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患。 操作系统所使用的缓冲区又被称为堆栈,在各个 阅读全文
posted @ 2016-08-09 18:57 立超的专栏 阅读(7602) 评论(0) 推荐(0)
摘要:数据是分开的;同步简单; 共享复杂,需要用IPC 占用内存多,切换复杂; CPU利用率低 占用内存少,切换简单; CPU利用率高 适应与多核、多机分布; 如果一台机器不够,扩展到多台机器容易; 创建销毁复杂;切换复杂;速度慢 阅读全文
posted @ 2016-08-09 17:05 立超的专栏 阅读(277) 评论(0) 推荐(0)
摘要:C++程序内存布局: 代码区(code area) 程序内存空间 全局数据区(data area) 堆区(heap area) 栈区(stack area) 一个由C/C++编译的程序占用的内存分为以下几个部分, 1)全局区(静态区)(static)存放全局变量、静态数据,const常量。程序结束后 阅读全文
posted @ 2016-08-09 10:36 立超的专栏 阅读(2737) 评论(0) 推荐(1)