├── .github ├── ISSUE_TEMPLATE │ ├── 0-----.md │ ├── 1-bug---.md │ └── 2-----.md └── workflows │ ├── deploy.yml │ └── main.yml ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── SUMMARY.md ├── book.json ├── deploy.sh ├── docs ├── format │ ├── code.md │ ├── doc.md │ └── partition.md ├── lab-0 │ ├── guide │ │ ├── intro.md │ │ ├── part-1.md │ │ ├── part-2.md │ │ ├── part-3.md │ │ ├── part-4.md │ │ ├── part-5.md │ │ ├── part-6.md │ │ ├── part-7.md │ │ ├── part-8.md │ │ ├── part-9.md │ │ └── summary.md │ └── pics │ │ ├── painter.key │ │ └── typical-layout.png ├── lab-1 │ ├── guide │ │ ├── intro.md │ │ ├── part-1.md │ │ ├── part-2.md │ │ ├── part-3.md │ │ ├── part-4.md │ │ ├── part-5.md │ │ ├── part-6.md │ │ └── summary.md │ └── practice.md ├── lab-2 │ ├── guide │ │ ├── intro.md │ │ ├── part-1.md │ │ ├── part-2.md │ │ ├── part-3.md │ │ └── summary.md │ └── practice.md ├── lab-3 │ ├── guide │ │ ├── intro.md │ │ ├── part-1.md │ │ ├── part-2.md │ │ ├── part-3.md │ │ ├── part-4.md │ │ ├── part-5.md │ │ └── summary.md │ ├── pics │ │ ├── rcore_memory_layout.png │ │ ├── sv39_address.png │ │ ├── sv39_pagetable.jpg │ │ ├── sv39_pte.jpg │ │ ├── sv39_rwx.jpg │ │ └── sv39_satp.jpg │ └── practice.md ├── lab-4 │ ├── guide │ │ ├── intro.md │ │ ├── part-1.md │ │ ├── part-2.md │ │ ├── part-3.md │ │ ├── part-4.md │ │ ├── part-5.md │ │ ├── part-6.md │ │ └── summary.md │ ├── practice-1.md │ └── practice-2.md ├── lab-5 │ ├── files │ │ └── rcore-fs-analysis.pdf │ ├── guide │ │ ├── intro.md │ │ ├── part-1.md │ │ ├── part-2.md │ │ ├── part-3.md │ │ ├── part-4.md │ │ └── summary.md │ └── pics │ │ ├── design.key │ │ ├── design.png │ │ ├── device-tree.png │ │ └── virtio.gif ├── lab-6 │ ├── guide │ │ ├── intro.md │ │ ├── part-1.md │ │ ├── part-2.md │ │ ├── part-3.md │ │ ├── part-4.md │ │ ├── part-5.md │ │ ├── part-6.md │ │ └── summary.md │ └── practice.md └── pre-lab │ ├── env.md │ ├── gdb.md │ ├── os.md │ └── rust.md ├── gitalk.html ├── notes ├── log.md ├── 关于课程设计.md ├── 方案设计文档.md ├── 结题答辩(13周).key ├── 结题答辩(13周).pdf ├── 设计预期和目标.md └── 课程设计方案幻灯片.pdf ├── os ├── .cargo │ └── config ├── Cargo.toml ├── Makefile └── src │ ├── algorithm │ ├── Cargo.toml │ └── src │ │ ├── allocator │ │ ├── mod.rs │ │ ├── segment_tree_allocator.rs │ │ └── stacked_allocator.rs │ │ ├── lib.rs │ │ ├── scheduler │ │ ├── fifo_scheduler.rs │ │ ├── hrrn_scheduler.rs │ │ └── mod.rs │ │ └── unsafe_wrapper.rs │ ├── console.rs │ ├── drivers │ ├── block │ │ ├── mod.rs │ │ └── virtio_blk.rs │ ├── bus │ │ ├── mod.rs │ │ └── virtio_mmio.rs │ ├── device_tree.rs │ ├── driver.rs │ └── mod.rs │ ├── entry.asm │ ├── fs │ ├── config.rs │ ├── inode_ext.rs │ ├── mod.rs │ ├── stdin.rs │ └── stdout.rs │ ├── interrupt │ ├── context.rs │ ├── handler.rs │ ├── interrupt.asm │ ├── mod.rs │ └── timer.rs │ ├── kernel │ ├── condvar.rs │ ├── fs.rs │ ├── mod.rs │ ├── process.rs │ └── syscall.rs │ ├── linker.ld │ ├── main.rs │ ├── memory │ ├── address.rs │ ├── config.rs │ ├── frame │ │ ├── allocator.rs │ │ ├── frame_tracker.rs │ │ └── mod.rs │ ├── heap.rs │ ├── mapping │ │ ├── mapping.rs │ │ ├── memory_set.rs │ │ ├── mod.rs │ │ ├── page_table.rs │ │ ├── page_table_entry.rs │ │ └── segment.rs │ ├── mod.rs │ └── range.rs │ ├── panic.rs │ ├── process │ ├── config.rs │ ├── kernel_stack.rs │ ├── lock.rs │ ├── mod.rs │ ├── process.rs │ ├── processor.rs │ └── thread.rs │ └── sbi.rs ├── rust-toolchain └── user ├── .cargo └── config ├── Cargo.toml ├── Makefile └── src ├── bin ├── hello_world.rs └── notebook.rs ├── config.rs ├── console.rs ├── lib.rs └── syscall.rs /.github/ISSUE_TEMPLATE/0-----.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/.github/ISSUE_TEMPLATE/0-----.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/1-bug---.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/.github/ISSUE_TEMPLATE/1-bug---.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/2-----.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/.github/ISSUE_TEMPLATE/2-----.md -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/README.md -------------------------------------------------------------------------------- /SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/SUMMARY.md -------------------------------------------------------------------------------- /book.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/book.json -------------------------------------------------------------------------------- /deploy.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/deploy.sh -------------------------------------------------------------------------------- /docs/format/code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/format/code.md -------------------------------------------------------------------------------- /docs/format/doc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/format/doc.md -------------------------------------------------------------------------------- /docs/format/partition.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/format/partition.md -------------------------------------------------------------------------------- /docs/lab-0/guide/intro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/intro.md -------------------------------------------------------------------------------- /docs/lab-0/guide/part-1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/part-1.md -------------------------------------------------------------------------------- /docs/lab-0/guide/part-2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/part-2.md -------------------------------------------------------------------------------- /docs/lab-0/guide/part-3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/part-3.md -------------------------------------------------------------------------------- /docs/lab-0/guide/part-4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/part-4.md -------------------------------------------------------------------------------- /docs/lab-0/guide/part-5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/part-5.md -------------------------------------------------------------------------------- /docs/lab-0/guide/part-6.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/part-6.md -------------------------------------------------------------------------------- /docs/lab-0/guide/part-7.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/part-7.md -------------------------------------------------------------------------------- /docs/lab-0/guide/part-8.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/part-8.md -------------------------------------------------------------------------------- /docs/lab-0/guide/part-9.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/part-9.md -------------------------------------------------------------------------------- /docs/lab-0/guide/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/guide/summary.md -------------------------------------------------------------------------------- /docs/lab-0/pics/painter.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/pics/painter.key -------------------------------------------------------------------------------- /docs/lab-0/pics/typical-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-0/pics/typical-layout.png -------------------------------------------------------------------------------- /docs/lab-1/guide/intro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-1/guide/intro.md -------------------------------------------------------------------------------- /docs/lab-1/guide/part-1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-1/guide/part-1.md -------------------------------------------------------------------------------- /docs/lab-1/guide/part-2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-1/guide/part-2.md -------------------------------------------------------------------------------- /docs/lab-1/guide/part-3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-1/guide/part-3.md -------------------------------------------------------------------------------- /docs/lab-1/guide/part-4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-1/guide/part-4.md -------------------------------------------------------------------------------- /docs/lab-1/guide/part-5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-1/guide/part-5.md -------------------------------------------------------------------------------- /docs/lab-1/guide/part-6.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-1/guide/part-6.md -------------------------------------------------------------------------------- /docs/lab-1/guide/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-1/guide/summary.md -------------------------------------------------------------------------------- /docs/lab-1/practice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-1/practice.md -------------------------------------------------------------------------------- /docs/lab-2/guide/intro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-2/guide/intro.md -------------------------------------------------------------------------------- /docs/lab-2/guide/part-1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-2/guide/part-1.md -------------------------------------------------------------------------------- /docs/lab-2/guide/part-2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-2/guide/part-2.md -------------------------------------------------------------------------------- /docs/lab-2/guide/part-3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-2/guide/part-3.md -------------------------------------------------------------------------------- /docs/lab-2/guide/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-2/guide/summary.md -------------------------------------------------------------------------------- /docs/lab-2/practice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-2/practice.md -------------------------------------------------------------------------------- /docs/lab-3/guide/intro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/guide/intro.md -------------------------------------------------------------------------------- /docs/lab-3/guide/part-1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/guide/part-1.md -------------------------------------------------------------------------------- /docs/lab-3/guide/part-2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/guide/part-2.md -------------------------------------------------------------------------------- /docs/lab-3/guide/part-3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/guide/part-3.md -------------------------------------------------------------------------------- /docs/lab-3/guide/part-4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/guide/part-4.md -------------------------------------------------------------------------------- /docs/lab-3/guide/part-5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/guide/part-5.md -------------------------------------------------------------------------------- /docs/lab-3/guide/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/guide/summary.md -------------------------------------------------------------------------------- /docs/lab-3/pics/rcore_memory_layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/pics/rcore_memory_layout.png -------------------------------------------------------------------------------- /docs/lab-3/pics/sv39_address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/pics/sv39_address.png -------------------------------------------------------------------------------- /docs/lab-3/pics/sv39_pagetable.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/pics/sv39_pagetable.jpg -------------------------------------------------------------------------------- /docs/lab-3/pics/sv39_pte.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/pics/sv39_pte.jpg -------------------------------------------------------------------------------- /docs/lab-3/pics/sv39_rwx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/pics/sv39_rwx.jpg -------------------------------------------------------------------------------- /docs/lab-3/pics/sv39_satp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/pics/sv39_satp.jpg -------------------------------------------------------------------------------- /docs/lab-3/practice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-3/practice.md -------------------------------------------------------------------------------- /docs/lab-4/guide/intro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-4/guide/intro.md -------------------------------------------------------------------------------- /docs/lab-4/guide/part-1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-4/guide/part-1.md -------------------------------------------------------------------------------- /docs/lab-4/guide/part-2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-4/guide/part-2.md -------------------------------------------------------------------------------- /docs/lab-4/guide/part-3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-4/guide/part-3.md -------------------------------------------------------------------------------- /docs/lab-4/guide/part-4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-4/guide/part-4.md -------------------------------------------------------------------------------- /docs/lab-4/guide/part-5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-4/guide/part-5.md -------------------------------------------------------------------------------- /docs/lab-4/guide/part-6.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-4/guide/part-6.md -------------------------------------------------------------------------------- /docs/lab-4/guide/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-4/guide/summary.md -------------------------------------------------------------------------------- /docs/lab-4/practice-1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-4/practice-1.md -------------------------------------------------------------------------------- /docs/lab-4/practice-2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-4/practice-2.md -------------------------------------------------------------------------------- /docs/lab-5/files/rcore-fs-analysis.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/files/rcore-fs-analysis.pdf -------------------------------------------------------------------------------- /docs/lab-5/guide/intro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/guide/intro.md -------------------------------------------------------------------------------- /docs/lab-5/guide/part-1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/guide/part-1.md -------------------------------------------------------------------------------- /docs/lab-5/guide/part-2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/guide/part-2.md -------------------------------------------------------------------------------- /docs/lab-5/guide/part-3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/guide/part-3.md -------------------------------------------------------------------------------- /docs/lab-5/guide/part-4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/guide/part-4.md -------------------------------------------------------------------------------- /docs/lab-5/guide/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/guide/summary.md -------------------------------------------------------------------------------- /docs/lab-5/pics/design.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/pics/design.key -------------------------------------------------------------------------------- /docs/lab-5/pics/design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/pics/design.png -------------------------------------------------------------------------------- /docs/lab-5/pics/device-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/pics/device-tree.png -------------------------------------------------------------------------------- /docs/lab-5/pics/virtio.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-5/pics/virtio.gif -------------------------------------------------------------------------------- /docs/lab-6/guide/intro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-6/guide/intro.md -------------------------------------------------------------------------------- /docs/lab-6/guide/part-1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-6/guide/part-1.md -------------------------------------------------------------------------------- /docs/lab-6/guide/part-2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-6/guide/part-2.md -------------------------------------------------------------------------------- /docs/lab-6/guide/part-3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-6/guide/part-3.md -------------------------------------------------------------------------------- /docs/lab-6/guide/part-4.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-6/guide/part-4.md -------------------------------------------------------------------------------- /docs/lab-6/guide/part-5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-6/guide/part-5.md -------------------------------------------------------------------------------- /docs/lab-6/guide/part-6.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-6/guide/part-6.md -------------------------------------------------------------------------------- /docs/lab-6/guide/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-6/guide/summary.md -------------------------------------------------------------------------------- /docs/lab-6/practice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/lab-6/practice.md -------------------------------------------------------------------------------- /docs/pre-lab/env.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/pre-lab/env.md -------------------------------------------------------------------------------- /docs/pre-lab/gdb.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/docs/pre-lab/gdb.md -------------------------------------------------------------------------------- /docs/pre-lab/os.md: -------------------------------------------------------------------------------- 1 | # 操作系统背景知识 2 | 3 | -------------------------------------------------------------------------------- /docs/pre-lab/rust.md: -------------------------------------------------------------------------------- 1 | # Rust 基础介绍 2 | 3 | -------------------------------------------------------------------------------- /gitalk.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/gitalk.html -------------------------------------------------------------------------------- /notes/log.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/notes/log.md -------------------------------------------------------------------------------- /notes/关于课程设计.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/notes/关于课程设计.md -------------------------------------------------------------------------------- /notes/方案设计文档.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/notes/方案设计文档.md -------------------------------------------------------------------------------- /notes/结题答辩(13周).key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/notes/结题答辩(13周).key -------------------------------------------------------------------------------- /notes/结题答辩(13周).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/notes/结题答辩(13周).pdf -------------------------------------------------------------------------------- /notes/设计预期和目标.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/notes/设计预期和目标.md -------------------------------------------------------------------------------- /notes/课程设计方案幻灯片.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/notes/课程设计方案幻灯片.pdf -------------------------------------------------------------------------------- /os/.cargo/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/.cargo/config -------------------------------------------------------------------------------- /os/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/Cargo.toml -------------------------------------------------------------------------------- /os/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/Makefile -------------------------------------------------------------------------------- /os/src/algorithm/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/algorithm/Cargo.toml -------------------------------------------------------------------------------- /os/src/algorithm/src/allocator/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/algorithm/src/allocator/mod.rs -------------------------------------------------------------------------------- /os/src/algorithm/src/allocator/segment_tree_allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/algorithm/src/allocator/segment_tree_allocator.rs -------------------------------------------------------------------------------- /os/src/algorithm/src/allocator/stacked_allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/algorithm/src/allocator/stacked_allocator.rs -------------------------------------------------------------------------------- /os/src/algorithm/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/algorithm/src/lib.rs -------------------------------------------------------------------------------- /os/src/algorithm/src/scheduler/fifo_scheduler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/algorithm/src/scheduler/fifo_scheduler.rs -------------------------------------------------------------------------------- /os/src/algorithm/src/scheduler/hrrn_scheduler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/algorithm/src/scheduler/hrrn_scheduler.rs -------------------------------------------------------------------------------- /os/src/algorithm/src/scheduler/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/algorithm/src/scheduler/mod.rs -------------------------------------------------------------------------------- /os/src/algorithm/src/unsafe_wrapper.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/algorithm/src/unsafe_wrapper.rs -------------------------------------------------------------------------------- /os/src/console.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/console.rs -------------------------------------------------------------------------------- /os/src/drivers/block/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/drivers/block/mod.rs -------------------------------------------------------------------------------- /os/src/drivers/block/virtio_blk.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/drivers/block/virtio_blk.rs -------------------------------------------------------------------------------- /os/src/drivers/bus/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/drivers/bus/mod.rs -------------------------------------------------------------------------------- /os/src/drivers/bus/virtio_mmio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/drivers/bus/virtio_mmio.rs -------------------------------------------------------------------------------- /os/src/drivers/device_tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/drivers/device_tree.rs -------------------------------------------------------------------------------- /os/src/drivers/driver.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/drivers/driver.rs -------------------------------------------------------------------------------- /os/src/drivers/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/drivers/mod.rs -------------------------------------------------------------------------------- /os/src/entry.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/entry.asm -------------------------------------------------------------------------------- /os/src/fs/config.rs: -------------------------------------------------------------------------------- 1 | //! 文件系统的配置信息 2 | 3 | /// 块设备的 Cache 块个数 4 | pub const BLOCK_CACHE_CAPACITY: usize = 0x10; 5 | -------------------------------------------------------------------------------- /os/src/fs/inode_ext.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/fs/inode_ext.rs -------------------------------------------------------------------------------- /os/src/fs/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/fs/mod.rs -------------------------------------------------------------------------------- /os/src/fs/stdin.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/fs/stdin.rs -------------------------------------------------------------------------------- /os/src/fs/stdout.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/fs/stdout.rs -------------------------------------------------------------------------------- /os/src/interrupt/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/interrupt/context.rs -------------------------------------------------------------------------------- /os/src/interrupt/handler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/interrupt/handler.rs -------------------------------------------------------------------------------- /os/src/interrupt/interrupt.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/interrupt/interrupt.asm -------------------------------------------------------------------------------- /os/src/interrupt/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/interrupt/mod.rs -------------------------------------------------------------------------------- /os/src/interrupt/timer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/interrupt/timer.rs -------------------------------------------------------------------------------- /os/src/kernel/condvar.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/kernel/condvar.rs -------------------------------------------------------------------------------- /os/src/kernel/fs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/kernel/fs.rs -------------------------------------------------------------------------------- /os/src/kernel/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/kernel/mod.rs -------------------------------------------------------------------------------- /os/src/kernel/process.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/kernel/process.rs -------------------------------------------------------------------------------- /os/src/kernel/syscall.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/kernel/syscall.rs -------------------------------------------------------------------------------- /os/src/linker.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/linker.ld -------------------------------------------------------------------------------- /os/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/main.rs -------------------------------------------------------------------------------- /os/src/memory/address.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/address.rs -------------------------------------------------------------------------------- /os/src/memory/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/config.rs -------------------------------------------------------------------------------- /os/src/memory/frame/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/frame/allocator.rs -------------------------------------------------------------------------------- /os/src/memory/frame/frame_tracker.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/frame/frame_tracker.rs -------------------------------------------------------------------------------- /os/src/memory/frame/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/frame/mod.rs -------------------------------------------------------------------------------- /os/src/memory/heap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/heap.rs -------------------------------------------------------------------------------- /os/src/memory/mapping/mapping.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/mapping/mapping.rs -------------------------------------------------------------------------------- /os/src/memory/mapping/memory_set.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/mapping/memory_set.rs -------------------------------------------------------------------------------- /os/src/memory/mapping/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/mapping/mod.rs -------------------------------------------------------------------------------- /os/src/memory/mapping/page_table.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/mapping/page_table.rs -------------------------------------------------------------------------------- /os/src/memory/mapping/page_table_entry.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/mapping/page_table_entry.rs -------------------------------------------------------------------------------- /os/src/memory/mapping/segment.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/mapping/segment.rs -------------------------------------------------------------------------------- /os/src/memory/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/mod.rs -------------------------------------------------------------------------------- /os/src/memory/range.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/memory/range.rs -------------------------------------------------------------------------------- /os/src/panic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/panic.rs -------------------------------------------------------------------------------- /os/src/process/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/process/config.rs -------------------------------------------------------------------------------- /os/src/process/kernel_stack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/process/kernel_stack.rs -------------------------------------------------------------------------------- /os/src/process/lock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/process/lock.rs -------------------------------------------------------------------------------- /os/src/process/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/process/mod.rs -------------------------------------------------------------------------------- /os/src/process/process.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/process/process.rs -------------------------------------------------------------------------------- /os/src/process/processor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/process/processor.rs -------------------------------------------------------------------------------- /os/src/process/thread.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/process/thread.rs -------------------------------------------------------------------------------- /os/src/sbi.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/os/src/sbi.rs -------------------------------------------------------------------------------- /rust-toolchain: -------------------------------------------------------------------------------- 1 | nightly-2020-06-27 -------------------------------------------------------------------------------- /user/.cargo/config: -------------------------------------------------------------------------------- 1 | # 编译的目标平台 2 | [build] 3 | target = "riscv64imac-unknown-none-elf" 4 | -------------------------------------------------------------------------------- /user/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/user/Cargo.toml -------------------------------------------------------------------------------- /user/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/user/Makefile -------------------------------------------------------------------------------- /user/src/bin/hello_world.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/user/src/bin/hello_world.rs -------------------------------------------------------------------------------- /user/src/bin/notebook.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/user/src/bin/notebook.rs -------------------------------------------------------------------------------- /user/src/config.rs: -------------------------------------------------------------------------------- 1 | /// 每个用户进程所用的堆大小(1M) 2 | pub const USER_HEAP_SIZE: usize = 0x10_0000; 3 | -------------------------------------------------------------------------------- /user/src/console.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/user/src/console.rs -------------------------------------------------------------------------------- /user/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/user/src/lib.rs -------------------------------------------------------------------------------- /user/src/syscall.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rcore-os/rCore-Tutorial/HEAD/user/src/syscall.rs --------------------------------------------------------------------------------