2021年9月8日

go-zookeeper

摘要: connect是客户端向zk服务器发起链接函数;client向zk zerver发起链接时分为两步:1.tcp三次握手;2.握手成功后与zk server进行atuh认证维持的状态 StateUnknown State = -1//未使用 StateDisconnected State = 0//c 阅读全文

posted @ 2021-09-08 10:44 tianzeng 阅读(900) 评论(0) 推荐(0) 编辑

2021年8月10日

oversser 热重启流程分析

摘要: oversser在go中创建可监控、重启、自升级二进制文件的包。分为master模式和slave模式;master为父进程,创建监听套接字、设置isSlave标记等一些初始化工作,之后调用forkExec创建slave子进程来执行bin类型的二进制可执行文件;热升级时发送SIGUSR2信号给mast 阅读全文

posted @ 2021-08-10 19:40 tianzeng 阅读(292) 评论(0) 推荐(0) 编辑

2021年7月11日

内存屏障

摘要: 问题产生原因: cpu0执行写操作,若CPU本地cache没有此变量,须发一个invalidate到总线,其他CPU收到invalidate消息后将此变量从自己的本地cache中清除,并且发送ack给CPU0,CPU0收到其他CPU发送的ack后将变量值写入到本地cache,但是CPU0在等待其他C 阅读全文

posted @ 2021-07-11 16:38 tianzeng 阅读(127) 评论(0) 推荐(0) 编辑

无锁队列

摘要: 单生产者 初始位置:生产者的头和尾指向相同的位置;并只有生产者的头和尾被修改 1.生产者的头和消费者的尾指向临时变量,prond_next指向表的下一位置,如果没有足够的空间,返回错误 2.prod_head(原变量而非临时变量)指向prod_next,新元素入队 3.修改prod_tail指向pr 阅读全文

posted @ 2021-07-11 13:45 tianzeng 阅读(147) 评论(0) 推荐(0) 编辑

2021年7月4日

虚拟化

摘要: 在系统中加入虚拟化层,对资源进行空间上的模拟、时间上的分割,虚拟化成多份资源,供上层使用。 1、cpu虚拟化 全虚拟化:在hypervisor中,对客户机的所有指令进行翻译,然后交给操作系统os执行。客户机机操作系统运行在ring1级别,宿主机操作系统运行在ring0级别。 半虚拟化:只有特权指令、 阅读全文

posted @ 2021-07-04 21:32 tianzeng 阅读(380) 评论(0) 推荐(0) 编辑

2020年11月22日

虚拟文件系统

摘要: 安装点 文件系统是数据特殊的分层存储。被安装在一个特定的安装点,该安装点在全局层次结构中被称为命名空间,所有安装文件系统被称为根文件系统。 超级块 代表一个已经安装的文件系统。存储文件系统的额控制信息。 目录项对象 文件通过目录组织,路径中的目录条目被称为目录项。目录被当做特殊的文件。 在路径中,包 阅读全文

posted @ 2020-11-22 16:59 tianzeng 阅读(149) 评论(0) 推荐(0) 编辑

内存管理

摘要: 页 该结构与物理页相关,并非与虚拟页相关,该结构对页的描述是短暂的,即时包含的数据继续存在,因为交换等原因,他们并不可能和同一page相关。内核用这个数据结构仅仅描述当前时刻相关的物理页中存在的东西,这种数据结构的目的在于描述物理内存本身,而不是其中的数据。 区 kmalloc 以字节为单位获得一块 阅读全文

posted @ 2020-11-22 15:47 tianzeng 阅读(84) 评论(0) 推荐(0) 编辑

中断

摘要: 上半部分 在内核响应一个中断时,会执行特定的中断处理程序(中断处理程序不和设备关联,而是和特定中断关联,一个设备可以有多个中断),当中断来临时,它立即执行,但只做严格有限的工作。 比如:网卡收包,当数据来时,cpu需要立即处理数据,以便网卡能继续收包,在中断处理程序中应答硬件,拷贝最新的数据到内存中 阅读全文

posted @ 2020-11-22 11:15 tianzeng 阅读(188) 评论(0) 推荐(0) 编辑

2020年10月25日

进程调度

摘要: 抢占式操作系统:由调度程序决定一个进程什么时候停止运行以便其他进程可以执行 非抢占式操作系统:除非进程主动停止,否则他将一直执行下去 每个进程在抢占之前能够运行的时间叫做时间片,也就是分给每个可运行进程的处理器时间段 策略 I/O消耗型进程:大部分时间用来提交I/O请求或等待I/O请求 处理器消耗性 阅读全文

posted @ 2020-10-25 15:10 tianzeng 阅读(156) 评论(0) 推荐(0) 编辑

2020年4月27日

路由套接字

摘要: 在创建套接字时,可以通过指定参数 AF_ROUTE 域创建路由套接字(它只能支持原始套接字,只有超级用户才能创建这个套接字),路由套接字可以访问内核中路由子系统的接口信息。 进程通过写到路由套接字向内核发送消息(路径的增加和删除采用这种方式实现) 进程通过读入路由套接字接收来自内核的消息(内核采用这 阅读全文

posted @ 2020-04-27 11:06 tianzeng 阅读(723) 评论(0) 推荐(0) 编辑

导航