- 博客(9)
- 资源 (1)
- 收藏
- 关注
转载 linux进程退出后操作系统是如何删除这个进程对应的内核资源
进程退出,大概可以分为三种方式:运行完后正常退出,发生某种异常如访问非法内存,除零等的异常退出,被kill掉而退出的。作为程序的main,它的原型应该是: int main(int argc, char argv[]),虽然以前也能用void main(int argc, char argv[]) ,如在VC6中可以编译通过,但是在新一些的编译器如gcc3.2和g++中,要么是会产生警告,要么
2014-10-25 22:48:16 1437
转载 Unix域套接字
管道由于只能实现具有亲缘进程的进程间通信,使用受到了很大的限制,命名管道解决了这一问题。但是,无论是管道还是命名管道,都只能实现单向通信(在只创建一个管道的情况下)。使用套接字除了可以实现网络间不同主机间的通信外,还可以实现同一主机的不同进程间的通信,且建立的通信是双向的通信。这里所指的使用套接字实现进程间通信,是由将通信域指定为PF_UNIX来实现的。该函数的形式如下:int socke
2014-10-20 12:28:39 506
转载 linux时钟RTC,TSC,PIT,jiffies
1 基本概念定时机制连同一些更可见的内核活动(如检查超时)来驱使进程切换。两种主要的定时测量:保存当前的时间和日期,以便能通过time(), ftime()和gettimeofday()系统调用把它们返回给用户程序。维持定时器,这种机制能够告诉内核或用户程序某一时间间隔已经过去了。定时测量是由基于固定频率振荡器和计数器的几个硬件电路完成的。
2014-10-20 08:50:18 9626
转载 Linux下的函数执行时间的统计方法
如何测试某个函数的执行时间是做实验时经常用到的功能,在此比较Linux下的测试函数,主要是其精确度。我们采用统一的测试标准程序(standard.c): #include #define MAX 1000 /* the loop count */ /* function: do loop operation * input: NULL * output: counte
2014-10-19 14:11:49 394
转载 linux TCP/UDP SOCKET编程
TCP/IP协议叫做传输控制/网际协议,又叫网络通信协议TCP/IP虽然叫传输控制协议(TCP)和网际协议(IP),但是实际上是一组协议,包含ICMP, RIP, TELENET, FTP, SMTP, ARP, TFTP等。从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。 其实自己并没有深入了解过协议,写这篇文章的目的也只是自己做下学习笔记初步
2014-10-18 15:11:05 798
转载 mmap和shm共享内存的区别和联系
共享内存的创建根据理论: 1. 共享内存允许两个或多个进程共享一给定的存储区,因为数据不需要来回复制,所以是最快的一种进程间通信机制。共享内存可以通过mmap()映射普通文件(特殊情况下还可以采用匿名映射)机制实现,也可以通过系统V共享内存机制实现。应用接口和原理很简单,内部机制复杂。为了实现更安全通信,往往还与信号灯等同步机制共同使用。mmap的机制如:就是在磁盘上建立一个文
2014-10-13 09:06:13 5665
转载 dpdk 内存初始化
一 前言http://www.dpdk.org/ dpdk 是 intel 开发的x86芯片上用于高性能网络处理的基础库,业内比较常用的模式是linux-app模式,即利用该基础库,在用户层空间做数据包处理,有了这个基础库,可以方便地在写应用层的网络包处理高性能程序,目前该库已经开源。Main librariesmulticore framework 多核框
2014-10-13 08:49:21 1629
转载 使用信号量和共享内存实现进程间通信
共享内存是运行在同一台机器上的进程间通信最快的方式,因为数据不需要在不同的进程间复制。通常由一个进程创建一块共享内存区,其余进程对这块内存区进行读写。共享内存往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。使用共享存储来实现进程间通信的注意点是对数据存取的同步,必须确保当一个进程去读取数据时,它所想要的数据已经写好了。通常,信号量被要来实现对共享存储数据存取的同步,另外,可
2014-10-11 15:04:39 2846 1
原创 dpdk mbuf
void rte_pktmbuf_init(struct rte_mempool *mp,__attribute__((unused)) void *opaque_arg,void *_m,__attribute__((unused)) unsigned i){struct rte_mbuf *m = _m;uint32_t buf_len = mp->elt_size -
2014-10-05 21:02:48 1525
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人