avatar
文章
93
标签
38
分类
18
首页
归档
标签
分类
LogoHuayi
搜索
首页
归档
标签
分类

Huayi

MIT 6.S081 Lab cow
发表于2023-04-23|操作系统
Compulsory exercises Preparation To start the lab, switch to the cow branch: 123git fetchgit checkout cowmake clean OS真不是人写的把😭 Implement copy-on write(hard) 当xv6 fork一个子进程时,需要复制父进程的地址空间,这不仅占用了空间,也消耗了时间,你的任务是采用写时复制,fork()时child使用parent的内存空间,即子进程映射到父进程的物理空间上,当进程要写时,触发Page Fault 实现COW 修改uvmcopy()以在fork()时不分配新page,而映射到父进程 vm.c uvmcopy()1234567891011121314151617181920212223242526272829303132intuvmcopy(pagetable_t old, pagetable_t new, uint64 sz){ pte_t *pte; uint64 pa, i; uint fla...
MIT 6.S081 Lecture 16: File system performance and fast crash recovery
发表于2023-04-22|操作系统
Reading Read Journaling the Linux ext2fs Filesystem (1998) Information 第一节OS论文的阅读讲座 ext3 “log” = journal ext3 = ext2 + journal xv6 log review ext3 log ext3 log format ASYNC Batching Concurrency ext3 code steps in commit
MIT 6.S081 Lecture 15: Crash recovery
发表于2023-04-22|操作系统
Reading Read logging sections of “File system” read code Information 最后一节关于xv6的讲座了,后面的重点会放在操作系统论文的阅读上 再见了所有的xv6 😭 Problem crash如电源中断,系统重启等 crash会使得建立在磁盘上的文件系统进入不正确的的状态,怎样保证crash后维持正确的状态呢? 解决方案是logging Risk 文件系统的操作是多步的 如果crash后重启,很可能要么再次crash,要么读写了错误的数据 logging log的步骤 log writes commit op install clean log log能够保证文件系统操作的原子性,并提供快速恢复的能力,在不同步骤crash都有不同的恢复方案 log的内容 内存中有磁盘中log的cache Challenges eviction 不要驱逐正在log的block fs operation must fit log log限制了文件系统一...
Network Protocol
发表于2023-04-20|计算机网络
Introduction 计算机网络的架构分为很多层,其中主流的分类方法是四层的TCP/IP结构,本文将从这四层结构出发(又是自顶向下😆),介绍属于网络不同层的网络协议。 Layer 应用层 HTTP 运输层 TCP UDP 网络层 IP 链路层 Ethernet
MIT 6.S081 Lecture 14: File systems
发表于2023-04-20|操作系统
Reading Read Chapter8 read code File System User-friendly names/pathnames Share files between users/process Persistence/durability Why intersting? Abstraction is useful Crash safety Disk layout Performance -> Storage devices are slow -> to be fast storage -> buffercache device -> concurrency API example xv6文件系统提供的API实现了文件系统基本的用户级操作 FS structure inode含有文件的信息,代表一个独立的文件 inode的大小是64Bytes FS Layer 文件系统的多层结构抽象了硬件,并为软件提供了接口 Storage devices 这里需要...
MIT 6.S081 Lecture 13: Q&A labs
发表于2023-04-20|操作系统
COW lab
Bit operation
发表于2023-04-16|CS Tools
基本运算 1.& 运算符 与运算符,两位都为1时,结果为1,否则为0。 2.| 运算符 或运算符,两位都为0时,结果为0,否则为1。 3.^ 运算符 异或运算符,两位相同时为1,不同为0。 4.~ 运算符 取反运算符,按位取反。 5.<< 左移运算符 向左移动x位,数值大小变为原来的2x倍 取模,例如int型整数有32位,至多移32位,对于1<<35,1<<3结果是相同的。 6.>> 右移运算符 向右移动x位,数值大小缩小为原来的2x倍,由逻辑右移和算数右移两种,在C++中取决于数据类型 运算定律 交换律始终成立 结合律只对单一运算成立 & |是不可逆运算,造成信息丢失,仅仅构成交换幺半群 ^ 符合结合律,^0不变,也就是说,^ 运算在S = {0, 1}下构成一个幺半群,其单位元为0,且任意元素的可逆元素为自身,则构成了一个群,另外,由于位运算交换律始终成立,这个群又是一个阿贝尔群(交换群)。 证明如下 $ 我们说(S, *)是一个幺半群,该二元运算满足结合律,且具有单位元,即 $ $$ (1...
RISC-V
发表于2023-04-16|CS Language
Introduction RISC-V是一种精简指令集架构的汇编语言 Feeling RISC-V的核心说明文档只有一页纸那么大,相比起x86臃肿的指令集架构,RISC-V的简单易学很适合作为汇编语言的入门,近年来指令集架构也有从CISC到RISC转变的倾向,但是大部分的机器仍然在x86下运行,整个世界的结构可以说是以x86为主流的。 Links RISC-V Green Card in CS61C 详尽文档 ISA updating…
MIT 6.S081 Lecture 12: Scheduling 2
发表于2023-04-15|操作系统
Reading Read remainder of “Scheduling” read code Sleep and Wake up Deadlock 造成死锁的情况是,p1获取了锁,但是通过swtch切换了进程,另一个进程p2也想要获取锁,但p1并没有释放锁,于是p2进入了循环等待的过程中,而这种情况是无法停止下来的,这样获取锁和解除锁的顺序不同导致的问题就叫做死锁 Coodination Lost Wakeups
MIT 6.S081 Lecture 11: Scheduling 1
发表于2023-04-15|操作系统
Reading Read “Scheduling” through Section 7.4 read code Thread thread - one serial execution 一个串行执行代码的单元,只占用一个cpu 一个线程区别于其他线程的地方是pc, regs, stack interleave thread multi core switch shared memory? -> Locks xv6 内核线程共享了内存 xv6 用户进程不共享内存 Linux 用户进程共享内存 其他的多任务解决方案 事件驱动编程 状态机 challenge switch - interleave 线程调度(scheduling) what to save / restore compute - bound 运算密集进程不肯让出cpu timer interrupts kernel handler yield - switch pre-emptive scheduling 抢占式调度 voluntary scheduling 自愿调...
1…567…10
avatar
Huayi
Time to Code.
文章
93
标签
38
分类
18
Follow Me
公告
🚧施工中...
最新文章
AtCoder Beginner Contest 4192025-08-20
CSAPP bomblab2023-11-13
CSAPP datalab2023-11-11
Latex2023-11-08
Hackergame20232023-11-04
分类
  • CS Language7
  • CS Project2
  • CS Tools15
  • CTF2
  • Others1
  • 人工智能2
  • 体系结构2
  • 前端1
标签
MCU Math 8051 tmux HTML Shell CTF Git Network gdb Windows ASCII Docker Javascript Plan Python C ChatGPT OS Golang jupyter CSS Java STM32 CMake Physics C++ Linux x86 GNU Make OI Rust Markdown Github Vim Latex 0->1 RISC-V
归档
  • 八月 2025 1
  • 十一月 2023 4
  • 十月 2023 1
  • 九月 2023 3
  • 八月 2023 2
  • 七月 2023 5
  • 六月 2023 4
  • 五月 2023 20
网站信息
文章数目 :
93
本站总字数 :
32.1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 By Huayi框架 Hexo 6.1.0|主题 Butterfly 5.4.3
搜索
数据加载中