摘要: 目录 作者:殷某人 更新时间:2022/07/03 WAL机制 xv6操作系统中的log机制, 目的是为了在系统 cash的时候,可以达到: 数据的一致性,达到事务的原子性目的: 要么写入全部成功,要么写入全部失败 提供发生故障时,数据恢复机制。 本质原理就是遵守 Wirte Ahead Log原则 阅读全文
posted @ 2022-07-10 23:31 殷大侠 阅读(553) 评论(0) 推荐(3) 编辑
摘要: 作者:殷某人 更新时间:2022/07/10 数据结构 文件的内存中的定义 xv6中,文件是一个广义的概念, 它即可以是磁盘文件,也可以是管道。 数据结构定义如下: struct file { enum { FD_NONE, FD_PIPE, FD_INODE } type; int ref; // 阅读全文
posted @ 2022-07-10 23:30 殷大侠 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 作者:殷某人 更新时间:2022/07/10 管道机制 管道可以看到双端队列,一头读,一头写,如下图所示: 在xv6系统中,使用一块内存缓存块实现管道机制: 管道可以看作为特殊的文件, 通过文件的api对管道进行读写操作, 通过下面文件结构定义就可以看出来: struct file { enum { 阅读全文
posted @ 2022-07-10 23:29 殷大侠 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 目录 作者:殷某人 更新时间:2022/07/03 相关源码文件 buf.h bio.c ide.c 架构图 数据结构 内存的缓存块 缓存块用于缓存磁盘上的一个block, 大小为512字节, 在内存中,缓存块采用数组+双向链表的数据结构,使用链表的目的是进行LRU优化, 链表的顺序按照最近使用顺序 阅读全文
posted @ 2022-07-10 23:27 殷大侠 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 作者:殷某人 更新时间:2022/07/08 框架图 文件系统在磁盘上的布局 block块管理: free bitmap区 使用每一个比特表示磁盘上的一个block块是否可用。 inode保存数据的结构 使用两层的结构进行数据存储。 数据结构定义 磁盘上的保存的数据结构 超级块对象 每一个文件系统都 阅读全文
posted @ 2022-07-10 23:25 殷大侠 阅读(1195) 评论(1) 推荐(0) 编辑
摘要: 参考文档 https://en.cppreference.com http://www.cplusplus.com http://www.open-std.org 《C语言程序设计现代方法》 《C++ primer 第五版》 C语言的起源发展 C语言诞生于1972年,美国贝尔实验室。作者为:Denn 阅读全文
posted @ 2022-02-07 07:44 殷大侠 阅读(683) 评论(0) 推荐(4) 编辑
摘要: 本博客记录:在使用cmake进行构建工程时,写CMakeLists.txt 文件时,常使用到的命令与变量, 不断补充更新中。 相关链接 官方地址: https://cmake.org/cmake/help/ git上很好实践教程: https://github.com/ttroy50/cmake-e 阅读全文
posted @ 2021-07-04 11:07 殷大侠 阅读(10060) 评论(1) 推荐(2) 编辑
摘要: 参考 https://en.cppreference.com/w/cpp/named_req/PODType 定义 知识的搬运工,以下内容抄的,虽然是硬性定义,但是希望大家要深刻理解与体会。 POD类型具体要求满足如下条件: 标量类型 满足下列要求的类类型: 为平凡类型, 即要求满足如下条件: 可平 阅读全文
posted @ 2021-06-06 00:23 殷大侠 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 三者的关系 我的理解是这样的: 因为【引用折叠】特性,才有了万能引用。 【完美转发】的特性是借助【万能引用】以及【forward模板函数】来实现。 引用折叠 在 前面文章 介绍过,什么是引用折叠。总结下来就是C++中的两条规则: 规则一: 当我们将一个左值传给模板函数的右值引用参数(T&&)时, 编 阅读全文
posted @ 2021-06-05 20:26 殷大侠 阅读(2688) 评论(0) 推荐(1) 编辑
摘要: 忍不住了,不得不吐槽一下,妈的,太复杂了,真难,搞得太复杂了,看不懂,看不懂,真的越来越复杂了,没有必要啊! 看得了头皮发麻,搞不明白,咱又不是干编译器的,投降了。 工程代码中,代码风格要保持简洁,可读性好,可维护性好,没事千万别整一些奇奇怪怪的初始化秀技术,别过度依赖语言特性与编译器特性,最简单就 阅读全文
posted @ 2021-06-02 00:12 殷大侠 阅读(785) 评论(0) 推荐(0) 编辑