Who is the hero?
Lec7 锁 Lec7 锁
为什么需要锁多核处理器同时操作共享数据,当缺乏有效的同步机制时,不同CPU可能在同一时刻读写相同数据,从而引发并发安全问题。 单核处理器,当前线程与前一个线程的交错执行也可能导致并发安全问题 。 以kalloc.c中回收物理页kfree为
2025-02-21
Lec6 进程管理 Lec6 进程管理
进程调度运行上下文context:运行上下文包含的寄存器 // Saved registers for kernel context switches. struct context { uint64 ra
2025-02-14
Lec5 设备与驱动 Lec5 设备与驱动
设备xv6中的设备 这里以PCI总线设备为例,展示映射IO 驱动驱动是操作系统中管理特定设备的代码,包含如下功能: 初始化硬件寄存器 向硬件发起操作指令 处理硬件产生的中断 唤醒因等待硬件完成指令而处于阻塞状态的进程 驱动程序通常由两部
2025-02-07
Lec4 中断 Lec4 中断
RISC-V关键寄存器RISC-V中内核态寄存器: SIE(Supervisor Interrupt Enable):是否允许类型中断 SIP(Supervisor Interrupt Pending):当发生中断时,处理器查看这个寄存器
2025-01-28
Lec3 内存管理 Lec3 内存管理
xv6页表机制在 xv6 操作系统中,采用64 位地址空间架构 页表是操作系统中实现虚拟地址空间与物理地址空间转换的核心组件,xv6页表项结构如下: 页表项0~9位:对应页表的操作权限 页表项10~53位:对应页表的物理地址 由于 x
2025-01-21
Lec1 概述 Lec1 概述
为什么需要操作系统每个应用程序可以根据自己的需要自定义操作系统资源的程序,应用程序可以直接与硬件资源进行交互,并以最适合应用程序的方式使用这些资源(实现高性能)。一些用于嵌入式设备或实时系统的操作系统就是以这种方式组织的。 但我们无法保证每
2025-01-01
2 / 4