[fs] ext4 disk layout
写在前面
这是2014年写的了,不过我搬到这里是在2021年4月11日,嗯,很长的时间跨度。这篇文章本来是在网易博客上的,后来网易博客关了,我就移到了CSDN,但损失了很多图片显示;所以,目前在网上也看不到完整的了,找到了当时写的DOCX文档,想就放这里看看。 不过,有的表述可能是错的;参考链接现在也已经找不到内容了。
Study Linux World
这是2014年写的了,不过我搬到这里是在2021年4月11日,嗯,很长的时间跨度。这篇文章本来是在网易博客上的,后来网易博客关了,我就移到了CSDN,但损失了很多图片显示;所以,目前在网上也看不到完整的了,找到了当时写的DOCX文档,想就放这里看看。 不过,有的表述可能是错的;参考链接现在也已经找不到内容了。
struct ext4_dir_entry_2 {
__le32 inode;
__le16 rec_len;
__u8 name_len;
__u8 file_type;
char name[EXT4_NAME_LEN];
};
前几天在内核工匠的公众号上看到了两篇关于Linux kernel的同步机制的介绍,所以就想按照这两篇文章的内容整理一下。但在这篇文章中并不涉及各种同步机制的具体实现。
内核工匠的两篇文章分别是:
Linux kernel 同步机制(上篇)
Linux kernel 同步机制(下篇)
在使用C语言写上层应用代码时,常需要list的数据结构;但普通C库中并不含有这方面内容,需要自己实现;而Linux内核中,有一套list的实现,使用起来也相对简洁优雅,可以拿到上层来使用。
这篇文章主要目的是为了试试Ulysses在这个github.io上好不好用。至于写的东西嘛,就写写今天刚研究的cJSON的东西吧——就算是凑字数了。 至于CS:APP第四章,我看到之前的计划里没列这个,设计处理器离我也的确比较遥远;所以,第四章就先跳过去,之后从第五章接着看,讲的是程序优化,似乎非常有用。 好了,下面记录一下cJSON。
第三章的内容还是很多的,而且也比较难;主要是讲了IA32、x86-64的程序的汇编形式,以及C代码变成汇编语言是什么样子。设计很多汇编的细节。不过,我想自己倒是还不用掌握书中的汇编,毕竟自己主要还是接触ARM,和Intel的汇编有所不同。所以,在这里罢第三章的目录罗列出来,只简单总结一下吧。
在包括 Linux ext 系列在内的 inode 文件系统中,文件自身的数据保存在磁盘分区数据块中,并由 inode 索 引。在某些情况下,我们需要知道一个文件在磁盘分区中是由第几个数据块开始的;本文即是介绍其方法。
这篇文章其实是些在2019年1月18的,当时还没看CS:APP的浮点数部分,现在看到了,便又想起之前曾研究过浮点数的事情;所以,就在这里一块发出来啦。
这篇文章中使用的一些字母表示,可能和CS:APP中有不同含义,查看时应留意。
2019 Dec. 8
这一章真是漫长的一章哇~我想一些东西不用在这里记录那么多。
layout: post
CS:APP - Computer Systems: A Programmers Perspective 深入理解计算机系统
这个博客是在GitHub上从Jekyll Now repository fork过来的。
因为网易博客停止运营啦,而CSDN也总是让我喜欢不起来;所以,发现GitHub上有这样一个可以搭建个人博客的仓库,我就fork过来使用一下咯。
我打算在这里记录一下自己学习的东西,一如之前(着实是很久以前)我在网易博客上做的。