```Java . โ”œโ”€โ”€ main.c // lab1 โ”œโ”€โ”€ console.c // lab1 โ”œโ”€โ”€ pipe.c // lab1 ่ฟ›็จ‹้€šไฟก๏ผŒไธ€ไธช pipe ๆœ‰ไธ€ไธช่ฏป็ซฏไธ€ไธชๅ†™็ซฏ โ”œโ”€โ”€ printf.c // lab1 โ”œโ”€โ”€ sprintf.c // lab1 โ”œโ”€โ”€ start.c // lab1 โ”œโ”€โ”€ stats.c // lab1 โ”œโ”€โ”€ string.c // lab1 โ”œโ”€โ”€ uart.c // lab1 โ”œโ”€โ”€ exec.c // lab2 โ”œโ”€โ”€ proc.c // lab2 ่ฟ›็จ‹ โ”œโ”€โ”€ syscall.c // lab2 ็ณป็ปŸ่ฐƒ็”จ โ”œโ”€โ”€ sysproc.c // lab2 โ”œโ”€โ”€ kalloc.c // lab3, lab6 โ”œโ”€โ”€ vm.c // lab3 ้กต่กจ็ฎก็†๏ผŒVirtual Memory โ”œโ”€โ”€ vmcopyin.c // lab3 โ”œโ”€โ”€ plic.c // lab4 โ”œโ”€โ”€ trap.c // lab4 โ”œโ”€โ”€ spinlock.c // lab5 โ”œโ”€โ”€ bio.c // lab8 โ”œโ”€โ”€ file.c // lab8 โ”œโ”€โ”€ fs.c // lab8 โ”œโ”€โ”€ log.c // lab8 โ”œโ”€โ”€ sleeplock.c // lab8 โ”œโ”€โ”€ sysfile.c // lab8 โ””โ”€โ”€ virtio_disk.c // lab8 ```