linux编程
unity大话东游
一枚热爱游戏的程序猿,分享unity游戏开发哦~
展开
-
pause()与sigsuspend()的用法
一.pause函数:功能:让进程暂停直到信号出现#includeintpause();函数说明:pause()会令目前的进程暂停(进入睡眠状态),直至信号(signal)所中断。返回值:只返回-1例子:#include#include void deal(){ printf(“信号干扰!\n”);转载 2015-03-19 15:17:56 · 1561 阅读 · 0 评论 -
fcntl F_SETFL F_GETFL
http://blog.sina.com.cn/s/blog_71bbf6e001017lpy.html1、获取文件的flags,即open函数的第二个参数: flags = fcntl(fd,F_GETFL,0);2、设置文件的flags: fcntl(fd,F_SETFL,flags);3、增加文件的某个flags,比如文件是阻转载 2015-03-13 18:11:05 · 1100 阅读 · 0 评论 -
pthread_attr_t 线程属性
http://blog.chinaunix.net/uid-23193900-id-3346288.html1. 线程属性: 使用pthread_attr_t类型表示,我们需要对此结构体进行初始化, 初始化后使用,使用后还要进行去除初始化! pthrea转载 2015-03-13 18:17:55 · 293 阅读 · 0 评论 -
pthread_barrier_init,pthread_barrier_wait简介
http://blog.csdn.net/qq405180763/article/details/23919191pthread_barrier 系列函数在中定义,用于多线程的同步,它包含三个函数: --pthread_barrier_init() --pthread_barrier_wait() --pthread_barri转载 2015-03-13 18:17:09 · 442 阅读 · 0 评论 -
pthread_create()
http://blog.csdn.net/youbang321/article/details/7815707pthread_create函数 原型:int pthread_create((pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)转载 2015-03-13 18:18:29 · 452 阅读 · 0 评论 -
select、poll、epoll之间的区别总结[整理]
http://www.cnblogs.com/Anker/p/3265058.htmlselect,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这转载 2015-03-16 20:57:33 · 268 阅读 · 0 评论 -
linux内核空间和用户空间详解
linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G。Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为“内核空间”。而将较低的3G转载 2015-04-22 15:21:15 · 411 阅读 · 0 评论 -
段页式存储结构概述
转自:http://blog.sina.com.cn/s/blog_5f240fc40100cng9.html段、页式存储都是采用离散分配方式的。离散分配方式:允许一个进程直接分散地装入到许多不相临的分区中,可以更好的提高内存利用率。一、基本分页存储1.分页存储方式原则把逻辑进程分为若干页;把实际内存分为若干块,块大小=页大小,然后把页离散的存放在块中,通过页表进行页到块的转载 2015-04-22 15:29:50 · 2353 阅读 · 0 评论 -
查看linux源码的网址
1.查看linux源码的网址:http://lxr.free-electrons.com/source/原创 2015-04-22 14:42:53 · 420 阅读 · 0 评论 -
epoll介绍
一部分:epoll简介epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的 select 和 poll 系统调用完成操作所需 O(n) 不同, epoll能在O(1转载 2015-03-11 19:46:35 · 307 阅读 · 0 评论 -
sem_wait sem_post信号量
一。http://blog.csdn.net/rheostat/article/details/8593273名字sem_wait, sem_timedwait, sem_trywait - 锁定一个信号量概要#include int sem_wait(sem_t *sem);int sem_trywait(sem_t *sem);int sem_timedwait转载 2015-03-26 19:40:44 · 1794 阅读 · 0 评论 -
I/O模型详解
三、各种I/O模型详解通过上面的对连接的处理分析,我们知道工作在用户空间的web服务器进程是无法直接操作IO的,需要通过系统调用进行,其关系如下: 即进程向内核进行系统调用申请IO,内核将资源从IO调度到内核的buffer中(wait阶段),内核还需将数据从内核buffer中复制(copy阶段)到web服务器进程所在的用户空间,才算完成一次IO调度。这几个阶段都是需要时间的。根据wai转载 2015-05-15 18:24:17 · 2243 阅读 · 0 评论 -
Linux内存管理之mmap详解
Linux内存管理之mmap详解另外,关于详细例子,可以参考:http://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index1.html#main一. mmap系统调用1. mmap系统调用 mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所转载 2015-05-15 19:18:10 · 332 阅读 · 0 评论 -
pipe()函数的使用
http://jesserei.blog.163.com/blog/static/1214116892010329115649264/pipe(建立管道)表头文件 #include定义函数 int pipe(int filedes[2]);函数说明 pipe()会建立管道,并将文件描述词由参数 filedes 数组返回。 fi转载 2015-03-13 18:10:27 · 1672 阅读 · 0 评论 -
多线程下变量-原子操作 __sync_fetch_and_add等等
http://blog.csdn.net/i_am_jojo/article/details/7591743最近编码需要实现多线程环境下的计数器操作,统计相关事件的次数。下面是一些学习心得和体会。不敢妄称原创,基本是学习笔记。遇到相关的引用,我会致谢。 当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的: 1 从缓存取到寄存器转载 2015-03-13 18:07:53 · 314 阅读 · 0 评论 -
Linux线程-pthread_kill
http://blog.csdn.net/zmxiangde_88/article/details/7998052 该函数可以用于向指定的线程发送信号: int pthread_kill(pthread_t threadId,int signal); 如果线程内不对信号进行处理,则调用默认的处理程式,如SIGQUIT会退出终止线程,SIGKILL会杀死线程等等,可转载 2015-03-16 20:50:12 · 723 阅读 · 0 评论 -
UNIX SIGTERM等信号意义
http://s99f.blog.163.com/blog/static/35118365201122861827837/SIGHUP 终止进程 终端线路挂断SIGINT 终止进程 中断进程SIGQUIT 建立CORE文件终止进程,并且生成core文件SIGILL 建立CORE文件 非法指令SIGTRAP 建立CORE转载 2015-03-16 20:49:46 · 325 阅读 · 0 评论 -
POSIX的pthread_join
http://blog.csdn.net/ba_jie/article/details/6783205函数pthread_join用来等待一个线程的结束。函数原型为: extern int pthread_join __P ((pthread_t __th, void **__thread_return)); 第一个参数为被等待的线程标识符,第二个参数为一个用户定义的指针,它可以用转载 2015-03-16 20:51:36 · 417 阅读 · 0 评论 -
setsockopt()用法(参数详细说明)
选项名称 说明 数据类型======================================================================== SOL_SOCKET----------------------------------------------------------------转载 2015-03-16 20:53:42 · 373 阅读 · 0 评论 -
使用Openssl的AES加密算法
http://blog.gpjtag.com/?p=18在网络应用的信息安全是基于密码学的,所以如果想做安全方面的邻域需要有一定的密码学基础。当然最好的学习方法就是边看书边尝试。我的学习过程有三个阶段:看书、通过使用一些软件了解基本的流程。深入算法,自己实现部分加密算法。了解常用的库的用法。有人说“不要重复造轮子,有现成的要拿来用。”我赞同,但是转载 2015-03-16 21:04:14 · 2109 阅读 · 0 评论 -
pthread_cond_wait()用法分析
一。http://blog.csdn.net/hairetz/article/details/4535920很久没看APUE,今天一位朋友问道关于一个mutex的问题,又翻到了以前讨论过的东西,为了不让自己忘记,把曾经的东西总结一下。先大体看下网上很多地方都有的关于pthread_cond_wait()的说明: 条件变量 条件变量是利用线程间转载 2015-03-26 18:39:21 · 488 阅读 · 0 评论 -
Memcached 缓存系统的基础知识
摘了三篇:一。memcached 是什么?memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating d转载 2015-03-26 19:47:44 · 557 阅读 · 0 评论 -
线程和 进程间的通信问题
http://www.cnblogs.com/lidabo/archive/2012/08/24/2654159.html一个很好的编程随想的博客http://program-think.blogspot.com/2009/03/producer-consumer-pattern-0-overview.html架构设计:生产者/消费者模式[0]:概述 1、如何确定数据单转载 2015-03-26 19:26:57 · 2290 阅读 · 0 评论 -
ACE反应器框架简介
1.ACE反应器框架简介反应器(Reactor):用于事件多路分离和分派的体系结构模式对一个文件描述符指定的文件或设备的操作, 有两种工作方式: 阻塞与非阻塞。 在设计服务端程序时,如果采用阻塞模式将会影响整个系统的工作效率,改进方法有如下几个: 1)每建立一个Socket连接时,同时创建一个新线程对该Socket进行单独通信(采用阻塞的方式通信)。这种方式具有很高的响应转载 2015-03-26 19:34:28 · 742 阅读 · 0 评论 -
RSA算法原理及其Openssl库函数
原理见:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.htmlhttp://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.htmlOpenssl库函数:http://blog.chinaunix.net/uid-23069658-id-428转载 2015-03-16 21:05:45 · 1622 阅读 · 0 评论 -
APUE的API
一。1.单核CPU上多线程还有意义么?还能提高性能么?答:单核CPU是按CPU时隙分配运行资源的,这样想来,貌似多进程和多线程是一样的,多线程好像没什么意义?这个问题得考虑程序是CPU密集还是IO密集:如果是CPU密集型,因为多线程下还得维护同步等开销,性能可能反而下降;如果是IO操作比较频繁,多线程可以减少阻塞、节省内存等资源,可以提高性能。epoll等异步是不是用于单进程?多核处理器上原创 2015-03-26 21:22:25 · 374 阅读 · 0 评论 -
Linux glibc 的 mallopt 海量小内存回收问题
一.http://blog.sina.com.cn/s/blog_4673e6030101haxg.html最近使用ACE的Message_Block时发现,程序运行一段时间之后内存越吃越多,即便没有请求,内存也不会下降。在使用 valgrind 排除内存泄漏之后,把怀疑的对象转到了Message_Block上。用ACE的测试用例改了一个测试程序:#include转载 2015-03-13 18:04:30 · 6177 阅读 · 0 评论 -
进程与线程的区别
线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行.进程和线程都是由操作系统所体会的程序运行的基本单元,系转载 2015-10-17 07:18:57 · 24528 阅读 · 0 评论