- 博客(13)
- 收藏
- 关注
原创 KSM:Kernel Same-page Merging
KSM:内核同页合并----允许Linux内核识别出包含相同内容的内存页,然后合并这些内存页,将数据整合在一个位置可以多次引用。如果在主机上使用KVM,通常会激活数个客户操作系统,而且这些操作系统经常运行相同的OS,这意味着大量的内核页面被多次加载。通过应用KSM,许多虚拟机可以使用相同数量的内存启动。事实上,KSM允许虚拟机过度分配内存。但是使用KSM存在性能损失,在一般的环境中,性能损失大
2017-12-11 16:26:40
639
原创 RDMA RC UC UD
RC:面向连接的可靠服务UC:面向连接的不可靠服务UD:面向数据报的不可靠服务面向连接 vs 面向数据报相同点:两者的通信均包括双方QP对的参与不同点:面向连接的通信若有N个节点与之通信,本机需要N个QP对; 面向数据报的通信可以做到N个节点与之通信,本机仅需一个QP队;one-sided RDMA VS two side
2017-12-11 09:58:11
4612
原创 尺取法求解HDU 5672
问题:给定字符串string,求解至少有k种字符的子串数目有多少?解法:前指针j,后指针i,遍历指针i; 当子串的字符种类计数达到k时,可以得到包含该子串的所有子串数(len-i,包括它自身); 递增指针j 若当前子串的字符种类计数仍为k,说明当前子串也是符合题意的,求出
2017-11-26 14:05:22
406
原创 二叉索引树-HDU 1166
问题:http://acm.hdu.edu.cn/showproblem.php?pid=1166解决方案:适合用二叉索引树解决#include #include #include using namespace std;typedef long long LL;const int MAXN=50005;LL cnum[MAXN];int lowbit(int
2017-11-22 10:06:25
284
原创 并查集 入门-HDU 1232
问题:最少还需要建设多少条道路,使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。解决方案:相通的路具有相同的根节点。求出有多少棵树,每棵树看成一个节点,为了使这些节点相通,需要(节点数-1)的边。#include #include using namespace std;const int MAXN=1005;int par
2017-11-22 09:15:38
227
原创 并查集-HDU 5606
问题:边为0的节点可以联合起来,都算是最亲近的点,例如1到2距离为0,2到3距离为0,则3也是1最亲近的点距离为1的两点不属于同一棵树(并查集角度的树)。注意点:边的权重取值为0或者1,而不是从0到1#if 1#include #include using namespace std;const int MAXN=100005;int parent[MAXN]
2017-11-21 22:18:20
274
原创 并查集入门-hdu 1213
#if 1#include #include using namespace std;const int MAXN=1005;int parent[MAXN];int find_set(int x){ //带路径压缩; return parent[x]!=x?parent[x]=find_set(parent[x]):x;}int main(){
2017-11-21 19:11:54
339
原创 内存寻址
内存地址逻辑地址:由一个段选择符和偏移量组成(16位段选择符、32位偏移量)线性地址:也称虚拟地址,32位无符号整数物理地址:用于内存芯片级寻址,32位物理地址或者36位物理地址(启用PAE) 内存控制单元 (MMU)分段单元:将逻辑地址转化为线性地址分页单元:将线性地址转化为物理地址 内存仲裁器(memoryarbiter)功能:控制多CPU以及DMA控制
2017-11-08 15:37:08
271
原创 固定映射的线性地址
内核地址空间内核线性地址空间范围:3GB-4GB (0xc0000000-0xffffffff)内核线性地址空间[3GB,3GB+896MB]-----(线性映射)----------物理地址空间[0,896M]内核线性地址空间[3GB+896MB,4GB]用来实现“非连续内存分配”和“固定映射”固定映射固定映射的线性地址以“任意方式”(与前896MB线性映射方式相比)
2017-11-08 15:26:22
1023
原创 以太网 IP TCP UDP 头部
以太网头部结构1、目的地址/源地址:目的主机或源主机的MAC地址2、类型:0800:IP数据报0806:ARP请求3、数据:不足46字节的数据会被补足到46字节再发送。4、内核数据结构#define ETH_ALEN 6struct ethhdr { unsigned char h_dest[ETH_ALEN]; /* destination et
2017-11-03 15:37:39
3158
原创 getenv setenv putenv unsetenv 使用详解
函数定义:char* getenv (const char* name); 头文件:函数说明:getenv函数用来获取环境变量名为name(函数的参数)的内容(或者称为value值)
2017-11-02 11:51:43
521
原创 vim 安装 使用 教程
vim 三种模式1、一般模式:"vim 文件名”刚进入时的状态2、编辑模式:一般模式下输入“i”进入编辑模式3、命令模式:一般模式下输入‘:’进入命令模式普通按键(一般模式下进行的操作)1、左、下、上、右:h、j、k、l快捷键(一般模式下进行的操作)1、跳转到文件首部:gg2、跳转到文件尾部:G3、跳转到行首:04、跳转到行尾:$5、删
2017-11-02 11:40:29
325
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人