📂
📂
📂
📂
build a OS
Search
⌃
K
📂
📂
📂
📂
build a OS
Search
⌃
K
Learn OS with me
OS Interfaces
OS interfaces
I/O and File descriptors
Process and Memory
Pipes
File
OS Organization
OS Organization
Challenge yourself
Memory Management
XV6 Virtual Memory
Page Table
xv6 buddy allocator
Memory Management Walk Through
Traps and Interrupts
Trap Home Page
系统调用的核心原理
What is trapframe
What is trampoline
Traps from kernel space
How fork() works
How system calls get into/out of the kernel
How exec() works
Scheduling
XV6 CPU Scheduling
How unix pipes work?
How does wait(), exit(), kill() work?
File System
Overview and Disk Layout
Buffer Cache
Design Inode Layer
Inode Content
Block Allocator
Design a log system for crash recovery
Directory Layer
Path names
File Descriptor Layer
FS System Calls
XV6 VS Real World
Make Xv6 File disk management system
Write FS simulator in python
How Redirect Shell command works
Concurrency
Spinlock
How linux select work
Hardware Support Locking
Exercise: Implement atomic counter
Locking in Xv6
Concurrency in Xv6
Exercise: Socket Programming with Event loop
Labs
Lab 1 Xv6 and Unix utilities
Lab 2 Shell
Lab 3 Buddy Allocator
Lab 4 Lazy
Lab 5 Copy-on-Write Fork for xv6
Lab 6 RISC-V assembly
Lab 6 Uthread: switching between threads
Lab 6 Alarm
Lab 7 Lock
Lab 8 File System: Large Files
Lab 8 File System: Symbolic links
Lab 9 mmap
Lab 10 Networking Part 1
Lab 10 Networking Part 2
Hardware, Device, Assembly
RISC-V assembly
Assembly: Access and Store information in Memory
Start xv6 and the first process
Why first user process loads another program?
What does kernel.ld do in XV6?
XV6 Device Driver
Powered By
GitBook
Comment on page
Trap Home Page
RISC-V trap machinery
What is trampoline
What is trapframe
Traps from Kernel Space
Traps from kernel space
Traps from User Space
How system calls get into/out of the kernel
How
exec
works
How exec() works
How fork works
How fork() works
Memory Management - Previous
Memory Management Walk Through
Next
系统调用的核心原理
Last modified
3yr ago