avatar
文章
17
标签
28
分类
1

Home
Archives
Tags
Categories
Link
Hiyasame
Home
Archives
Tags
Categories
Link

Hiyasame

周报
发表于2023-12-25
2023.12.18~12.24因为游戏账号被封了一个月所以开始写周报 push 自己学习的第一周( 看到学弟在学 6.824,说实话有点慌,真得 push 一下自己了 学习 & 工作 完成 CS106B 的 assignment 1,2 目前为止都是一些很简单的内容,还没有涉及到我比较想学的部分 参加了 Datenlord 的 mit 体系结构公开课学习社区 学习的课程是 6.004 6.175 6.375 ,这三门课的知识点重复度很高,大概只需要看 6.004 的课,做 6.175 的 lab,穿插学习 6.375 即可 不过大概率不会坚持到最后,只是一个学习计组的契机 学习体系结构的过程中也会并发进行另一门公开课的学习,目前是 CS106X,之后会做 445 和 824 生活 久违的下了个音游(邦邦)来玩,发现了一首很不错的曲子 下周计划下周其实离考试周就很近了,所以不一定能做完 过完 6.004 讲 bluespec 之前的内容 过完一半 CS106X 的课,至少再完成 CS106B 的两个 lab
解决 bear 在 MacOS 中生成空 compile_commands.json
发表于2023-10-21
在做到 xv6 的最后一个 lab 时,我终于忍受不了满屏的爆红,着手开始配置代码高亮。参考 https://zhuanlan.zhihu.com/p/501901665 配置 Intellisense,然后我遇到了一个问题: make clean && bear — make qemu 生成空 compile_commands.json 我 google 查了一下,目前没有中文博客提到这个问题。我在 Bear 的 issue 下发现这个问题已经老生常谈了,因为 linux 和 macos 下 bear 的工作原理不同: For your problem, here is a little background information… Bear works differently on Linux and Mac. On Linux it intercept the process executions with a preloaded shared object. This trick does not work on Mac. Instead it use ...
virtual-memory-for-user-applications
发表于2023-10-20|笔记
MIT 6.s081 lecture 17 个人总结笔记 参考: https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/lec17-virtual-memory-for-applications-frans https://pdos.csail.mit.edu/6.828/2020/readings/appel-li.pdf 之前我们知道,virtual memory 的 page fault 已经被内核玩出了花。进程 fork 的 COW 机制,虚拟内存页表的驱除机制等等,都是利用了 page fault 这个机制实现的。page fault 很好用,那么我们能不能让用户程序也利用上 page fault 呢? 为了让用户程序有效的利用上 page fault 机制,操作系统内核需要向用户程序提供一系列原语(primitives): Prot1 降低单个 page 的 accessibility (mprotect) ProtN 降低 N 个 page 的 accessibility,之所以单独提 ...
xv6-fs
发表于2023-10-17|笔记
下文中没有具体说明的场景均描述 xv6 文件系统的实现 好吧 我们就来详细捋一捋 fs 组成// todo 事务 Transaction 事务在用数据库的时候就已经经常用到了,但是没想到文件系统也有事务。从文件系统的事务实现中我们也可以管中窥豹数据库的事务是怎么实现的,数据库的 crash recovery 是如何保证的。 xv6事务的作用是保证一组磁盘写操作的原子性 (即要么全部完成,要么全部失败),从而支持 crash recovery。事务是我们对一组整体具有原子性的磁盘写操作的抽象,而我们是如何实现事务这个特性的呢? 当然是凭借日志系统。在xv6中,我们在执行一组磁盘写操作时,会先将这组写操作发到 block cache。block cache 就是磁盘 block 在内存中的 copy。 在write系统调用的最后(也就是事务结束时),这些更新都被从 block cache 拷贝到了 log 中,之后会更新 header block 的计数来表明当前的 transaction 已经结束了。 更新 header block 的计数这个操作是一个原子操作 ...
2023七月到九月总结
发表于2023-10-07
2023.7~9月总结从北京回来了,实习基本算告一段落了。至少线下实习告一段落了,能不能继续线上还得等结论。借此机会把 2023.7 ~ 9 月做的事情总结一下: 7月原本计划暑假里好好的把 xv6 给刷了,但是学长突然给了我快手实习的内推,于是暂时搁置了 cs 的学习,全心全意准备面试。一面自我感觉还算可以,但快手那边似乎是因为 hc 的问题迟迟不肯安排二面,鸽了我很长一段时间。这段时间最开始我是在准备面试的,然而等了好几天还没收到二面消息就重启了 xv6 的学习,记得是一口气做到了 traps lab,然后收到了快手的拒信。 收到拒信之后本着一不做二不休的原则又在 boss 直聘上海投,然而只收到了两家公司的面试邀约:禾多科技,字节跳动(抖音开放平台)。 禾多科技一面只问了20分钟,都是非常基础非常简单的问题,二面直接不问了,直接跟我介绍公司业务(做自动驾驶),但是因为只是随便投来练手的小厂,给的实习工资也不够我在北京生活,就拒了。 抖音开放平台面试问得比较有水平,可惜我算法苦手,而面试官又比较看重算法这一块,好死不死一面二面的算法题一道都没有做出来,当然是挂了。问了他们的业务,似 ...
Handler Android 消息机制
发表于2023-07-04
解析handler 源码也算是老生常谈了,之前也简单研究过源码。首先列出比较重要的几个类 Handler MessageQueue Message Looper 那么我们就从 Handler 最经典的用法开始分析 1234567891011121314class MainActivity : AppCompatActivity() { private val handler = object : Handler(Looper.getMainLooper()) { override fun handleMessage(msg: Message) { Toast.makeText(this@MainActivity, "处理消息", Toast.LENGTH_SHORT).show() } } override fun onCreate(savedInstanceState: Bundle?) { super.onCr ...
新的开始
发表于2023-06-27
看了一下周围人的博客,觉得我原来的博客实在是花里胡哨且没有营养,于是删掉以前的所有文章,顺便换了个清爽的主题:butterfly,并且给博客支持了 RSS 订阅。 泡泡曾推荐我使用他的方案 zola + no-style-please。不过我实在懒得折腾 zola,并且 no-style-please 对我来说有些过于简约了。 总之以后我会尽我所能的产出高质量博客,而不是像以前一样鸡毛蒜皮的小事也要水一篇博文 :D 简约并不是简陋,简约的目的是抽出设计中最核心的部分。这和编程一样,抽象出主要部分的程序总是很好理解且很好维护的,而不是追究任何一个细小的结构,为其套上各种设计模式,最终的结果只会是难以维护,和当初运用各种设计模式的初衷背离了。
12
avatar
寒雨
道阻且长,行则将至
文章
17
标签
28
分类
1
Follow Me
公告
Learning CS...
最新文章
机器学习分享2025-05-12
RecyclerView 绘制流程梳理2025-04-26
Android hidden api unseal2025-04-26
2024年度总结2025-01-07
区块链中的共识算法概述2024-12-31
分类
  • 笔记3
标签
jyy libc 年度总结 编译 File System MIT6.s081 android 总结 ART 机器学习 虚拟内存 xv6 lambda calculus 区块链 周报 os lisp 随笔 并发 linux 闲聊 fp 分布式系统 操作系统 八股 分享 lab 公开课
归档
  • 五月 20251
  • 四月 20252
  • 一月 20251
  • 十二月 20241
  • 九月 20241
  • 五月 20241
  • 三月 20241
  • 一月 20241
网站资讯
文章数目 :
17
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By 寒雨
框架 Hexo|主题 Butterfly