- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 排序分析 及使用情况
选择排序void SelectSort(Typename a[]){ int N=a.length; for(int i=0;i<N;i++) { int min =i; for(j=i+1;j<N;j++) { if(less(a[j],a[min]))
2015-07-29 18:18:36 489
原创 Linux SMP负载均衡
// 参考:http://blog.csdn.net/dog250/article/details/5303561// 负载均衡// 当rq->next_balance到时,触发负载均衡 // 调用路径:scheduler_tick->trigger_load_balance// 注:// nohz.cpu_mask中的cpu表示停用了周期时钟// 函数任务:// 1.如果进入
2015-07-01 10:01:48 798
转载 effective c++读书笔记
文章转自:http://blog.csdn.net/shenzi/article/details/5601038一.让自己习惯C++ 条款01:视C++为一个语言联邦 为了更好的理解C++,我们将C++分解为四个主要次语言:C。说到底C++仍是以C为基础。区块,语句,预处理器,内置数据类型,数组,指针统统来自C。Object-Oreinted C++。
2015-06-30 11:02:59 391
原创 C++虚函数绑定的编译器实现
编译器为每个包含了虚函数的类创建一个表(vtable),在表中编译器放置特定类的虚函数地址,在每个带有虚函数的类中,编译器为每个类对象秘密的放置一个vpionter指针 ,指针指向vtalbe。通过基类的指针或者引用做虚函数调用时,编译器静态的插入取得vptr,并在vtable中找函数地址的代码,这样就能调用正确的函数使晚绑定发生。在子类继承时,也会继承基类的vtable,当子类中重写父类中的虚函
2015-06-30 10:08:54 1373
原创 进程和线程的区别
进程担当分配系统资源的基本单位线程是一个执行流,是cpu调度和分派的基本单位,是比进程能独立运行的更小的单位一个进程有几个线程组成,线程共享进程的地址空间,线程有自己的堆栈,但线程没有自己的地址空间,线程彼此使用相同的地址空间 共享大部分数据 启动花费少 而且便于线程间通信进程开销大 进程的切换从函数调用来看 进程是用fork 线程使用的是clone
2015-06-30 10:05:02 397
原创 同步 互斥锁 读写锁 区别
相交进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的 某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。 显然,同步是一种更为复杂的互斥,而互斥是一种
2015-06-30 09:50:14 9915 1
转载 Linux信号处理机制
1 信号本质软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因
2015-06-07 12:30:24 522
转载 Linux系统结构 详解
Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。 1. linux内核 内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程
2015-06-07 12:27:33 501
原创 文件共享
内核记录打开文件的所有信息,而应用程序只需记住描述符内核用三种数据结构来表示打开的文件:描述符表 --每个进程有自己独立的描述附表,他的表项是由进程打开的文件描述符来索引的,打开的文件描述符指向文件表的一个表项文件表--打开文件的集合用一张文件表表示,所有进程共享,文件表项包括当前文件位置,引用计数即指向当前文件表项的引用计数v-node表--所有进程共享,每个表项包含stat结
2015-06-03 22:23:34 332
原创 strchr strrchr strstr
函数名称: strrchr函数原型:char *strrchr(const char *str, char c);所属库: string.h函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。cha
2015-06-03 17:20:23 595
原创 webbench 源码解析
webbench作为一个简单的网站压力测试工具,小巧简单,其源码仅仅600行左右,是一个学习linux下C编程的好例子。解压后的webbench由下面几个文件组成:2个C源文件,一个是socket.c 另一个是webbench.csocket.c内部仅包含一个Socket函数,如下:int Socket(const char *host, int c
2015-06-03 14:56:13 745
原创 webbench源码学习
解读getopt_long()static const struct option long_options[]={ {"force",no_argument,&force,1}, {"reload",no_argument,&force_reload,1}, {"time",required_argument,NULL,'t'}, {"help",no_argument,
2015-06-03 11:22:42 403
原创 get和getline函数差别
//get(char*array,int count,char delim)与getline(char*array,int count,char delim)的不同点://1.当输入的字符数小于count时遇到字符delim,get函数不会读取delim这个字符,而getline函数将读取这个字符但是不存进array当中去,而是将其丢弃,当然,两者都会在读取的字符串后面自动加上'\0'(t
2015-05-27 19:49:44 790
原创 perf_event_open 设置性能监视
#include linux/perf_event.h>#include int perf_event_open(struct perf_event_attr *attr,pid_t pid, int cpu, int group_fd, unsigned long flags);功能:给定一个参数列表,perf_event_open()返回一
2015-05-14 14:34:46 6511
实验指导_NS2部分_更新安装方法
2013-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人