基础常识
文章平均质量分 68
zc08291161
这个作者很懒,什么都没留下…
展开
-
linux标准输出重定向 2>&1
ls phenix phenix1 >out.txt 2>&1这个东西,挺绕的你要知道,实际上就是想把界面的输入重定向到一个文件中一步一步来1、当文件夹下面只有这两个东西时,我们做ls phenix会出现很多回显,就是ls的内容,也称之为标准输出如果我输入 ls phenix1由于没有phenix1这个文件夹,因此回显为,也称之为标准错误输出2、如果我...原创 2020-04-01 10:05:45 · 498 阅读 · 0 评论 -
linux内核使用段页式存储流程
首先,8086一开始是地址总线是20位,而寄存器只有16位,因此采用了两个16位数字错位相加的方式,完成了采用16位寄存器控制20位地址总线的目的,为何地址总线大?因为想要控制更多的内存空间。那么8086是没有保护机制的,那些负责作为基地址的段寄存器,也是可以修改的,那么用户就可以访问到内存地址的任何空间。为了达到能够在地址转换的过程中检查权限,并且把每个段设置固定的长度这个功能,采用16位寄...原创 2020-02-09 12:23:13 · 336 阅读 · 0 评论 -
在虚拟机上开启samba功能实现与主机互通
目的为了在本地编译代码,能够通过beyondcompare实时同步到虚拟机,因此需要将虚拟机的ip实现samba共享,这样就不需要每次将更改的代码拷贝到虚拟机上了遇到的问题及解决方法1、无法安装samba:Package samba is not available, but is referred to by another package原因是ubuntu的/etc/apt/sou...原创 2020-01-16 23:48:04 · 2104 阅读 · 0 评论 -
mmap与fread,fwrite
Mmap基本原理mmap调用在磁盘和用户态进程之间建立了虚拟内存的关系映射,注意,mmap调用之后,并不是在用户态进程内存中已经有了文件的数据,只是建立了映射关系。在进行访问时,发现内存中没有数据,引发缺页中断,去磁盘上获取页面。整个过程跨过了vfs的page cache,假如用户态内存比较紧张,极端场景,比如就剩下4k的内存,那么读取4k的数据,从磁盘上读一个页面到内存,再想读一个页面,就需...原创 2019-11-23 18:01:40 · 732 阅读 · 0 评论 -
io多路复用
select用法代码:初始化并清空fd_set readfds;FD_ZERO(&readfds);阻塞等待文件描述符准备完毕while(1){添加FD_SET(0,&readfds)FD_SET(sockfd,&readfds)if (select(sockfd+1, &readfds,NULL,NULL,NULL)<0){errl...原创 2019-11-23 11:49:07 · 101 阅读 · 0 评论 -
bigtable与GFS
一、 GFS整体介绍1、GFS为何是弱一致性的?2、HDFS的meta文件备机整合是怎么回事?任何分布式系统都要关注:容错性,一致性,负载均衡,垃圾回收二、bigtable与zookeeper,GFS之间的关系2-1关系型数据库与非关系型数据库关系型数据库bigtable 非关系型数据库,全部数据都存在一张大表里面,以牺牲存储容量换取查询效率通过上述的图片我们可以看到,big...原创 2019-11-20 08:57:15 · 1358 阅读 · 0 评论 -
利用redis和zookeeper实现分布式锁
为何需要分布式锁简单来说,就是互斥的行为跨了节点,原来的进程间互斥就不起作用了。比如说,两个节点A和B,都想修改节点C上面的文件,那么这时就需要分布式锁。整体思想无论是利用redis还是利用zookeeper,整体思想都是在真正做这件事情之前,去试图加一下锁,这个行为和单节点的加锁解锁是没有区别的。只不过试图加锁这个行为在分布式的情况下变得不一样了。利用redis实现分布式锁整体思想就...原创 2019-11-17 16:50:48 · 158 阅读 · 0 评论 -
浅谈paxos协议与zookeeper
介绍两篇好博客1、zookeeper全解析–paxos作为灵魂https://blog.csdn.net/YQlakers/article/details/726303532、这个文章介绍paxos协议更为透彻https://www.cnblogs.com/linbingdong/p/6253479.html简单来说,paxos就是为了解决在一个分布式急群众,在几乎没有leader(实际...原创 2019-11-16 15:37:29 · 367 阅读 · 0 评论 -
如何在vs2017上使用pthread.h
使用pthread.h开发多线程自己开发多线程小程序时,发现用不了pthread.h,查阅各种资料,整理如下:1)下载pthread安装包2)这时编译程序会报无法解析的外部命令__imp_set_init,原因是这个函数在库pthreadVC2.lib中,需要将这个库导入工程3)上述库需要下载,下载地址为ftp://sourceware.org/pub/pthreads-win32...原创 2019-01-27 11:34:02 · 20518 阅读 · 3 评论