├── .github └── workflows │ └── deploy.yml ├── .gitignore ├── .prettierrc.json ├── LICENSE ├── README.md ├── docs ├── css │ ├── extra.css │ ├── fonts.css │ └── inst.css ├── fonts │ ├── 4c204432.woff2 │ ├── 4e44607d.woff2 │ ├── 7c53386f.woff2 │ ├── 9f48e746.woff2 │ ├── a6e389bf.woff2 │ └── ecefdeb1.woff2 ├── general │ ├── faq.md │ ├── help.md │ ├── specification.md │ └── typst.md ├── index.md ├── labs │ ├── 0x00 │ │ ├── index.md │ │ └── tasks.md │ ├── 0x01 │ │ ├── index.md │ │ └── tasks.md │ ├── 0x02 │ │ ├── index.md │ │ └── tasks.md │ ├── 0x03 │ │ ├── index.md │ │ └── tasks.md │ ├── 0x04 │ │ ├── index.md │ │ └── tasks.md │ ├── 0x05 │ │ ├── index.md │ │ └── tasks.md │ ├── 0x06 │ │ ├── index.md │ │ └── tasks.md │ ├── 0x07 │ │ ├── index.md │ │ └── tasks.md │ ├── 0x08 │ │ └── index.md │ └── assets │ │ ├── proc.png │ │ └── storage.png ├── overrides │ └── partials │ │ └── comments.html ├── scripts │ └── katex.js └── wiki │ ├── apic.md │ ├── assets │ ├── debug │ │ ├── gdb-commands-example.png │ │ ├── gef-screenshot.png │ │ └── vscode-screenshot.jpg │ └── fat │ │ ├── directory-structure.png │ │ ├── fat-sector.png │ │ ├── fat-structure.png │ │ └── file-structure.png │ ├── ata.md │ ├── debug.md │ ├── elf.md │ ├── fat.md │ ├── fs.md │ ├── interrupts.md │ ├── linux.md │ ├── paging.md │ ├── qemu.md │ ├── rust.md │ ├── structures.md │ ├── uart.md │ ├── uefi.md │ ├── userspace.md │ └── windows.md ├── mkdocs.yml ├── src ├── 0x00 │ ├── .gitignore │ ├── Cargo.toml │ ├── Makefile │ ├── assets │ │ └── OVMF.fd │ ├── pkg │ │ └── boot │ │ │ ├── .cargo │ │ │ └── config.toml │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ └── main.rs │ ├── rust-toolchain.toml │ └── ysos.py ├── 0x01 │ ├── .gitignore │ ├── Cargo.toml │ ├── Makefile │ ├── pkg │ │ ├── boot │ │ │ ├── .cargo │ │ │ │ └── config.toml │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── allocator.rs │ │ │ │ ├── config.rs │ │ │ │ ├── fs.rs │ │ │ │ ├── lib.rs │ │ │ │ └── main.rs │ │ ├── elf │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ └── lib.rs │ │ └── kernel │ │ │ ├── .cargo │ │ │ └── config.toml │ │ │ ├── Cargo.toml │ │ │ ├── config │ │ │ ├── boot.conf │ │ │ ├── kernel.ld │ │ │ └── x86_64-unknown-none.json │ │ │ └── src │ │ │ ├── drivers │ │ │ ├── mod.rs │ │ │ ├── serial.rs │ │ │ └── uart16550.rs │ │ │ ├── lib.rs │ │ │ ├── main.rs │ │ │ └── utils │ │ │ ├── logger.rs │ │ │ ├── macros.rs │ │ │ └── mod.rs │ ├── rust-toolchain.toml │ └── ysos.py ├── 0x02 │ ├── Cargo.toml │ └── pkg │ │ └── kernel │ │ ├── Cargo.toml │ │ └── src │ │ ├── interrupt │ │ ├── apic │ │ │ ├── ioapic.rs │ │ │ ├── mod.rs │ │ │ └── xapic.rs │ │ ├── consts.rs │ │ ├── exceptions.rs │ │ └── mod.rs │ │ ├── lib.rs │ │ ├── memory │ │ ├── address.rs │ │ ├── allocator.rs │ │ ├── frames.rs │ │ ├── gdt.rs │ │ └── mod.rs │ │ └── utils │ │ └── mod.rs ├── 0x03 │ └── pkg │ │ └── kernel │ │ ├── Cargo.toml │ │ └── src │ │ ├── main.rs │ │ ├── proc │ │ ├── context.rs │ │ ├── data.rs │ │ ├── manager.rs │ │ ├── mod.rs │ │ ├── paging.rs │ │ ├── pid.rs │ │ ├── process.rs │ │ ├── processor.rs │ │ └── vm │ │ │ ├── mod.rs │ │ │ └── stack.rs │ │ └── utils │ │ ├── func.rs │ │ ├── mod.rs │ │ └── regs.rs ├── 0x04 │ ├── Cargo.toml │ ├── Makefile │ └── pkg │ │ ├── app │ │ ├── .cargo │ │ │ └── config.toml │ │ ├── config │ │ │ ├── app.ld │ │ │ └── x86_64-unknown-ysos.json │ │ └── hello │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ └── main.rs │ │ ├── kernel │ │ └── src │ │ │ ├── interrupt │ │ │ └── syscall │ │ │ │ ├── mod.rs │ │ │ │ └── service.rs │ │ │ ├── main.rs │ │ │ ├── memory │ │ │ └── user.rs │ │ │ └── utils │ │ │ └── resource.rs │ │ ├── lib │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── allocator.rs │ │ │ ├── io.rs │ │ │ ├── lib.rs │ │ │ ├── macros.rs │ │ │ └── syscall.rs │ │ └── syscall │ │ ├── Cargo.toml │ │ └── src │ │ ├── lib.rs │ │ └── macros.rs ├── 0x05 │ └── pkg │ │ ├── app │ │ └── counter │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ └── main.rs │ │ ├── kernel │ │ └── src │ │ │ └── proc │ │ │ └── sync.rs │ │ └── lib │ │ └── src │ │ └── sync.rs ├── 0x06 │ └── pkg │ │ ├── kernel │ │ └── src │ │ │ └── drivers │ │ │ ├── ata │ │ │ ├── bus.rs │ │ │ ├── consts.rs │ │ │ └── mod.rs │ │ │ └── filesystem.rs │ │ └── storage │ │ ├── Cargo.toml │ │ └── src │ │ ├── common │ │ ├── block.rs │ │ ├── device.rs │ │ ├── error.rs │ │ ├── filehandle.rs │ │ ├── filesystem.rs │ │ ├── io.rs │ │ ├── macros.rs │ │ ├── metadata.rs │ │ ├── mod.rs │ │ └── mount.rs │ │ ├── fs │ │ ├── fat16 │ │ │ ├── bpb.rs │ │ │ ├── directory.rs │ │ │ ├── direntry.rs │ │ │ ├── file.rs │ │ │ ├── impls.rs │ │ │ └── mod.rs │ │ └── mod.rs │ │ ├── lib.rs │ │ └── partition │ │ ├── mbr │ │ ├── entry.rs │ │ └── mod.rs │ │ └── mod.rs └── 0x07 │ └── pkg │ ├── kernel │ └── src │ │ └── proc │ │ └── vm │ │ ├── heap.rs │ │ └── mod.rs │ └── lib │ ├── Cargo.toml │ └── src │ ├── allocator │ ├── brk.rs │ ├── kernel.rs │ └── mod.rs │ ├── lib.rs │ └── macros.rs └── template ├── README.md ├── functions ├── booktab.typ ├── fonts.typ └── helpers.typ ├── images └── sysu.png ├── report.typ ├── shared.typ └── usage.typ /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/README.md -------------------------------------------------------------------------------- /docs/css/extra.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/css/extra.css -------------------------------------------------------------------------------- /docs/css/fonts.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/css/fonts.css -------------------------------------------------------------------------------- /docs/css/inst.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/css/inst.css -------------------------------------------------------------------------------- /docs/fonts/4c204432.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/fonts/4c204432.woff2 -------------------------------------------------------------------------------- /docs/fonts/4e44607d.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/fonts/4e44607d.woff2 -------------------------------------------------------------------------------- /docs/fonts/7c53386f.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/fonts/7c53386f.woff2 -------------------------------------------------------------------------------- /docs/fonts/9f48e746.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/fonts/9f48e746.woff2 -------------------------------------------------------------------------------- /docs/fonts/a6e389bf.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/fonts/a6e389bf.woff2 -------------------------------------------------------------------------------- /docs/fonts/ecefdeb1.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/fonts/ecefdeb1.woff2 -------------------------------------------------------------------------------- /docs/general/faq.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/general/faq.md -------------------------------------------------------------------------------- /docs/general/help.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/general/help.md -------------------------------------------------------------------------------- /docs/general/specification.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/general/specification.md -------------------------------------------------------------------------------- /docs/general/typst.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/general/typst.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/labs/0x00/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x00/index.md -------------------------------------------------------------------------------- /docs/labs/0x00/tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x00/tasks.md -------------------------------------------------------------------------------- /docs/labs/0x01/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x01/index.md -------------------------------------------------------------------------------- /docs/labs/0x01/tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x01/tasks.md -------------------------------------------------------------------------------- /docs/labs/0x02/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x02/index.md -------------------------------------------------------------------------------- /docs/labs/0x02/tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x02/tasks.md -------------------------------------------------------------------------------- /docs/labs/0x03/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x03/index.md -------------------------------------------------------------------------------- /docs/labs/0x03/tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x03/tasks.md -------------------------------------------------------------------------------- /docs/labs/0x04/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x04/index.md -------------------------------------------------------------------------------- /docs/labs/0x04/tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x04/tasks.md -------------------------------------------------------------------------------- /docs/labs/0x05/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x05/index.md -------------------------------------------------------------------------------- /docs/labs/0x05/tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x05/tasks.md -------------------------------------------------------------------------------- /docs/labs/0x06/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x06/index.md -------------------------------------------------------------------------------- /docs/labs/0x06/tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x06/tasks.md -------------------------------------------------------------------------------- /docs/labs/0x07/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x07/index.md -------------------------------------------------------------------------------- /docs/labs/0x07/tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x07/tasks.md -------------------------------------------------------------------------------- /docs/labs/0x08/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/0x08/index.md -------------------------------------------------------------------------------- /docs/labs/assets/proc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/assets/proc.png -------------------------------------------------------------------------------- /docs/labs/assets/storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/labs/assets/storage.png -------------------------------------------------------------------------------- /docs/overrides/partials/comments.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/overrides/partials/comments.html -------------------------------------------------------------------------------- /docs/scripts/katex.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/scripts/katex.js -------------------------------------------------------------------------------- /docs/wiki/apic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/apic.md -------------------------------------------------------------------------------- /docs/wiki/assets/debug/gdb-commands-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/assets/debug/gdb-commands-example.png -------------------------------------------------------------------------------- /docs/wiki/assets/debug/gef-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/assets/debug/gef-screenshot.png -------------------------------------------------------------------------------- /docs/wiki/assets/debug/vscode-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/assets/debug/vscode-screenshot.jpg -------------------------------------------------------------------------------- /docs/wiki/assets/fat/directory-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/assets/fat/directory-structure.png -------------------------------------------------------------------------------- /docs/wiki/assets/fat/fat-sector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/assets/fat/fat-sector.png -------------------------------------------------------------------------------- /docs/wiki/assets/fat/fat-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/assets/fat/fat-structure.png -------------------------------------------------------------------------------- /docs/wiki/assets/fat/file-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/assets/fat/file-structure.png -------------------------------------------------------------------------------- /docs/wiki/ata.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/ata.md -------------------------------------------------------------------------------- /docs/wiki/debug.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/debug.md -------------------------------------------------------------------------------- /docs/wiki/elf.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/elf.md -------------------------------------------------------------------------------- /docs/wiki/fat.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/fat.md -------------------------------------------------------------------------------- /docs/wiki/fs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/fs.md -------------------------------------------------------------------------------- /docs/wiki/interrupts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/interrupts.md -------------------------------------------------------------------------------- /docs/wiki/linux.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/linux.md -------------------------------------------------------------------------------- /docs/wiki/paging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/paging.md -------------------------------------------------------------------------------- /docs/wiki/qemu.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/qemu.md -------------------------------------------------------------------------------- /docs/wiki/rust.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/rust.md -------------------------------------------------------------------------------- /docs/wiki/structures.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/structures.md -------------------------------------------------------------------------------- /docs/wiki/uart.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/uart.md -------------------------------------------------------------------------------- /docs/wiki/uefi.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/uefi.md -------------------------------------------------------------------------------- /docs/wiki/userspace.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/userspace.md -------------------------------------------------------------------------------- /docs/wiki/windows.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/docs/wiki/windows.md -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /src/0x00/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x00/.gitignore -------------------------------------------------------------------------------- /src/0x00/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x00/Cargo.toml -------------------------------------------------------------------------------- /src/0x00/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x00/Makefile -------------------------------------------------------------------------------- /src/0x00/assets/OVMF.fd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x00/assets/OVMF.fd -------------------------------------------------------------------------------- /src/0x00/pkg/boot/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x00/pkg/boot/.cargo/config.toml -------------------------------------------------------------------------------- /src/0x00/pkg/boot/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x00/pkg/boot/Cargo.toml -------------------------------------------------------------------------------- /src/0x00/pkg/boot/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x00/pkg/boot/src/main.rs -------------------------------------------------------------------------------- /src/0x00/rust-toolchain.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x00/rust-toolchain.toml -------------------------------------------------------------------------------- /src/0x00/ysos.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x00/ysos.py -------------------------------------------------------------------------------- /src/0x01/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/.gitignore -------------------------------------------------------------------------------- /src/0x01/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/Cargo.toml -------------------------------------------------------------------------------- /src/0x01/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/Makefile -------------------------------------------------------------------------------- /src/0x01/pkg/boot/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/boot/.cargo/config.toml -------------------------------------------------------------------------------- /src/0x01/pkg/boot/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/boot/Cargo.toml -------------------------------------------------------------------------------- /src/0x01/pkg/boot/src/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/boot/src/allocator.rs -------------------------------------------------------------------------------- /src/0x01/pkg/boot/src/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/boot/src/config.rs -------------------------------------------------------------------------------- /src/0x01/pkg/boot/src/fs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/boot/src/fs.rs -------------------------------------------------------------------------------- /src/0x01/pkg/boot/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/boot/src/lib.rs -------------------------------------------------------------------------------- /src/0x01/pkg/boot/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/boot/src/main.rs -------------------------------------------------------------------------------- /src/0x01/pkg/elf/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/elf/Cargo.toml -------------------------------------------------------------------------------- /src/0x01/pkg/elf/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/elf/src/lib.rs -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/.cargo/config.toml -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/Cargo.toml -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/config/boot.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/config/boot.conf -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/config/kernel.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/config/kernel.ld -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/config/x86_64-unknown-none.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/config/x86_64-unknown-none.json -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/src/drivers/mod.rs: -------------------------------------------------------------------------------- 1 | mod uart16550; 2 | pub mod serial; 3 | -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/src/drivers/serial.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/src/drivers/serial.rs -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/src/drivers/uart16550.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/src/drivers/uart16550.rs -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/src/lib.rs -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/src/main.rs -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/src/utils/logger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/src/utils/logger.rs -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/src/utils/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/src/utils/macros.rs -------------------------------------------------------------------------------- /src/0x01/pkg/kernel/src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/pkg/kernel/src/utils/mod.rs -------------------------------------------------------------------------------- /src/0x01/rust-toolchain.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/rust-toolchain.toml -------------------------------------------------------------------------------- /src/0x01/ysos.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x01/ysos.py -------------------------------------------------------------------------------- /src/0x02/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/Cargo.toml -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/Cargo.toml -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/interrupt/apic/ioapic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/interrupt/apic/ioapic.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/interrupt/apic/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/interrupt/apic/mod.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/interrupt/apic/xapic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/interrupt/apic/xapic.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/interrupt/consts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/interrupt/consts.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/interrupt/exceptions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/interrupt/exceptions.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/interrupt/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/interrupt/mod.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/lib.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/memory/address.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/memory/address.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/memory/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/memory/allocator.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/memory/frames.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/memory/frames.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/memory/gdt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/memory/gdt.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/memory/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/memory/mod.rs -------------------------------------------------------------------------------- /src/0x02/pkg/kernel/src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x02/pkg/kernel/src/utils/mod.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/Cargo.toml -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/main.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/proc/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/proc/context.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/proc/data.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/proc/data.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/proc/manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/proc/manager.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/proc/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/proc/mod.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/proc/paging.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/proc/paging.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/proc/pid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/proc/pid.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/proc/process.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/proc/process.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/proc/processor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/proc/processor.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/proc/vm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/proc/vm/mod.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/proc/vm/stack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/proc/vm/stack.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/utils/func.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/utils/func.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/utils/mod.rs -------------------------------------------------------------------------------- /src/0x03/pkg/kernel/src/utils/regs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x03/pkg/kernel/src/utils/regs.rs -------------------------------------------------------------------------------- /src/0x04/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/Cargo.toml -------------------------------------------------------------------------------- /src/0x04/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/Makefile -------------------------------------------------------------------------------- /src/0x04/pkg/app/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/app/.cargo/config.toml -------------------------------------------------------------------------------- /src/0x04/pkg/app/config/app.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/app/config/app.ld -------------------------------------------------------------------------------- /src/0x04/pkg/app/config/x86_64-unknown-ysos.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/app/config/x86_64-unknown-ysos.json -------------------------------------------------------------------------------- /src/0x04/pkg/app/hello/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/app/hello/Cargo.toml -------------------------------------------------------------------------------- /src/0x04/pkg/app/hello/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/app/hello/src/main.rs -------------------------------------------------------------------------------- /src/0x04/pkg/kernel/src/interrupt/syscall/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/kernel/src/interrupt/syscall/mod.rs -------------------------------------------------------------------------------- /src/0x04/pkg/kernel/src/interrupt/syscall/service.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/kernel/src/interrupt/syscall/service.rs -------------------------------------------------------------------------------- /src/0x04/pkg/kernel/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/kernel/src/main.rs -------------------------------------------------------------------------------- /src/0x04/pkg/kernel/src/memory/user.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/kernel/src/memory/user.rs -------------------------------------------------------------------------------- /src/0x04/pkg/kernel/src/utils/resource.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/kernel/src/utils/resource.rs -------------------------------------------------------------------------------- /src/0x04/pkg/lib/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/lib/Cargo.toml -------------------------------------------------------------------------------- /src/0x04/pkg/lib/src/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/lib/src/allocator.rs -------------------------------------------------------------------------------- /src/0x04/pkg/lib/src/io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/lib/src/io.rs -------------------------------------------------------------------------------- /src/0x04/pkg/lib/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/lib/src/lib.rs -------------------------------------------------------------------------------- /src/0x04/pkg/lib/src/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/lib/src/macros.rs -------------------------------------------------------------------------------- /src/0x04/pkg/lib/src/syscall.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/lib/src/syscall.rs -------------------------------------------------------------------------------- /src/0x04/pkg/syscall/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/syscall/Cargo.toml -------------------------------------------------------------------------------- /src/0x04/pkg/syscall/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/syscall/src/lib.rs -------------------------------------------------------------------------------- /src/0x04/pkg/syscall/src/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x04/pkg/syscall/src/macros.rs -------------------------------------------------------------------------------- /src/0x05/pkg/app/counter/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x05/pkg/app/counter/Cargo.toml -------------------------------------------------------------------------------- /src/0x05/pkg/app/counter/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x05/pkg/app/counter/src/main.rs -------------------------------------------------------------------------------- /src/0x05/pkg/kernel/src/proc/sync.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x05/pkg/kernel/src/proc/sync.rs -------------------------------------------------------------------------------- /src/0x05/pkg/lib/src/sync.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x05/pkg/lib/src/sync.rs -------------------------------------------------------------------------------- /src/0x06/pkg/kernel/src/drivers/ata/bus.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/kernel/src/drivers/ata/bus.rs -------------------------------------------------------------------------------- /src/0x06/pkg/kernel/src/drivers/ata/consts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/kernel/src/drivers/ata/consts.rs -------------------------------------------------------------------------------- /src/0x06/pkg/kernel/src/drivers/ata/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/kernel/src/drivers/ata/mod.rs -------------------------------------------------------------------------------- /src/0x06/pkg/kernel/src/drivers/filesystem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/kernel/src/drivers/filesystem.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/Cargo.toml -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/common/block.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/common/block.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/common/device.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/common/device.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/common/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/common/error.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/common/filehandle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/common/filehandle.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/common/filesystem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/common/filesystem.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/common/io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/common/io.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/common/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/common/macros.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/common/metadata.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/common/metadata.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/common/mod.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/common/mount.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/common/mount.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/fs/fat16/bpb.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/fs/fat16/bpb.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/fs/fat16/directory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/fs/fat16/directory.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/fs/fat16/direntry.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/fs/fat16/direntry.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/fs/fat16/file.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/fs/fat16/file.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/fs/fat16/impls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/fs/fat16/impls.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/fs/fat16/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/fs/fat16/mod.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/fs/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod fat16; 2 | -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/lib.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/partition/mbr/entry.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/partition/mbr/entry.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/partition/mbr/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/partition/mbr/mod.rs -------------------------------------------------------------------------------- /src/0x06/pkg/storage/src/partition/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x06/pkg/storage/src/partition/mod.rs -------------------------------------------------------------------------------- /src/0x07/pkg/kernel/src/proc/vm/heap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x07/pkg/kernel/src/proc/vm/heap.rs -------------------------------------------------------------------------------- /src/0x07/pkg/kernel/src/proc/vm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x07/pkg/kernel/src/proc/vm/mod.rs -------------------------------------------------------------------------------- /src/0x07/pkg/lib/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x07/pkg/lib/Cargo.toml -------------------------------------------------------------------------------- /src/0x07/pkg/lib/src/allocator/brk.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x07/pkg/lib/src/allocator/brk.rs -------------------------------------------------------------------------------- /src/0x07/pkg/lib/src/allocator/kernel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x07/pkg/lib/src/allocator/kernel.rs -------------------------------------------------------------------------------- /src/0x07/pkg/lib/src/allocator/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x07/pkg/lib/src/allocator/mod.rs -------------------------------------------------------------------------------- /src/0x07/pkg/lib/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x07/pkg/lib/src/lib.rs -------------------------------------------------------------------------------- /src/0x07/pkg/lib/src/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/src/0x07/pkg/lib/src/macros.rs -------------------------------------------------------------------------------- /template/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/template/README.md -------------------------------------------------------------------------------- /template/functions/booktab.typ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/template/functions/booktab.typ -------------------------------------------------------------------------------- /template/functions/fonts.typ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/template/functions/fonts.typ -------------------------------------------------------------------------------- /template/functions/helpers.typ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/template/functions/helpers.typ -------------------------------------------------------------------------------- /template/images/sysu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/template/images/sysu.png -------------------------------------------------------------------------------- /template/report.typ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/template/report.typ -------------------------------------------------------------------------------- /template/shared.typ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/template/shared.typ -------------------------------------------------------------------------------- /template/usage.typ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YatSenOS/YatSenOS-Tutorial-Volume-2/HEAD/template/usage.typ --------------------------------------------------------------------------------