本节内容 引子 到目前为止,我们已经学了网络并发编程的2个套路, 多进程,多线程,这哥俩的优势和劣势都非常的明显,我们一起来回顾下 协程 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上 ...
分类:
编程语言 时间:
2016-12-18 10:13:47
阅读次数:
263
虚拟化是云计算的一种具体实现方式,KVM是红帽内核集成的虚拟化技术。在用户态使用qemu来实现网卡、硬盘等设备的虚拟化.KVM是内核级别的虚拟机,需要CPU硬件的支持虚拟化。查看CPU是否支持虚拟化:grep-E‘(vmx|svm)‘/proc/cpuinfo如果有vmx或者svm的标示,就表示CPU支持虚拟化..
分类:
其他好文 时间:
2016-12-17 23:23:39
阅读次数:
408
OpenStack虚拟化网络实现中大量应用了多种虚拟网络设备,了解这些设备是理解OpenStack虚拟网络实现的基础,本文来简单介绍这些虚拟网络设备。 TUN/TAP设备 TUN/TAP设备是linux内核中实现的虚拟网卡。物理网卡是从物理线路上收发数据包,而TUN/TAP设备是从用户态应用程序上收 ...
分类:
其他好文 时间:
2016-12-12 19:40:57
阅读次数:
660
1、前言 记得刚开始工作的时,老大将我安排到数据面组,当时第一次听说”数据面“这个概念,感觉挺新鲜的。误打误撞就开始搞了,刚开始接触的时候,由于不懂其中的原理,觉得很神奇,因为报文的转发是在应用层,通过一个进程进行转发。而传统的报文转发是基于内核的,要想控制报文,需要写驱动程序。后面接触了一段时间, ...
分类:
其他好文 时间:
2016-12-10 19:32:08
阅读次数:
205
本文首先使用了接口pthread_create创建一个线程,并用strace命令追踪了接口pthread_create创建线程的步骤以及涉及到的系统调用,然后讨论了Linux中线程与进程关系,最后概述了为了实现POSIX线程,Linux内核所做的修改。 一、使用pthread_create创建线程 ...
分类:
系统相关 时间:
2016-12-08 11:37:01
阅读次数:
525
进程监控命令 top 先来个截图 第一行:运行到23:21:41 共运行了30天16小时43分钟,当前1个用户,1分钟,5分钟,15分钟的平均负载分别为1.08,1.39,1.10.(超过5就高了) 第二行:共有24个进程,1个正在运行,23个休息,没有停止的,也没有僵尸进程。 第三行:用户态进程占 ...
分类:
系统相关 时间:
2016-12-07 01:48:34
阅读次数:
180
http://www.cnblogs.com/hoys/archive/2012/08/19/2646377.html #include <signal.h> typedef void (*sighandler_t)(int);sighandler_t signal(int signum, sigh ...
#include <pthread.h> pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;int pthread_mutex_init (pthread_mutex_t *mutex , pthread_mutexattr_t * attr );i ...
参考文档:http://blog.csdn.net/evsqiezi/article/details/8061176头文件:#include<semaphore.h> int sem_init __P ((sem_t *__sem, int __pshared, unsigned int __val ...
int pthread_create((pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)若线程创建成功,则返回0。若线程创建失败,则返回出错编号,并且*thread中的内容是未定义的 ...