自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小码虫的博客

小码虫的博客

  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 用C实现多态字典

用C语言来实现一个多态字典模块

2020-09-26 19:55:34 356

原创 锁、无锁、多处理器编程——3.CAS实现

CAS:Compare and Swap, 比较并交换。

2020-07-05 23:25:04 279

原创 从300行代码来看文件系统建立

有位作者用300多行代码开发了一个小的文件系统,那通过这段代码来简单理解一下文件系统。

2020-06-30 18:27:13 466

原创 锁、无锁、多处理器编程——2.原子操作

锁、无锁、多处理器编程——2.原子操作

2020-06-04 23:15:07 217

原创 fwrite和fread的使用讨论

fwrite和fread的两种使用方法讨论

2020-06-03 12:53:49 705

原创 UTF8转UCS——被微软折磨的日子

UTF8转UCS——被微软折磨的日子前言UTF8Unicode - UCS - 万国码转换关键函数参考资料前言前段时间搞协议,遇到些编码的问题,非英文的字符一直传输失败。搞得还以为开发者不支持中文,还给大佬发了个邮件,Is there any plan to support non-English?。大佬一直没回我,不知道是感觉我问的太傻X了还是没看到我的邮件。研究了下协议传递非英文字符的问...

2020-04-30 23:47:33 429

原创 锁、无锁、多处理器编程——1.初篇

多处理器编程、无锁与有锁

2020-01-01 23:40:02 348

原创 理解vfs下的open操作

目录一、VFS四大对象基础理解 21.1 super block 21.2 inode 21.3 dentry 21.4 struct file 3二、从图片理解文件打开流程 3三、open动作的实质 4四、systemtap验证 44.1 open创建一个新文件 54.2 打开已存在文件 6五、dentry cache 7六、关于open文件描述符fd 7七、参考资料 ...

2019-09-16 15:26:27 2127

原创 xfs_repair流程分析(二)

整体流程请看:xfs_repair在做什么 https://blog.csdn.net/Angel_94/article/details/88200369源码:xfsprogs-4.19.0本文分析xfs_repair流程第二步步骤2、检查AG头结构信息检查AG头结构信息(AGI,AGF和AGFL)并扫描AGF和AGI btree。入口/* * ok, at this point, ...

2019-08-06 15:38:28 906

原创 xfs_repair流程分析(一)

整体流程请看:xfs_repair在做什么 https://blog.csdn.net/Angel_94/article/details/88200369源码:xfsprogs-4.19.0本文分析xfs_repair流程第一步步骤1、获取并检查超块信息如果没有找到超块数据,就结束入口:/* ARGSUSED */voidphase1(xfs_mount_t *mp){ xfs...

2019-08-06 14:39:24 2053

原创 从objdump汇编分析三元运算的使用

在做一个难度标记为简单的力扣题时,本以为轻松能过,却遇到一点小问题,一时竟没能想到原因。借助objdump分析汇编后,才恍然大悟。汇编指令:MOV 传送字或字节CMP 比较.(两操作数作减法,仅修改标志位,不回送结果)JLE 小于或等于转移CALLQ 过程调用ADD 加题目力扣题库:https://leetcode-cn.com/proble...

2019-07-07 16:53:23 638

原创 力扣题库--5. 最长回文子串

题目链接:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输...

2019-07-04 19:54:43 762

原创 【NFS】client mount协商处理流程

linux内核版本:3.10.0挂载nfs版本:-o vers=4.0挂载命令mount -t nfs -o vers=4.0 127.0.0.1:/ /mnt/nfstest关键的几个函数:nfs_fs_mount: mount入口nfs_validate_mount_data: 解析参数入口(nfs_parse_mount_options、nfs_parse_devname)nf...

2019-05-30 16:11:48 1438

原创 离散数学——欧几里得(辗转相除法)

