MCPcopy Index your code
hub / github.com/YatSenOS/YatSenOS-Tutorial-Volume-2

github.com/YatSenOS/YatSenOS-Tutorial-Volume-2 @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
478 symbols 791 edges 93 files 68 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

中山大学 YatSenOS v2 操作系统实验教程

本仓库提供了一套基于 Rust、面向 UEFI 和 x86_64 的操作系统课程实验方案。

本实验设计期望基于低汇编、避免重复造轮子的宗旨,利用 Rust 语言优秀的包管理和底层支持,借助现有的优秀工程化底层封装,为学生提供一个低负担、现代、面向高级语言的操作系统实验指南。

实验反馈

  • 交流实验中遇到的困难:Discussions
  • 提出实验设计的问题:Issues
  • 改善这个实验:Issues-pr

常见问题解答

实验常见问题、设计目的请见 FAQ

Extension points exported contracts — how you extend this code

BlockDevice (Interface)
A block device [2 implementers]
src/0x06/crates/storage/src/common/device.rs
LocalApic (Interface)
(no doc) [1 implementers]
src/0x02/crates/kernel/src/interrupt/apic/mod.rs
Write (Interface)
The `Write` trait allows for writing bytes to a source. NOTE: Leave here to ensure flexibility for the optional lab tas [2 …
src/0x06/crates/storage/src/common/io.rs
FileSystem (Interface)
File system trait [2 implementers]
src/0x06/crates/storage/src/common/filesystem.rs
PartitionTable (Interface)
Partition table trait [1 implementers]
src/0x06/crates/storage/src/partition/mod.rs
Read (Interface)
The `Read` trait allows for reading bytes from a source. [1 implementers]
src/0x06/crates/storage/src/common/io.rs

Core symbols most depended-on inside this repo

execute_command
called by 11
src/0x01/ysos.py
read
called by 10
src/0x03/crates/kernel/src/proc/process.rs
size
called by 9
src/0x06/crates/storage/src/common/block.rs
read
called by 9
src/0x06/crates/storage/src/fs/fat16/file.rs
mapper
called by 7
src/0x03/crates/kernel/src/proc/paging.rs
as_ref
called by 7
src/0x03/crates/kernel/src/proc/context.rs
read
called by 7
src/0x02/crates/kernel/src/interrupt/apic/xapic.rs
exists
called by 6
src/0x06/crates/storage/src/common/mount.rs

Shape

Method 256
Function 144
Class 55
Enum 14
Interface 9

Languages

Rust96%
Python4%

Modules by API surface

src/0x03/crates/kernel/src/proc/process.rs25 symbols
src/0x06/crates/storage/src/fs/fat16/direntry.rs18 symbols
src/0x06/crates/kernel/src/drivers/ata/bus.rs15 symbols
src/0x03/crates/kernel/src/proc/manager.rs15 symbols
src/0x02/crates/kernel/src/interrupt/apic/xapic.rs12 symbols
src/0x01/ysos.py12 symbols
src/0x01/crates/kernel/src/utils/macros.rs12 symbols
src/0x07/crates/kernel/src/proc/vm/mod.rs11 symbols
src/0x05/crates/kernel/src/proc/sync.rs11 symbols
src/0x03/crates/kernel/src/proc/context.rs11 symbols
src/0x02/crates/kernel/src/interrupt/apic/ioapic.rs11 symbols
src/0x04/crates/lib/src/syscall.rs10 symbols

For agents

$ claude mcp add YatSenOS-Tutorial-Volume-2 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact