linux学习
qq_37058442
这个作者很懒,什么都没留下…
展开
-
进程间通信2命名管道
命名管道 1、与管道的区别:提供了一个路径名与之关联,以FIFO文件的形式存储于文件系统中,能够实现任何两个进程之间通信。而匿名管道对于文件系统是不可见的,它仅限于在父子进程之间的通信。 2、FIFO是一个设备文件,在文件系统中以文件名的形式存在,因此即使进程与创建FIFO的进程不存在血缘关系也依然可以通信,前提是可以访问该路径。 3、FIFO(first input first o原创 2018-01-31 09:47:33 · 158 阅读 · 0 评论 -
mysql学习
mysql事务:MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!我自己的理解的就是需要进行一系列有关系的sql语句操作这样就是一个事务。原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某...转载 2018-07-13 23:28:57 · 1124 阅读 · 0 评论 -
非阻塞的connect
Linux 怎样实现非阻塞connect 转载http://blog.csdn.net/to_be_better/article/details/53069583 前言 凡是接触过socket编程的,对connect函数一定不陌生。因为socket是面向连接的,所以在进行读写操作前我们首先要进行连接,而所谓连接也就是我们常说的三次握手,这个过程就是在connect函数中完成的。 虽然c...转载 2018-03-04 14:03:15 · 265 阅读 · 0 评论 -
TCP 总结
主要对于超时重传 慢启动 快速恢复,快速重传进行整理 超时重传: tcp维护了一个定时器在规定时间内没有收到对自己发出报文的确认报文,会进行重传 具体过程: 超时重传一般重传5次对应的间隔时间为0.2,0..4,0.8,1.6.3.2s每次重传都是前面的2倍,若5次都失败,交给底层的IP和arp进行接管,知道telnet放弃这个链接 超时重传的传参数主要是由 /pr...原创 2018-03-03 14:36:37 · 226 阅读 · 0 评论 -
gdb调试(线程和正在运行中的程序)
用了好久的gdb 但对于多线程的调试自己还时存在一些问题,因此这次花点时间整理整理。 所有的gdb调试文章 gdb是有一组命令辅助多线程调试的。 info threads 显示可调试的所有线程,gdb 会给每个线程分配一个ID 我们可以是使用这个ID来操作对应的线程。调试目标线程 thread ID 调试指定ID的线程*代表被调试的 线程 set scheduler-locking 调...原创 2018-03-03 11:57:38 · 4395 阅读 · 0 评论 -
腾讯面经
第一次身边同学腾讯的面经,和我大致方向一样所以这次花大量时间对于所学到的内容进行分析。3.9号我在洗澡的时候,一个广东深圳的小哥哥打电话给我。。我当时说我在洗澡他就问我约个时间,可以是现在每天或者下周都可以。我就说明天吧。3.10号早上10点30他打电话给我了。。有点紧张。1. 自我介绍介绍完了就从我简历第一条一直往下问2. 说一下c/c++源文件如何从代码变成可执行程序的(程序的编译链接)具体参...原创 2018-03-10 16:59:51 · 747 阅读 · 0 评论 -
http协议整理如下
首先请看一些问题整理如下 HTTP 和 TCP 有什么关系 TCP 的三次握手过程 TCP 的四次挥手过程(附加) TCP 和 UDP 的区别 TCP 包为什么需要 Seq 包为什么会乱序 说说 HTTP 协议 HTTP 1.0 和 HTTP 1.1 的差别 HTTP 头部有 哪些字段 为什么 HTTP 是无连接的 有没有保持长连接的 HTTP 我们先一下http协议 http...原创 2018-03-01 23:30:30 · 449 阅读 · 0 评论 -
accpet惊群和epoll惊群现象
http://www.citi.umich.edu/projects/linux-scalability/reports/accept.html accpet惊群现象的解决(独占) https://github.com/torvalds/linux/commit/df0108c5da561c66c333bb46bfe3c1fc65905898 epoll惊群现象的解决主要参考上面的两篇文章在做负...原创 2018-03-01 17:41:49 · 880 阅读 · 1 评论 -
read函数的底层调用。
很久之前对于虚拟文件部分的一些内容进行了整理。对于read的底层过程只是描述了一个大概,这次主要是对于每一部分的东向西进行详细的描述。go go go(方便对于面试时候的整理)。参考 https://www.cnblogs.com/wangzahngjun/p/5553793.html虚拟文件部分的整理参考原来博客的一片文章。具体的我就从open系统调用开始并且详细描述read的过程。open系统...原创 2018-03-14 19:56:49 · 3326 阅读 · 0 评论 -
TIME_WAIT 解决SO_REUSERADDR
1. 可以对一个端口进行多次绑定,一般这个是不支持使用的; 2. 对于监听套接字,比较特殊。如果你定义了SO_REUSEADDR,并且让两个套接字在同一个端口上进行接听,那么对于由谁来ACCEPT,就会出现歧 义。如果你定义个SO_REUSEADDR,只定义一个套接字在一个端口上进行监听,如果服务器出现意外而导致没有将这个端口释放,那么服务器重新启动 后,你还可以用这个端口,因为你...原创 2018-02-28 14:09:52 · 649 阅读 · 0 评论 -
close_wait
close_wait 参考这篇文章https://huoding.com/2016/01/19/488首先我们先看一张图close_wait的状态发生在那一步close wait发生被动关闭的一方被动的一方接受到了FIN报文回复完ack的进入到close_wait而主动方在发送玩FIN后进入 fin_wait 1 接受到对端发送的ack确认报文后进入fin_wait2 当对方发送了fin报文后进入...原创 2018-02-28 13:51:13 · 414 阅读 · 0 评论 -
Linux 内存管理。
首先我先说明最近才真的用心整理和查看linux内存管理方面知识,之所以写这篇博客只是为了整理。 fightting 参考书籍 Linux 内核源代码情景分析 深入理解Linux虚拟内存管理 首先还是上一些关于虚拟内存要问的一些问题吧。 什么是线性地址,逻辑地址,虚拟地址,物理地址 cpu总线发出的地址是什么地址,需要什么过程才能转换为物理地...原创 2018-03-06 21:25:31 · 450 阅读 · 0 评论 -
线程和进程继承
1.线程和进程的关系线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息(如程序计数器、一组寄存器和栈)。2、线程和进程间的比较 子进程继承父进程的属性:子线程继承主线程的属性:实际用户ID,实际组ID...转载 2018-02-26 16:48:40 · 902 阅读 · 0 评论 -
select 和poll的剖析
好久没剖析过网络知识了。所以这次好好的整理一下这个东西。 具体如何下整理 这是文件结构体,每个打开的文件的fd都会对应一个这样的结构体,主要是看f_op 这个主要是对文件进行操作方法的结构体 struct file { const struct file_operations *f_op; spinlock_t f_lock;原创 2018-01-23 17:57:08 · 245 阅读 · 0 评论 -
linux虚拟文件系统认知
可能小点有错误的理解。但是大体应该没问题。 参考博客很多主要进行总结。 为什么要使用虚拟文件系统? Linux系统中存在很多的文件系统,例如常见的ext2,ext3,ext4,sysfs,rootfs,proc...很多很多。。。我们知道每个文件系统是独立的,有自己的组织方法,操作方法。那么对于用户来说,不可能所有的文件系统都了解,那么怎么做到让用户透明的去处理文件呢?例如:我想写文原创 2018-01-25 15:01:54 · 261 阅读 · 0 评论 -
负载均衡
转载:https://www.cnblogs.com/kevingrace/p/6137881.html 在常规运维工作中,经常会运用到负载均衡服务。负载均衡分为四层负载和七层负载,那么这两者之间有什么不同? 废话不多说,详解如下: 一,什么是负载均衡 1)负载均衡(Load Balance)建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐转载 2018-02-01 20:27:52 · 798 阅读 · 0 评论 -
匿名管道(进程间通信1)
前提:原来也写过匿名管道的代码但是总觉得没有了解过底层,只是知道 管道是一个文件它存在与内存上,一般父子进程之间使用但是并没有研究过底层。所以这次参考linux内核情景分析这本书进行整理。(因为对linux虚拟文件系统的了解因此这次对于匿名管道也有多帮助毕竟他也是个文件哈哈哈哈哈开始吧) 它的系统调用是pipe();因为这是是在一个进程中调用的所以你懂得 必须要在有关系的进程间使用比如父子,或这原创 2018-01-29 16:44:19 · 225 阅读 · 0 评论 -
信号(进程间通信3)
信号(软中断)中断机制的模拟 (还有一种) 信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。信号机制除了基本通知功能外,还可以传递附加信息。信号的中断类似于系统调用的中断,所以所有信号的中断标志都是一样的,...原创 2018-01-31 12:52:20 · 229 阅读 · 0 评论 -
docker-ce 安装
安装docker-ce-18.03.0.ce-1.el7.centos step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 Step 2: 添加软件源信息 sudo yum-config-manager –add-repo http://mirrors.aliyun...原创 2018-08-09 12:23:04 · 468 阅读 · 0 评论