CMU15445 2020 B+TREE简单记录 lab地址CMU15445 2021博客地址 前期准备做完了2021的15445,想做一下2020的b+ tree。按照2020 c++ primer assignment步骤一样拉取仓库,安装依赖包,但拉取的代码已经是最新的2021,所以需要将commit回滚到之前的版本。用pro1做测试,回滚到有buffer_pool_manager.cpp的版本。commit:f92ef74d8fb 2022-08-31 国外课程实验
MIT6.S081 2021 locks xv6 book记录竞态 1234567891011121314struct element { int data; struct element *next;};struct element *list = 0;void push(int data){ struct element *l; l = malloc(sizeof *l); l->data = 2022-08-29 国外课程实验
MIT6.S081 Multithreading xv6 book记录阅读xv6 book之前,简要看一下《深入了解linux内核》进程一章(不怎么看得懂),当然xv6 book也看的犯困。该实验比较简单,就看书花点时间。 First, xv6’s sleep and wakeup mechanism switches when a process waits for device or pipe I/O to complete 2022-08-28 国外课程实验
MIT6.S081 2021 mmap You should implement enough mmap and munmap functionality to make the mmaptest test program work. If mmaptest doesn’t use a mmap feature, you don’t need to implement that feature. 这个实验还是比较复杂的,用gd 2022-08-27 国外课程实验
MIT6.S081 2021 file system xv6 book记录看pdf看困了,主要看看几张图,最后再看看real world就可以了xv6文件系统架构 The disk layer reads and writes blocks on an virtio hard drive. The buffer cache layer caches disk blocks and synchronizes access to them, ma 2022-08-21 国外课程实验
算法分析上机作业 源码最接近S的中位数的n/4个元素 给定由n个数组成的集合S,从中找出最接近S的中位数的n/4个元素。请设计一个最坏情况下时间复杂度为O(n)的算法。 算法实现代码 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 2022-07-16 算法
驱动虚拟环境搭建记录 由于驱动开发没有设备,想使用VMware的虚拟设备进行开发。将NVMe驱动卸载,然后将固态硬盘ID绑定到编写的驱动上。以下记录该虚拟环境搭建时遇到的问题。由于要求的内核版本是4.19,故基本的思路是使用deb包先将内核版本降到4,而后使用源码编译将内核切换成4.19。内核版本切换记录 在华为镜像站中下载Ubuntu镜像,第一次我下载的是Ubuntu22,其版本太高,使得我安装deb包时就出现 2022-07-16 踩坑日记
leetcode记录 推荐博客五大常用算法:分治、动态规划、贪心、回溯和分支界定==刷题时注意边界条件/特殊条件的处理== 代码复制粘贴太多了,编辑起来很卡,再开一个博客:leetcode记录2 合并 K 个升序链表给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。 思路:简单的合并链表,刚开始的思路是每次循环找到最 2022-06-16 算法
r8169驱动源码阅读记录 源码地址:linux-4.19.90\drivers\net\ethernet\realtek\r8169.c源码阅读环境:Windows 搭建 opengrok|极客教程在线阅读网站:bootlin 注意:为把握函数主要功能,我忽略了许多出错处理的代码 初始化阅读网卡驱动源码第一步,简要看一下发送描述符,接收描述符,发送缓存区,接收缓冲区定义与初始化RTL8169数据手册第九节介绍发送描 2022-05-30 内核驱动开发记录
NVMe驱动 请求路径学习记录 由《深入浅出SSD》 6.5节trace分析可知,主机读请求的执行流程如下: 主机准备好命令放在SQ 主机通过写SQ的Tail DB,通知SSD来取命令(Memory Write TLP) SSD收到通知,去主机端的SQ取指令(Memory Read TLP) SSD执行命令,把数据传给主机(Memory Write TLP) SSD往主机的CQ中返回状态 SSD采用中断的方式告诉主机去处 2022-05-25 内核驱动开发记录