首页 > 其他分享 >mitos - xv6 for riscv

mitos - xv6 for riscv

时间:2023-10-31 18:33:52浏览次数:42  

相关文章

  • EDA工具使用+GIT操作+python编程+C语言编程+Riscv相关+TCL操作
    EDA工具使用Verdi覆盖率转网页urg-full64-dirsimv.vdbVerdi加载sessionverdi-ssrsessionFileVcs分部编译额外选项-partcomp:自动分块编译。-fastpartcomp:使用多核计算系统并行部分编译。-pcmakeprof:查看每部分编译占用的时间,方便对时间更久的进行拆分。-partc......
  • xv6 traps
    trap:在xv6操作系统中,"trap"是指程序从用户态切换到内核态的一种机制。这种切换通常会在几种情况下发生,例如:系统调用、出现页错误(pagefault)或者外部设备触发了中断。Trap机制是通过一些特定的硬件指令和硬件状态来实现的,例如修改程序计数器(PC)的值,以便将程序的控制权转移到内核中......
  • qemu搭建riscv的可调试环境
    qemu搭建riscv的可调试环境riscv工具链(网上大多数用Github直连的工具链,但是因为太大,download的时候老是出问题)选择使用Cross-compilationtoolchainsforLinux-Home(bootlin.com)进行下载,之后解压。bin目录下为可执行的工具链,将其添加到PATH中。qemuqemu压缩包下载......
  • xv6 进程切换中的锁:MIT6.s081/6.828 lectrue12:Coordination 以及 Lab6 Thread 心得
    引言这节课和上一节xv6进程切换是一个完整的的进程切换专题,上一节主要讨论进程切换过程中的细节,而这一节主要讨论进程切换过程中锁的使用,所以本节的两大关键词就是"Coordination"(协调)和"lostwakeup"Coordination就是有关出让CPU,直到等待的事件发生再恢复执行。人们发明了很......
  • RISCV-MINI cache小记
    该cache映射策略为直接映射,采用写回(writeback)方式。需要注意的细节在于cpu-cache通过mask信号判断访存是读还是写,显然mask全0时为读。下图FSM中省略了dirty会影响状态转移,比如WriteCache到WriteBack,当cache块为dirty时才会触发aw.fire(io.nasti.aw.valid:=is_dirty)。简单解释:......
  • Xv6 Lab10: file system
    Largefiles这个作业需要我们将xv6的最大文件大小从12+256Bytes修改为11+256+256*256Bytes。为了达成这个目标,我们需要使用二级索引块,对inode的addrs字段,首先将NDIRECT从$12$修改为$11$,即前$11$个block是directblock,addrs[NDIRECT]对应的块是一......
  • Mit6.s081 Lec15: xv6 的 logging system
    Logginglayerfilesystem设计的一大重要问题就是crashrecovery。这是因为文件系统操作往往涉及向磁盘多次写入,而几次写入之后的crash可能导致磁盘上的文件系统处于一个不一致的状态。Forexample,supposeacrashoccursduringfiletruncation(settingthelengthof......
  • Xv6 Lab9: Locks
    Memoryallocator这一题很简单,主要任务,就是为每个cpu维护一个空闲物理内存的链表freelist,xv6默认使用的结构体kmem,其中包含一个freelist供所有的cpu使用。我们要做的,就是把freelist修改成freelist的数组,即structrun*freelist[NCPU],其中NCPU是定义于kernel/par......
  • Xv6 Lab7: Multithreading
    Uthread:switchingbetweenthreads这个题还是对的起它moderate的难度了,如果认真看了book-riscv-rev2.pdf的Scheduling章节,以及看了这个课程翻译,那么这题可以很快做出来,个人觉得pdf讲得更加清楚一些。这个题甚至帮你把需要添加代码的地方都标注出来了,参照题目说明,主要......
  • Xv6 Lab6: Copy-on-Write Fork for xv6
    思路经过lab5:lazypageallocation之后,对xv6的pagefault的处理,算是有所了解了。今天这个COW实验,在2020年的课程视频中有对思路的讲解,可以先看看课程翻译,厘清一下思路。整体思路其实也不难,默认情况下,fokr会调用uvmcopy,将父进程的PP(物理页)复制一份,将这个PP的......