欧几里得算法:上大图举例说明下上大图c++递归演示下int gcd(int a, int b){ if (0 == a%b) { return b; } return gcd(b, a%b);}c++迭代演示下int gcd(int a, int b){ int iTmp(0); while( a%b ) { ...

2019-04-18 09:23:15 1002

原创 fallocate创建空洞文件

Fallocate特性目前在ext4、xfs、btrfs、SMB3中已经原生支持,部分功能需要特定版本与内核支持。命令方式Fallocate命令 ,如何瞬间创建一个10G的空洞文件。命令:fallocate -l 10G test.file注:fallocate命令可以为文件预分配物理空间。-l后接空间大小,默认单位为字节。也可后跟k、m、g、t、p、e来指定单位,可以是大写,分别...

2019-04-10 17:09:33 2889

原创 力扣题库--整数反转

题目来自力扣题库:https://leetcode-cn.com/problems/reverse-integer/给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为...

2019-04-08 12:52:46 446

原创 快速统计cephfs目录下的数据量

用于快速统计cephfs目录下存放的数据量:命令格式:getfattr -d –m ceph.dir.* -m表示匹配模式使用了getfattr命令,来获取文件系统给出的扩展属性例:getfattr -d -m ceph.dir.* /mnt/cephfsgetfattr -d -m ceph.dir.* /mnt/cephfs/dir1#cd /mnt/cep...

2019-04-03 20:20:50 1707

原创 力扣题库--两数相加

小码虫的公众号:题目来自力扣题库:https://leetcode-cn.com/problems/add-two-numbers/给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。...

2019-03-22 22:51:21 686

原创 力扣题库--两数之和

题目描述题目地址: 两数之和.给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [...

2019-03-19 22:20:00 1664

原创 xfs_repair在做什么

名词说明:AGI:inode信息描述AGF:AG free space描述AGFL:预留free space信息描述xfs extents:xfs的数据存储单元结构7个步骤:xfs_repair分七个阶段执行扫描和修复。每个阶段都依赖于前一阶段的结果来修复某些错误。1、获取并检查超块信息,如果没有找到超块数据,就结束2、检查AG头结构信息(AGI,AGF和AGFL)并扫描AGF...

2019-03-05 20:08:24 6361

原创 ext4、xfs脏数据下刷周期与设置

ext4、xfs都具备延迟写入这一特性,可以极大的提升性能,减小碎片化。文件系统在一段时间间隔后,向磁盘下刷数据。当然文件系统脏数据下刷周期设置为比较大的值会提升的读写性能,但是同时也带来了安全性的降低。ext4的间隔时间与设置:ext4的默认间隔时间是5s这一参数可以在mount的时候进行指定,添加如下参数进行指定-o commit=10XFS的间隔时间与设置:xfs的默认时间...

2019-02-20 19:27:43 2226

原创 Ext-inode如何索引blocks

文件系统支持的最大单个文件, [ ]中为最大文件系统空间文件系统RHEL7 x32RHEL7 x64ext22TiB [2TiB]16TiB [16TiB]ext32TiB [2TiB]16TiB [16TiB]ext416TiB [16TiB]50TiB [1EiB]xfs500TiB [8EiB]500TiB [16EiB]在计算...

2019-02-18 18:15:05 545

原创 文件名不在inode中,存在那?

存在父级目录文件中,也就是父级目录的数据blocks中。定位属于文件的数据块意味着首先在inode表中定位其inode。在发布打开操作时通常不知道所需文件的inode。我们所知道的是文件的路径。例如:int fd = open(“/ home / ealtieri / hello.txt ”,O_RDONLY);所需的文件是hello.txt,而它的路径是 /home/ealtieri/h...

2019-02-16 18:30:28 1278

原创 Ext-文件系统支持多大空间怎么算

在操作系统中,文件系统都是针对分区而言的,一个磁盘必须先分区才能格式化文件系统(即使你将磁盘所有容量划分一个分区).格式文件系统后才能挂载使用,此时就必须知道一个文件系统到底支持多大的分区大小。注:目前我们以block大小为4KB计算,4KB是我们最常用的一个值了。块地址索引空间:32bit的块索引空间:就是最大只能划出2^32个blocks,多一个block,都没有序号分给它了EXT2...

2019-02-16 17:33:04 1367

原创 为何NFSv3比cifs容易实现高可用

为何NFS比cifs容易实现高可用综合资料与个人分析:NFS无状态:NFSv4和NFSv3的差别如下:NFS-CTDB高可用模型:相关资料:实际操作中,结合CTDB实现内核NFS高可用,比CIFS容易很多。二者都是适用于文件存储,操作的对象是源文件。综合资料与个人分析:1.NFS独立于传输层,可使用TCP或UDP协议,恢复容易。CIFS基于C/S(客户端/服务器模式),面向网络连接的共享协议...

2019-02-15 21:39:22 1954 1

原创 return()与exit()的使用

声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。

2016-08-06 14:06:30 946 1

原创 无类型指针void *的学习

声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。

2016-08-03 21:16:35 677

原创 C 语言中指针、字符串与数组的一些关系

指针与字符串:用单引号引起的一个字符实际上代表一个整数,对于 ‘a’ 而言,与 ‘0141’(八进制)或者 ‘97’(十进制)严格一致。 对于双引号引起的字符串,代表的是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为零的字符 ‘\0’ 初始化。对于指针的初始化: char *p = “hello world” p指向字符串首地址,形成的字符数组长度需要加上后面

2016-04-26 14:22:05 521 2

原创 链表学习系列——1 基础概念之单向链表

公众号:声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。 学习LwIP网络协议过程中,内存方面用到了很多链表知识,下一博客打算写关于LwIP中的链表 一、关于顺序存储和链式存储用数组存储数据元素,数组元素与数据元素之间的关系是顺序映射。这种存储可以概括为:数据对象以结点为单位...

2016-03-07 16:21:01 1199

原创 LWIP内存池memp.c文件学习

声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。使用LWIP源码版本为1.4.1使用内存池分配内存的优点在于速度快、效率高、不会产生很多内存碎片,但是缺点在于只能分配各种固定大小的内存空间,LWIP必须实现知道用户要使用哪些类型的POOL,每种类型的POOL数量,然后根据这个需求建立内存池。一、内存池管理

2016-03-07 11:13:57 5374 2

原创 LWIP内存池memp.h头文件学习

声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。使用LWIP源码版本为1.4.1

2016-03-05 17:07:02 2607

原创 关于编程语言中的显式\隐式初始化

以前学习C时一直没有注意过显式初始化与隐式初始化这两个概念,最近开始学习C#时,在《C#图解教程》一书中第4.4节中注意到还有显式和隐式字段初始化的概念,这本书后来也多次提到此事。以下是个人理解 分配空间给变量,赋予初值即为初始化。初始化值必须是编译时可确定的。如果没有初始化语句,字段的值会被编译器设为默认值,默认值由字段的类型决定。比如:下面这两种初始化即为隐式初始化 int F1;

2016-02-11 22:28:24 6366

原创 内存管理pbuf.c源码解析——LwIP学习

声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。

2015-12-07 22:27:25 5436 2

原创 内存管理pbuf.h头文件源码解析——LwIP学习

声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。

2015-11-30 13:32:19 1930

Linux内核学习和研究及嵌入式(ARM)学习和研究的开放文档.chm

Linux内核学习和研究及嵌入式(ARM)学习和研究的开放文档.chm电子书格式,将网页内容制作成的

2016-06-16

51单片机个人整理单片机中文网所有网页

51单片机个人整理单片机中文网所有网页制作chm电子书

2015-12-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除