duduru

2024年1月20日

Traps and system calls

摘要: 4 Traps and system calls 以系统调用write为例,深入trap的整体流程 Trap流程 ecall 执行ecall指令,它主要完成3件事: user mode -> supervisor modepc -> sepcstvec -> pc 按Robert的说法,由于gdb的 阅读全文

posted @ 2024-01-20 14:55 duduru 阅读(0) 评论(0) 推荐(0)

Interrupts and device drivers

摘要: 5 Interrupts and device drivers 我们以串口举例,从控制台初始化开始,以命令行显示"$ "和命令输入为例,分析控制台的整个输入输出过程以及中断在其中起的作用 控制台的硬件连接 qemu中模拟的硬件连接 驱动程序框架 书里面的原话: Many device drivers 阅读全文

posted @ 2024-01-20 14:09 duduru 阅读(0) 评论(0) 推荐(0)

Locking

摘要: 6 Locking 在了解锁之前,我们要熟悉这原子性这个概念。 什么是原子性 “原子”是物质的最小组成,即原子是不可分割的。虽然到现在科学家已经发现在原子内部有更小的成分,但是在广义上原子仍然保持“不可分割”的语义。那么在芯片中的原子性是什么呢?它延续了“不可分割”这个含义,表示该系列指令的执行是不 阅读全文

posted @ 2024-01-20 14:09 duduru 阅读(0) 评论(0) 推荐(0)

Scheduling

摘要: 7 Scheduling xv6调度器的实现是非常巧妙的,当然也有很多晦涩的点。本节主要讲解调度器的原理和实现。 7.2 Code:Context Switching 前置知识 线程:单个串行执行的代码单元xv6一个用户进程只能有一个线程(Linux有多个,所以在xv6中我们就说进程=线程),且每个 阅读全文

posted @ 2024-01-20 14:07 duduru 阅读(0) 评论(0) 推荐(0)

File system

摘要: 8 File system xv6构建的文件系统十分小巧并且功能齐全,虽然与现在的主流文件系统(FAT32、EXT4…)仍有差距,但文件系统实现的思想都大同小异,所以xv6的文件系统值得我们学习。 文件系统使用分层的思想:每一层分别实现某一单一功能;下一层为上一层提供接口。 各层实现功能: File 阅读全文

posted @ 2024-01-20 14:06 duduru 阅读(0) 评论(0) 推荐(0)

导航