logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

探秘Linux VFS:从磁盘到用户的文件之旅

从磁盘眼中的文件,到操作系统眼中的文件,再到用户眼中的文件,这篇文章都会给予较为完整自洽的解释。需要注意的是,OS以块为基本单位进行IO,所以一个DataBlock不是一个扇区,而一般是4KB,而若干个inode结构体因为单个体积太小所以挤在一起,不是一个inode一个块。不同文件系统的inode类型是不同的,所以需要每个文件系统提供inode的创建方法。,包括每个分组的大小,分组内的结构划分,分

文章图片
#linux#文件系统
DNS(Domain Name System)

权威 DNS 服务器核对信息后,将目标网站 IP 地址发送至首选 DNS 服务器。权威域名服务器发送解析请求,该服务器作为域名所属的权威解析节点,精准存储着。二级域名服务器地址回传给首选 DNS 服务器。.com 顶级域名服务器检索匹配后,把。首选 DNS 服务器接着向。对应的真实 IP 地址。

文章图片
#网络
深入解析操作系统文件缓冲区:页缓存、基数树与f_pos的协同设计

文件缓冲区是全局的页缓存,挂在文件inode下,所有打开该文件的进程共享。读写位置由每个中的单一字段f_pos维护,读写共用;若需位置隔离,使用。已读数据跟踪由页缓存的存在性隐式完成,不保存任何历史读取记录。缓冲区满并非固定容量耗尽,而是触发内存回收,脏页写回后回收干净页,可能影响性能但不会丢失数据或返回错误。f_op是统一的操作函数表,与打开模式和位置维护无关。通过这套设计,操作系统在提供简洁文

文章图片
#缓存#linux
c++--lambda表达式及仿函数

注意: 在lambda函数定义中,参数列表和返回值类型都是可选部分,而捕捉列表和函数体可以为 空。事实上,lambda的底层与仿函数,即函数对象很相似,lambda捕捉到的变量就是以成员变量的方式存储的,捕捉的本质是用构造函数初始化。捕捉列表,该列表总是出现在lambda函数的开始位置,编译器根据[]来判断接下来的代码是否为lambda函数,捕捉列表能够捕捉。在该函数体内,除了可以使用其参数外,还

文章图片
#c++#开发语言
C++——volatile

正常情况下当发送信号时,程序就会结束,但如果在编译时加入优化选项如-O1,-O2...就不会退出。但是因为flag的修改是在信号处理函数中修改的而不是main函数,编译器判定flag在循环中没有被修改,因此做出了优化,每次判断!flag时不再把flag从内存中读取到cpu寄存器进行判断,而是直接编译指令为:读取寄存器原来的值进行判断。而volatile声明的变量,保证每次都会被从内存中拿取而不被优

文章图片
Mysql——吃透事务以及隔离级别

注:这个级别下是可能出现死锁的情况,比如:事务A修改了第三行数据,接着事务B修改了第二行数据,接着事务B想访问第三行数据但是被阻塞了,然后事务A访问第二行数据也被阻塞了,结果就是死锁互相等待,Mysql此时会Kill一个事务。刚刚执行了“A账户减少5元”操作后,AB同时查询各自余额发现A的钱少了B的钱却没增加,造成逻辑不自洽的错误(即多个业务操作之间相互影响)。Mysql中每一个事务都是第一个类对

文章图片
#面试
Mysql——视图简介

【代码】Mysql——视图简介。

文章图片
Mysql——常见内置函数

日期函数 字符串函数 数学函数

文章图片
Redis——常见通用命令

注意:keys时间复杂度是n,而Redis是单线程执行命令,所以工作中绝对不要keys * ,否则就会阻塞Redis很久。

文章图片
Mysql——你真的理解Mysql为什么慢吗?

当代计算机的读写磁盘过程是这样的:CPU告诉磁盘从内存某个位置读取某些数据到磁盘中的某个文件中,然后CPU就可以去做其他事情而不是傻傻等待,等到读写完成之后,磁盘会通过中断来提醒CPU任务的结束。这就是DMA。也就是说,整个过程中CPU不做什么,其实没有浪费多少时间。事实上,Mysql的慢是由于Mysql必须保持一致性。如果说用户执行了一条插入语句,当你还没有把这个语句真正落在磁盘上的时候就直接告

文章图片
#mysql#数据库
    共 27 条
  • 1
  • 2
  • 3
  • 请选择